Dieses Display soll mit der Edzelf-Software laufen:
Im Beispiel: Bedienung ohne encoder, Vorwärtsschalten der playlist über einen Sensor.
Stand der Edzelf-Software: 11/2020
die Verpackung und der Aufdruck verraten uns u.a. schon:
- den Chip: ST7735
- die Auflösung: 128x128Px
- die Schnittstelle: SPI
dieses Display findet man auch abgebildet im Handbuch von Edzelf.
Die Informationen sind allerdings etwas zerstreut und nicht immer
eindeutig. Und erst das Studium eines youtube-Videos, auf das Edzelf
hinweist, brachte am Schluss den Erfolg.
Kommen wir erst mal zur Verkabelung:
LED - 3,3V
SCK - GPIO18
SDA - GPIO23
A0 - GPIO2
RESET - EN
CS - GPIO15
GND - Ground
VCC - 3,3V
es gibt auch Hinweise für VCC = 5V und einen Spannungsregler auf der
Platine. Der LED-Pin für das backlight darf aber trotzdem nur mit 3,3V
betrieben werden oder kann auch über einen GPIO zum dunkeltasten
geschaltet werden. Ohne Spannung am LED-Pin bleibt das Display dunkel!
Die Konfiguration der software:
Im Abschnitt Esp32_radio:
als Displaytyp wird BLUETFT deklariert. Alle anderen Displaytypen sind auszukommentieren.
An der Stelle bitte auch CH376 sowie SDCARD auskommentieren, sofern die hardware nicht vorhanden oder nicht bestückt ist.
//#define CH376 // For CXH376 support (reading files from USB stick)
//#define SDCARD // For SD card support (reading files from SD card)
// Define (just one) type of display. See documentation.
#define BLUETFT // Works also for RED TFT 128x160
im Abschnitt defaultprefs:
weil das Radio mit Sensorweiterschaltung betrieben werden soll:
Aktivieren des Sensors touch4:
touch_04 = uppreset = 1 //GPIO13
wegen Konflikt an GPIO13 Löschen der Zeile:
gpio_13 = downvolume = 2
bei nicht bestücktem encoder müssen dessen Pin deaktiviert werden, damit sie sich nicht verselbstständigen:
pin_ir = -1 # GPIO Pin number for IR receiver VS1838B
pin_enc_clk = -1 # GPIO Pin number for rotary encoder "CLK"
pin_enc_dt = -1 # GPIO Pin number for rotary encoder "DT"
pin_enc_sw = -1 # GPIO Pin number for rotary encoder "SW"
im Abschnitt bluetft.h:
hier wird INITR_144GREENTAB aktiviert:
//tft->initR ( INITR_GREENTAB ) ; // Init TFT interface
//tft->initR ( INITR_REDTAB ) ; // Init TFT interface
//tft->initR ( INITR_BLACKTAB ) ; // Init TFT interface
tft->initR ( INITR_144GREENTAB ) ; // Init TFT interface
//tft->initR ( INITR_MINI160x80 ) ; // Init TFT interface
//tft->initR ( INITR_BLACKTAB ) ; // Init TFT interface (160x128)
falls das display gedreht werden soll wird hier die rotation eingestellt:
#define dsp_setRotation() tft->setRotation ( 3 ) // Use landscape format (3 for upside down)
an dieser Stelle wird die Auflösung angepasst:
#define dsp_getwidth() 128 // Adjust to your display
#define dsp_getheight() 128 // Get height of screen
es erwartet uns eine sehr schöne und informative Anzeige:
Keine Kommentare:
Kommentar veröffentlichen