Moin,
ich würde gerne das Thema noch einmal aufwärmen, denn auch ich vermute die Wurzel meines Problems in einem zu langsamen Skript.
Ich möchte gerne eine LED-Matrix komplett selber bauen. Dafür ist es ja nötig, dass ich die LEDs so ansteuere, dass sie zwar in echt nur einen Bruchteil der Zeit leuchten, es durch die Trägheit des Auges aber wie ein Dauerleuchten aussieht.
Mit einem Arduino habe ich rausgefunden, dass 1ms leuchten und ca. 8ms nicht leuchten funktioniert.
Als ich einen einfachen Code für den Raspberry Pi geschrieben und ihn ausprobiert habe, hat es leider nicht funktioniert und die LED hat geflackert.
Hier der Code:
import RPi.GPIO as GPIO, time
ledPin = 12
ledOnTime = 0.001
GPIO.setmode(GPIO.BOARD)
GPIO.setup(ledPin, GPIO.OUT)
secondsSinceStart = time.time()
while time.time() - secondsSinceStart < 15:
GPIO.output(ledPin, GPIO.HIGH)
time.sleep(ledOnTime)
GPIO.output(ledPin, GPIO.LOW)
time.sleep(ledOnTime * 8)
Alles anzeigen
Das ganze soll auf einem Raspberry Pi Zero W laufen. Derzeit habe ich für das Programmieren noch den Desktop aktiviert und steuere das Ganze über VNC.
Liegt die Langsamkeit des Skripts nur daran oder ist der Zero generell für Codes, die ggf. noch viel Rechenleistung (es muss ja später auch noch die Matrix mit berechneten Daten gefüttert werden) benötigen und trotzdem schnell sein sollen, einfach nicht aus?
Ich habe auch noch einen längeren Code für die Matrix (also nicht nur für eine einzelne LED) inklusive Datenübertragung geschrieben, da kommt mir das Flackern noch heftiger vor.
Ich hoffe, mir kann da jemand weiterhelfen
Gruß Tobi