Herunterladen Inhalt Inhalt Diese Seite drucken

Renkforce RASPBERRY PI 3 Anleitung Seite 21

Experiment-set
Inhaltsverzeichnis

Werbung

Anstatt , dass ein Knopf gedrückt werden muss um die LED leuchten zu lassen, kann
auch das PIR-Modul verwendet, was die Funktion eines Bewegungsmelders
beinhaltet. Geben Sie folgenden Befehl...
nano PIR_LED_Test.py
... in die Konsole ein, um die Datei „PIR_LED_Test.py" zu erstellen und kopieren Sie
das unten stehende Codebeispiel in den Editor.
# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# Hier wird der Eingangs-Pin deklariert, an dem der PIR-Sensor
# angeschlossen ist. Vorkonfiguriert ist hierbei der LinkerKit Port:
# [12|13|V|G]
GPIO_PIN = 4
GPIO.setup(GPIO_PIN, GPIO.IN)
# Hier wird der Ausgangs-Pin deklariert, an dem z.B. eine Ausgabe LED
# oder ein LinkerKit Buzzer angeschlossen ist. Vorkonfiguriert ist
# hierbei der LinkerKit Port: [15|16|V|G]
OUTPUT_PIN = 24
GPIO.setup(OUTPUT_PIN, GPIO.OUT)
print "PIR-Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]"
# Diese AusgabeFunktion wird bei Signaldetektion ausgefuehrt
def ausgabeFunktion(null):
print("Bewegung erkannt")
# Das Hauptprogramm wird solange unterbrochen, solang der
# Sensor an seinem Ausgang die Detektion der Bewegung ausgibt
# (3s). Dabei wird am Ausgangs-Pin ebenfalls ein Signal
# ausgegeben...
GPIO.output(OUTPUT_PIN,True)
while (GPIO.input(GPIO_PIN)):
time.sleep(1)
# ...und danach wieder ausgeschaltet
GPIO.output(OUTPUT_PIN,False)
# Beim Detektieren eines Signals (fallende Signalflanke) wird die
# Ausgabefunktion ausgeloest
GPIO.add_event_detect(GPIO_PIN, GPIO.RISING, callback=ausgabeFunktion, bouncetime=100)
# Hauptprogrammschleife
try:
while True:
time.sleep(1)
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
GPIO.cleanup()
Seite 21

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis