Auf dem Adafruit PiTFT sitzen vier Buttons, die man zur freien Verfügung nutzen kann.
Nun hat es mich gestört, dass nach X Minuten der Bildschirmschoner des X11 angeht, der Bildschirm schwarz wird, aber die Hintergrundbeleuchtung weiter angeschaltet bleibt.
Aktuell suche ich nach einer Möglichkeit, ein Script beim starten oder beenden des Bildschirmschoners auszuführen – bis dahin habe ich mir einen kleinen Workaround gebastelt:
Die Hintergrundbeleuchtung lässt sich per GPIO steuern. Also habe ich ein einfaches Python3-Script geschrieben – eher ein Entwurf als ein fertiges Script – das beim Starten/Stoppen des Pi’s per crontab-Eintrag mitgestartet wird.
Drückt man den rechten Taster (GPIO 18) für etwa 1 Sekunde, schaltet sich die Beleuchtung ab – drückt man erneut, schaltet sie sich wieder ein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import RPi.GPIO as GPIO import os from time import sleep GPIO.setmode(GPIO.BCM) GPIO.setup(18,GPIO.IN, pull_up_down=GPIO.PUD_UP) os.system('sudo sh -c "echo 252 > /sys/class/gpio/export"') os.system('sudo sh -c "echo \'out\' > /sys/class/gpio/gpio252/direction"') # Als Ausgang schalten os.system('sudo sh -c "echo \'1\' > /sys/class/gpio/gpio252/value"') # Display wieder einschalten display_on = True while True: sleep(1) if not GPIO.input(18): if display_on is True: os.system('sudo sh -c "echo \'0\' > /sys/class/gpio/gpio252/value"') display_on = False sleep(1) else: os.system('sudo sh -c "echo \'1\' > /sys/class/gpio/gpio252/value"') display_on = True sleep(1) GPIO.cleanup() # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 |
Das Verzeichnis gpio252 unter /sys/class/gpio/ existiert bei mir gar nicht – hast Du das einfach angelegt, oder noch irgendein Paket installiert? 🙂
Hi,
bin mir nicht ganz sicher. Bist du nach dem Adafruit-HowTo zur Installation des Displays vorgegangen?
https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/overview
Es kann auch sein… wie ich gerade sehe hat Adafruit das HowTo angepasst – früher musste man alles mögliche händisch installieren + konfigurieren; mittlerweile gibt es aber einen DIY-Installer, der einem diese Arbeit abnimmt.
Ggf.: Frag doch mal im Adafruit-Forum nach, wie sich mit dem neuen HowTo das Display steuern lässt?
Hi,
danke für die wertvollen Hinweise, sie ersparen wertvolle Zeit.
Aber eine Frage hätte ich. Wie kann ich das Display mittels Programmierung (C++, Python) ansteuern und Bildschirmausgaben realisieren? Gibt es da eine Programmierbibliothek, die mir entgangen ist?
Vielen Dank für die Hilfe.
LG – Frank
Hallo,
da bin ich leider ein wenig überfragt. Grundsätzlich verhält sich das TFT wie ein Display (nur eben via SPI angeschlossen). Insofern: Wenn Sie eine GUI für eine Anwendung im OS erstellen, wird es auch ebenso angezeigt – da werden Sie nichts spezielles für das Display benötigen, sondern auf die normalen Werkzeuge und Bibliotheken zur Erstellung von GUI’s zurückgreifen können 🙂