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, in
    hauptsächlich ()
  Datei "./lektion2.py", Zeile 31, im Hauptverzeichnis
    time.sleep (1)
KeyboardInterrupt
^ Cpi @ himbeerpi: ~ / grove.py $ 

Inhalt

Wir freuen uns auf die Zusammenarbeit mit Ihnen!