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 $

