HILFE! Mit einer Tastenabfrage auf dem OLED-Screen "sachen" anzeigen lassen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Leute, ich bin neu im Forum, sowie auch neu in der Programmiersprache Python. Ich lerne zurzeit auf meiner Schule Programmieren, (kein Python) da haben wir jetzt die Aufgabe ein Projekt zu erstellen. Ich will einen Cocktailmixer, Getränkeautomat, Bartender oder wie ihr ihn auch nennen wollt bauen.

    Ich bin allgemein nicht der Beste wenn es um das Programmieren geht.

    Also kommen wir mal zu meinem Problem.

    Ich wollte eine Abfrage machen, die sagt wenn der Button betätigt wurde, dass ein Counter hochgezählt wird. dann solll abgefragt werden wenn counter zbs. 1 ist, dass dann das Getränk 1 auf dem OLED-Screen angezeigt wird und immer so weiter bis er wieder zum Anfang kommt. Dann hab ich jetzt mal was Programmiert was aber leider nicht funktioniert. Es wird nur die Border ohne Text angezeigt. Meine Frage wäre dann hier wieso funktioniert es nicht und wie mache ich es das es funktioniert. Erklärungen dazu wären auch sehr nett, da ich noch am Anfang der Programmier Szene stehe. :helpnew:

    Hier seht ihr meinen CODE:

    import RPi.GPIO as GPIO

    from time import sleep

    from luma.core.interface.serial import i2c, spi, pcf8574

    from luma.core.interface.parallel import bitbang_6800

    from luma.core.render import canvas

    from luma.oled.device import sh1106

    #GPIO

    GPIO.setmode(GPIO.BCM)

    GPIO.setwarnings(False)

    #Screen

    serial = i2c(port=1, address=0x3C)

    device = sh1106(serial)

    with canvas(device) as draw:

    draw.rectangle(device.bounding_box, outline="white", fill="black")

    #Button

    btn = 5

    GPIO.setup(btn, GPIO.IN, pull_up_down=GPIO.PUD_UP)

    #Count Variable

    count = 0

    try:

    while True:

    if GPIO.input(btn) == True :

    count = count + 1

    sleep (0.5)

    elif count == 0:

    draw.text((50, 25), "Wählen sie ein Getränk", fill="white")

    elif count ==1:

    draw.text((50, 25), "Vodka", fill="white")

    elif count ==2:

    draw.text((50, 25), "Gin", fill="white")

    elif count == 3:

    draw.text((50, 25), "Whiskey", fill="white")

    elif count ==4:

    draw.text((50, 25), "Rum", fill="white")

    elif count == 5:

    draw.text((50, 25), "REINIGUNG", fill="white")

    elif count >5:

    count = 0;

    else:

    draw.text((50, 25), "Wählen sie ein Getränk", fill="white")

    finally:

    GPIO.cleanup()

    Ich freue mich schon auf eure Rückmeldungen!

    Liebe Grüße :)

  • HILFE! Mit einer Tastenabfrage auf dem OLED-Screen "sachen" anzeigen lassen? Schau mal ob du hier fündig wirst!

    • Offizieller Beitrag

    Hallo DenisKam,

    willkommen im Forum!

    Du siehst ja, dass bei dem Code die Einrückungen weg sind. Lies mal bitte das hier Wie frage ich nach Hilfe? bezüglich "HILFE!" und Code und bearbeite Deinen Beitrag und den Titel... Du bist ja neu hier und hast das bestimmt nur übersehen. ;)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!