Led knop

Les 2: Rode 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 $