Led knop
Hardware verbinding
Stap 1. Gebruik de Grove-kabel om de Grove - Buzzer aan te sluiten op de PWM-poort en de Grove - Rode LED-knop op D5 van de Base Hat en steek de Hat in de Raspberry Pi.
Stap 2. Verbind de Raspberry Pi met de stroombron met een micro-USB-kabel.
Software programmeren
Stap 1: voer de volgende opdrachten uit om een python-bestand te maken
cd grove.py
nano lesson_2.py
#!/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()
sudo chmod +x lesson_2.py
sudo ./lesson_2.py
Succes
Als alles goed gaat, zult u merken dat wanneer u lang op de LED-knop drukt, de LED uitgaat en de zoemer een lang "Do" -geluid laat horen. Als u er echter één keer op drukt, gaat de LED branden en maakt de zoemer een kort "Do" -geluid.
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 <module>
main()
File "./lesson2.py", line 31, in main
time.sleep(1)
KeyboardInterrupt
^Cpi@raspberrypi:~/grove.py $