MCP23017 und Raspberry: Einfache Ampelsteuerung mit Python

Im letzten Teil der Experimente mit dem MCP23017 habe ich beschrieben, wie man eine einfache Ampelsteuerung aufbaut und diese mittels Bash-Skriptes zum Leben erweckt.

Da für die weiteren Experimente die Shell oder auch Bash-Skripte nur für schnelle Tests sinnvoll sind, habe ich für die Steuerung nun ein kleines Python-Programm geschrieben. Ich gehe hier einfach mal davon aus, dass Ihr die entsprechende Entwicklungsumgebung eingebunden habt. Wenn nicht dann gibt es hier eine kurze Beschreibung für die Einbindung der „Python-SMBus“ Library.

Python-Programm „Ampelsteuerung“:
——————————————————————————
#Import verschiedener Libraries
import
smbus
from time import sleep

#Definieren der Variablen und Konstanten
Busnummer = 1
Addresse_MCP1 = 0x27
Setze_PortA = 0x12

#Instanzieren eines I2C Objektes
i2cBus = smbus.SMBus(Busnummer)
#Setzen der IO’s von Port A des MCP23017 auf Ausgang
i2cBus.write_byte_data(Addresse_MCP1, 0x00, 0x00)

#Ampelschaltung in Endlosschleife
while True:
#Hier beginnt die Schleife – Bitte einrücken
print
„Ampel-1 = Gruen / Ampel-2 = Rot“
i2cBus.write_byte_data(Addresse_MCP1, Setze_PortA, 0x21)
sleep(4)
print „Ampel-1 = Gelb / Ampel-2 = Rot-Gelb“
i2cBus.write_byte_data(Addresse_MCP1, Setze_PortA, 0x32)
sleep(1)
print „Ampel-1 = Rot / Ampel-2 = Gruen“
i2cBus.write_byte_data(Addresse_MCP1, Setze_PortA, 0x0C)
sleep(4)
print „Ampel-1 = Rot-Gelb / Ampel-2 = Gelb“
i2cBus.write_byte_data(Addresse_MCP1, Setze_PortA, 0x16)
sleep(1)
#Hier endet die Schleife
——————————————————————————

Achtung: Für Schäden aller Art übernehmen ich keine Haftung.
Für den richtigen Aufbau ist jeder selbst verantwortlich.
Des weiteren kann für die 100 % tige Funktionalität der Bauanleitungen, Software und Schaltpläne nicht garantiert werden, sie sollen nur eine Anregung zum Bau darstellen.
Dieser Beitrag wurde unter Raspberry Pi abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.