Eine LED Blinkt

Nachdem ich in der vergangenen Woche meinen Raspberry Pi mit einem LCD-Touchdisplay in Betrieb genommen habe, ging es in dieser Woche daran einmal eine  LED zum blinken zu bekommen.

 

RASPBERRY PI 3 - Raspberry Pi 3 B, 4x 1,2 GHz, 1 GB RAM, WLAN, BT
Preis nicht verfügbar Jetzt kaufen bei (1244)!*
Preis inkl. MwSt., zzgl. Versandkosten
Zuletzt aktualisiert am 4. Dezember 2019 um 02:41 . Wir weisen darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.

 

RASP 3 BDL 7TD - Raspberry Pi 3 B+ inkl. 7'' Touch-Display & Gehäuse
Preis nicht verfügbar Jetzt kaufen bei (1244)!*
Preis inkl. MwSt., zzgl. Versandkosten
Zuletzt aktualisiert am 4. Dezember 2019 um 02:41 . Wir weisen darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.

 

Als erstes habe ich festgestellt, dass es ich das Display wieder entferne und den Raspberry pi ersteinmal ohne dieses weiter benutzen werde.

Digitale Ein- und Ausgänge über GPIO

Der Raspberry hat bereits ein und Ausgänge an Bord diese Schnittstelle wird GPIO genannt. Über die Programmierung wird entschieden ob ein Pin auf der Leiste als Ausgang oder Eingang fungiert. Die Ein- und Ausgänge müssen Lastfrei gescahlten werden. Zudem sollte auf die jeweilige Eingangsspannung geachtet werden um den Raspberry nicht zu zerstören.

Auf die Beschaltung werde ich später nochmals eingehen.

Ein wichtiger Hinweis sei noch vorweg geschoben – die GPIO – Leiste kann nur Digitale Signale verarbeiten.

I2C-Bus

Nein ich rede nicht von einer Zug oder Buslinie. Der I2C-Bus ist ein Bussystem welches ebenfalls über die Pinleiste des Raspberry Pi läuft. Für diesen Bus gibt es spezielle Sensoten welche an diesen Bus angeschlossen werden und anschließend im in der Software abgefragt werden können. Ich habe mir jetzt zum Testen zwei entsprechende Senosren bestellt um euch darüber in einem meiner nächsten Beträge zu berichten.

Ein- und Ausgänge über WLAN steuern

Der von mir genutzte Raspberry hat ein WLAN an Bord bei der suche nach einer Möglichkeit Aktoren zu steuern und Sensoren auszulesen, bin ich über eine WLAN Schnittstelle mit Digitalen Ein- uns Ausgängen stolpert. Vom lesen in -einschlägigenen Foren klingt das System nicht schlecht aus diesem Grunde habe ich mir auch hier einen Satz zum Programieren bestellt. Über die Benutzung dieser werde ich ebenfalls berichten.

ARD SENSOR KIT-2 - Arduino - 4duino Sensor-Kit 40 in 1, Sensoren und Module
Preis nicht verfügbar Jetzt kaufen bei (1244)!*
Preis inkl. MwSt., zzgl. Versandkosten
Zuletzt aktualisiert am 4. Dezember 2019 um 02:41 . Wir weisen darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.

 

GPIO die erste LED leuchtet

Wie bereits oben beschrieben, werde ich nun erst einmal auf dem Schreibtisch kleinere Versuchsaufbauten machen um diese anschließend mit den Sensoren und entsprechenden Schaltern im Wohnwagen umzusetzen.

Aus diesem Grunde habe ich als erstes mit der GPIO Leiste eine LED angesteuert. Das Ein- und Ausschalten habe ich über zwei Schaltflächen auf dem Monitor verwirklicht.

Der Elektrische Anschluss

Wenn man einen GPIO schaltet liefert dieser eine Spannung von 3,3V und darf mit ca. 50mA belastet. werden. Dies hat zur Folge, dass ich später Relais oder über entsprechende Optokoppler schalten werde. Für eine LED wird ein entsprechender Vorwiderstand benötigt.

Um Eingänge einzulesen muss ebenfalls darauf geachtet werden, dass nicht zu viel Spannung auf die GPIO Pins kommt, da diese die Pi zerstören können.

 

Die LED an und abschalten

In meinem Ersten Programm möchte ich eine LED an und Ausschalten. Hierzu schließe ich eine LED an den GND PIN und an einen zuvor von mir ausgedachten Ausgang. Den Vorwiderstand nicht vergessen. Die von mir verlinkten Experimentierbords enthalten diese entsprechend.

Alternativ könnte man auch einen Eingang beschalten um ein Digitales Signal abzufragen. Dieses wird zum Beispiel nötig um den Magnetschalter der Toilette später abzufragen.

Um das Programm zu starten und zu testen benutze ich die mit dem Raspberry mitgelieferte Software Tommy.

 

Der Programmcode

In einem ersten Schritt müssen die benötigten Bibliotheken geladen werden:

Kommentierungen im Programm werden durch einen # angezeigt. Diese Kommentierungen helfen sehr gut um die Übersicht zu behalten.

Quellcode schreibe ich zukünftig in grüner Farbe:

from tkinter import * #Bibliothek für Grafische Oberfläche

import RPi.GPIO as GPIO #Bibliothek für die Nutzung der GPIO laden

GPIO.setmode(GPIO.BCM)

GPIO.setwarnings(False)

GPIO.setup(23, GPIO.OUT) #PIN 4 als Ausgang gesetzt

def anzeige(lb):

    if GPIO.input(4):

        lb.config(text=“GPIO 23 high“)

    else:

        lb.config(text=“GPIO 23 low“)

    lb.after(100, anzeige, lb)

def an():

    GPIO.output(23, 1)     #Pin 4 einschalten

def aus():

    GPIO.output(23, 0)     #Pin 4 ausschalten

 root = Tk()

root.title(„Output GPIO 23“)

Label(root, text=“——————„).pack()

lb = Label(root, text=“Licht schalten“)

lb.pack()

Label(root, text=“——————„).pack()

Button(root, text=“an“, width=40,command=an).pack()

Button(root, text=“aus“,width=40, command=aus).pack()

anzeige(lb)

mainloop()