Variablen nicht sofort ausführen lassen
Verfasst: Dienstag 6. August 2013, 19:45
Guten Abend
Ich möchte die Pins des RaspberryPi ansteuern und habe dazu ein kleinen Server geschrieben. Dieser dieser nimmt die Zahlen von 1-17 an und soll dementsprechend die Pins aktivieren. Die ganze Überprüfung sieht so aus:
Um nicht 17 Abfragen schreiben zu müssen möchte ich das die Methoden in einem Array liegen. Diese haben aber jeweils andere Parameter. Nur wenn ich das ganze an den Anfang setze werden alle Pins schon eingeschaltet wie bekomme ich es jetzt so hin das, dass die Methoden erst dann aufgerufen werden wenn ich sie brauche?
Das Array:
Ich möchte die Pins des RaspberryPi ansteuern und habe dazu ein kleinen Server geschrieben. Dieser dieser nimmt die Zahlen von 1-17 an und soll dementsprechend die Pins aktivieren. Die ganze Überprüfung sieht so aus:
Code: Alles auswählen
for i in range(1, 18):
if data in str(i):
if status[i] == 0:
print('Pin Nummer: ' + str(i) + ' AN')
#GPIO.output(3, GPIO.HIGH)
PinAn[i-1]
status[i] = 1
break
else:
print('Pin Nummer: ' + str(i) + ' AUS')
GPIO.output(3, GPIO.LOW)
status[i] = 0
break
Das Array:
Code: Alles auswählen
PinAn = [GPIO.output(3, GPIO.HIGH), GPIO.output(5, GPIO.HIGH), GPIO.output(7, GPIO.HIGH), GPIO.output(8, GPIO.HIGH), GPIO.output(10, GPIO.HIGH), GPIO.output(11, GPIO.HIGH), GPIO.output(12, GPIO.HIGH), GPIO.output(13, GPIO.HIGH), GPIO.output(15, GPIO.HIGH), GPIO.output(16, GPIO.HIGH)]
PinAus = [GPIO.output(3, GPIO.LOW), GPIO.output(5, GPIO.LOW), GPIO.output(7, GPIO.LOW), GPIO.output(8, GPIO.LOW), GPIO.output(10, GPIO.LOW), GPIO.output(11, GPIO.LOW), GPIO.output(12, GPIO.LOW), GPIO.output(13, GPIO.LOW), GPIO.output(15, GPIO.LOW), GPIO.output(16, GPIO.LOW)]