Open form

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

  

  1. cd grove.py
  2. nano lesson_2.py

 

Krok 2: Skopiuj poniższy kod

 

  1. #!/usr/bin/env python
  2.  
  3. import time
  4. from mraa import getGpioLookup
  5. from upm import pyupm_buzzer as upmBuzzer
  6.  
  7. from grove.button import Button
  8. from grove.grove_ryb_led_button import GroveLedButton
  9.  
  10. def main():
  11. # Grove - LED Button connected to port D5
  12. button = GroveLedButton(5)
  13.  
  14. # Grove - Buzzer connected to PWM port
  15. buzzer = upmBuzzer.Buzzer(getGpioLookup('GPIO12'))
  16.  
  17. def on_event(index, event, tm):
  18. if event & Button.EV_SINGLE_CLICK:
  19. print('single click')
  20. button.led.light(True)
  21. buzzer.playSound(upmBuzzer.BUZZER_DO, 500000)
  22.  
  23. elif event & Button.EV_LONG_PRESS:
  24. print('long press')
  25. button.led.light(False)
  26. buzzer.playSound(upmBuzzer.BUZZER_DO, 1000000)
  27.  
  28. button.on_event = on_event
  29.  
  30. while True:
  31. time.sleep(1)
  32.  
  33. if __name__ == '__main__':
  34. main()

 

Krok 3:Uruchom program

 

  1. sudo chmod +x lesson_2.py
  2. 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”.

 

  1. pi@raspberrypi:~/grove.py $ sudo ./lesson_2.py
  2. single click
  3. single click
  4. single click
  5. long press
  6. single click
  7. long press
  8. long press
  9. Traceback (most recent call last):
  10. File "./lesson2.py", line 34, in
  11. main()
  12. File "./lesson2.py", line 31, in main
  13. time.sleep(1)
  14. KeyboardInterrupt
  15. ^Cpi@raspberrypi:~/grove.py $

  

 

  

Spis treści

zapraszamy do współpracy!