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 $