Guten Morgen Zusammen,
jetzt muss ich nach ewigem probieren doch noch einen Thread aufmachen. Ich möchte gerne ein OLED-Display durch den Druck auf einen Taster aus- bzw. wieder einschalten. Der Taster funktioniert einwandfrei und ist hier nicht das Problem, sondern wie kann ich Python sagen, dass das Display grade ein- bzw. ausgeschaltet ist. Haber hierzu folgendes probiert (Funktion ist Teil eines größeren Scriptes):
def ScreenSaver():
x = 1 # display on
if not GPIO.input(A_pin):
if x == 1:
# turn display off
disp.command(Adafruit_SSD1306.SSD1306_DISPLAYOFF)
x = 0 # display off
print(x)
elif x == 0:
# turn display on
disp.command(Adafruit_SSD1306.SSD1306_DISPLAYON)
x = 1 # display on
print(x)
Alles anzeigen
Wird der Taster betätigt, wird das Display stets ausgeschaltet und x=0 in der Konsole ausgegeben (wie gewünscht). Betätige ich den Taster aber nochmal, bleibt das Display aus und mir wird nochmal x=0 in der Konsole ausgegeben (Gewünscht wäre, dass sich das Display wieder einschaltet und x=1 ausgegeben wird). Ich glaube, dass das Problem daran liegt, das mit jedem Aufruf der Funktion x wieder auf 1 gesetzt wird und immer nur der erste Teil der if-Abfrage ausgeführt wird. Ich habe aber keine Idee wie ich den aktuellen Status dauerhaft in einer Variable speichern kann.
Hat einer von euch eine Idee dazu? Ich stehe momentan total auf dem Schlauch.
Vielen Dank und viele Grüße
Bra!nPa!N