Hallo,
ich möchte für mein Gewächshaus die Lüftung über ein Programm in Python steuern.
Die Hardware (DHT22, Ausgänge über 8-fach Relay für Motoren und Wendepolschalter,
Eingänge über Optokoppler) habe ich in kleinen Programmen mit Erfolg getestet.
Bei der eigentlichen Programmierung (siehe unten) scheitere ich schon beim Definieren der Ausgänge
in Zeile 48 GPIO.setup(wps2, GPIO.OUT) mit der Meldung: SyntaxError: invalid syntax
Wenn ich diese Zeile mit einem # auskommentiere erschein die selbe Fehlermeldung, nur eben
in Zeile 49 GPIO.setup(mot1, GPIO.OUT).
Kann mir bitte jemand einen Rat geben.
Vielen Dank.
#!/usr/bin/python
# coding=utf-8
import RPi.GPIO as GPIO
import time, sys
# Pin-Nummern verwenden (nicht GPIO-Nummern!)
GPIO.setmode(GPIO.BOARD)
# Pin-Nr. den Variablen zuweisen
# über Relay 1 24V schalten
v24 = 38
# mit Relay 2 und Relay 3 einen Wendepolschalter realisieren
wps1 = 40
wps2 = 15
# mit Relay 4, 5 und 6 die Motoren schalten
mot1 = 16
mot2 = 18
mot3 = 22
# über Kippschalter und Relay 8 die Beleuchtung im Gewächshaus schalten
kipp = 7
licht = 13
# manuelle oder automatische Steuerung des Gewächshauses
man = 26
auto = 24
# rechte oder linke Fensterreihe oder Lamellentür ansprechen
frlinks = 21
frrechts = 19
tuer = 23
# Reed-Kontakt linke Fensterreihe zu
reedlzu = 32
# Reed-Kontakt linke Fensterreihe bei automatischem Betrieb bis Mitte auf
# bzw. bei manuellem Betrieb und drücken des Tasters Fenster auf
reedtasterlinks = 33
# Reed-Kontakt linke Fensterreihe ganz weit auf
reedlmaxauf = 8
# Reed-Kontakt rechte Fensterreihe zu
reedrzu = 36
# Reed-Kontakt rechte Fensterreihe bei automatischem Betrieb bis Mitte auf
# bzw. bei manuellem Betrieb und drücken des Tasters Fenster auf
reedtasterrechts = 11
# Reed-Kontakt rechte Fensterreihe ganz weit auf
reedrmaxauf = 12
# GPIO x als Ausgang setzen
GPIO.setup(v24, GPIO.OUT)
GPIO.setup(wps1, GPIO.OUT
GPIO.setup(wps2, GPIO.OUT)
GPIO.setup(mot1, GPIO.OUT)
GPIO.setup(mot2, GPIO.OUT)
PIO.setup(mot3, GPIO.OUT)
GPIO.setup(licht, GPIO.OUT)
# GPIO x als Eingang setzen
GPIO.setup(kipp, GPIO.IN)
GPIO.setup(man, GPIO.IN)
GPIO.setup(auto, GPIO.IN)
GPIO.setup(frlinks, GPIO.IN)
GPIO.setup(frrechts, GPIO.IN)
GPIO.setup(tuer, GPIO.IN)
GPIO.setup(reedlzu, GPIO.IN)
GPIO.setup(reedtasterlinks, GPIO.IN)
GPIO.setup(reedlmaxauf, GPIO.IN)
GPIO.setup(reedrzu, GPIO.IN)
GPIO.setup(reedtasterrechts, GPIO.IN)
GPIO.setup(reedrmaxauf, GPIO.IN)
# Relays in Grundstellung
GPIO.output(v24, 0)
GPIO.output(wps1, 0)
GPIO.output(wps2, 0)
GPIO.output(mot1, 0)
GPIO.output(mot2, 0)
GPIO.output(mot3, 0)
GPIO.output(licht, 0)
# Variablen definieren
# Wendepolschalter in Richtung auf = 1 / in Richtung zu = 0
wpsaufzu = 0
# Hauptprogramm
# Schleife über alles
while TRUE:
# feststellen, ob automatische oder manuelle Steuerung
input = GPIO.input(man)
while input == 1: # manuelle Steuerung
inlinks = GPIO.input(frlinks)
inrechts = GPIO.input(frrechts)
intuer = GPIO.input(tuer)
if inlinks == 1: # Schalter auf linke Fensterreihe gestellt
intaster = 1
# Motor auswählen und 10 Sekunden laufen lassen
# GPIO.output(mot1, 1)
# time.sleep(1)
# GPIO.output(v24, 1)
# time.sleep(10)
# Motor und Strom abstellen
# GPIO.output(v24, 0)
# GPIO.output(mot1, 0)
# alle Ein- und Ausgänge zurücksetzen
GPIO.cleanup()