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.
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