Lektion 2: Rote LED-Taste
Zielsetzung
Verwenden Sie Grove - eine Taste mit einer roten LED, um das Blinken der LED zu steuern und dem Summer zu ermöglichen, verschiedene Soundeffekte zu erzeugen.
Hardwareanforderung
Vorbereiten:
- microUSB-Kabel
- Raspberry Pi 3 Modell B
- Computer
Im Bausatz enthalten
- Grove-Base-Hut
- Grove-Schnur
- Grove - eine Taste mit einer roten LED
- Grove - Summer
Anschließen der Geräte
Schritt 1. Verwenden Sie das Grove-Kabel, um den Grove-Buzzer mit dem PWM-Anschluss und den Grove-roten LED-Knopf mit D5 auf dem Base Hat zu verbinden, und setzen Sie die Kappe auf den Raspberry Pi.
Schritt 2. Verbinden Sie den Raspberry Pi mit dem microUSB-Kabel mit der Stromquelle.
Programmierung
Schritt 1 : Geben Sie die folgenden Befehle ein, um eine Python-Datei zu erstellen
cd grove.py Nano-Lektion_2.py
Schritt 2 : Kopieren Sie den folgenden Code
#! / usr / bin / env python Importzeit aus mraa import getGpioLookup aus upm importiere pyupm_buzzer als upmBuzzer from grove.button import Button aus grove.grove_ryb_led_button import GroveLedButton def main (): # Grove - LED-Taste an Port D5 angeschlossen Taste = GroveLedButton (5) # Grove - Summer an PWM-Port angeschlossen Summer = upmBuzzer.Buzzer (getGpioLookup ('GPIO12')) def on_event (Index, Ereignis, tm): wenn Ereignis & Button.EV_SINGLE_CLICK: Drucken ('einfacher Klick') taste.led.licht (Wahr) buzzer.playSound (upmBuzzer.BUZZER_DO, 500000) elif event & Button.EV_LONG_PRESS: drucken ('langes Drücken') Taste.LED.Licht (Falsch) buzzer.playSound (upmBuzzer.BUZZER_DO, 1000000) button.on_event = on_event während wahr: time.sleep (1) if __name__ == '__main__': hauptsächlich ()
Schritt 3 : Führen Sie das Programm aus
sudo chmod + x Lektion_2.py sudo ./lektion_2.py
Erfolg Wenn alles gut geht, werden Sie feststellen, dass nach langem Drücken der Taste die LED erlischt und der Summer einen langen „Do“-Ton von sich gibt. Nach einmaligem Drücken leuchtet die LED auf und der Summer gibt einen kurzen „Do“-Ton von sich. |
pi @ raspberrypi: ~ /grove.py $ sudo ./lektion_2.py ein einziger Klick ein einziger Klick ein einziger Klick lange drücken ein einziger Klick lange drücken lange drücken Traceback (letzter Aufruf zuletzt): Datei "./lektion2.py", Zeile 34, inhauptsächlich () Datei "./lektion2.py", Zeile 31, im Hauptverzeichnis time.sleep (1) KeyboardInterrupt ^ Cpi @ himbeerpi: ~ / grove.py $