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, in
main() File "./lesson2.py", line 31, in main time.sleep(1) KeyboardInterrupt ^Cpi@raspberrypi:~/grove.py $