Montag, 4. Januar 2021

Konfiguration 1,44" SPI display an Edzelf-Software

 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 posten