Lekcja 2: Przycisk z czerwoną diodą LED
Cel
Wykorzystanie Grove - przycisk z czerwoną diodą LED w celu kontrolowania migania diody oraz umożliwienia buzzerowi na generowanie różnych efektów dźwiękowych.
Wymaganie sprzętowe
Przygotuj:
- przewód microUSB
- Raspberry Pi 3 Model B
- Komputer
Zawarte w zestawie
- Grove Base Hat
- Grove przewód
- Grove - przycisk z czerwoną diodą LED
- Grove – Buzzer
Podłączenie sprzętu
Krok 1. Użyj przewód Grove, aby podłączyć Grove - Buzzer do portu PWM i Grove - przycisk z czerwoną diodą LED do D5 na Base Hat i nałóż nakładkę na Raspberry Pi.
Krok 2. Podłącz Raspberry Pi do źródła zasilanie za pomocą przewodu microUSB.
Programowanie
Krok 1: Wpisz poniższe polecenia, aby stworzyć plik Pythona
cd grove.py nano lesson_2.py
Krok 2: Skopiuj poniższy kod
#!/usr/bin/env python
import time
from mraa import getGpioLookup
from upm import pyupm_buzzer as upmBuzzer
from grove.button import Button
from grove.grove_ryb_led_button import GroveLedButton
def main():
# Grove - LED Button connected to port D5
button = GroveLedButton(5)
# Grove - Buzzer connected to PWM port
buzzer = upmBuzzer.Buzzer(getGpioLookup('GPIO12'))
def on_event(index, event, tm):
if event & Button.EV_SINGLE_CLICK:
print('single click')
button.led.light(True)
buzzer.playSound(upmBuzzer.BUZZER_DO, 500000)
elif event & Button.EV_LONG_PRESS:
print('long press')
button.led.light(False)
buzzer.playSound(upmBuzzer.BUZZER_DO, 1000000)
button.on_event = on_event
while True:
time.sleep(1)
if __name__ == '__main__':
main()
Krok 3:Uruchom program
sudo chmod +x lesson_2.py sudo ./lesson_2.py
|
Sukces Jeśli wszystko pójdzie dobrze, przekonasz się, że po dłuższym przytrzymaniu przycisku dioda zgaśnie, a buzzer wyda długi dźwięk „Do”. Natomiast po jednokrotnym naciśnięciu dioda LED zaświeci się, a buzzer wyda krótki dźwięk „Do”. |
pi@raspberrypi:~/grove.py $ sudo ./lesson_2.py single click single click single click long press single click long press long press Traceback (most recent call last): File "./lesson2.py", line 34, inmain() File "./lesson2.py", line 31, in main time.sleep(1) KeyboardInterrupt ^Cpi@raspberrypi:~/grove.py $

