www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
In unseren Beispiel verwenden wir die Programmiersprache
Python
, um
die GPIO-Pins zu steuern. In Python gibt es eine Bibliothek namens
RPi.GPIO.
Dies ist eine Bibliothek, die dabei hil, die Pins mit Python zu
steuern.
Das folgende Beispiel und die Kommentare im Code sollen Ihnen helfen
das Programm zu verstehen.
Als Erstes müssen die benötigten Bibliothek mit Hilfe des import Befehls
importiert werden. Die Variablen TOUCH und BUZZER verweisen auf die
Pins des Touchsensors und des Buzzers. Im Anschluss wird mit
GPIO.setmode(GPIO.BOARD)
das verwendete GPIO Schema definiert. Als
Nächstes werden die zuvor festgelegten Variablen mit Hilfe des Befehls
GPIO.setup()
als Ein- bzw. Ausgang konfiguriert. Pin 11 (TOUCH) wird als
Eingang und Pin 12 (BUZZER) wird als Ausgang festgelegt.
Die Funktion main fragt ab, ob es eine Berührung des Touchsensors gibt.
Ist dies der Fall wird die Funktion do_smt ausgeführt.
Die Funktion do_smt druckt den Text
Touch wurde erkannt
, setzt dann
den Buzzer-Pin
HIGH
und eine Sekunde später wieder
LOW
(der Buzzer
summt eine Sekunde).
import RPi.GPIO as GPIO
import time #importieren der Bibliotheken
import signal
TOUCH = 11 #Deklaration der Pins
BUZZER = 12
def setup_gpio(): #Definition der Ein- und Ausgaenge
GPIO.setmode(GPIO.BOARD)
GPIO.setup(TOUCH, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(BUZZER, GPIO.OUT)
def do_smt(channel): #Funktion zur Ausgabe das Touch erkannt wurde
print(“Touch wurde erkannt“) #und Ausgabe das Touch erkannt wurde
GPIO.output(BUZZER, GPIO.HIGH) #Signalausgabe
time.sleep (1) #1 Sekunde warten
GPIO.output(BUZZER, GPIO.LOW) #Signalausgabe stoppen
def main():
setup_gpio()
try: #Pruefung ob ein Touch erkannt wurde
GPIO.add_event_detect(TOUCH,GPIO.FALLING,callback=do_smt,bouncetime=200)
except KeyboardInterrupt: #STRG + C beendet das Programm
pass
finally:
GPIO.cleanup()
if _name_==‘_main_‘:
main()
Um noch mehr über den Zweck und die Verwendung von GPIOs zu
erfahren, empfehlen wir Ihnen sich die oizielle Dokumentation der
Raspberry Pi Foundation zum Thema GPIO anzuschauen.
https://www.raspberrypi.org/documentation/usage/gpio/