Post on 17-Oct-2020
transcript
TFT – https://erik-bartmann.de/
ESP32 Pico-Board
ESP32 Addon
160x128 TFT Vers. 1.0
© by Erik Bartmann, Juni 2018
TFT – https://erik-bartmann.de/ Seite 2
1 6 0 x 1 2 8 TFT
n diesem ESP32-Addon wollen wir
uns einem TFT-LCD-Display widmen,
das es ermöglicht, Texte und Grafiken
mit einer Auflösung von 160x128 Pixel
darzustellen. Es handelt sich dabei um
ein Modul [1] von Adafruit [2], das
eine farbige Anzeige mit
einer Auflösung von 18-Bit
(262.144) ermöglicht
und eine Größe von
1,8“ aufweist. Die
Ansteuerung erfolgt
über den SPI-Bus mit einer
Spannungsversorgung von 3,3V und ist
für unser ESP32-Picoboard bestens
geeignet. Die mögliche
Spannungsversorgung ist von 3,3V bis
5V ausgelegt. Das Display
verfügt zusätzlich noch
über einen Mikro-
SD-Karten-Slot, was
die Speicherung von
Daten erlaubt und das
Display attraktiv macht.
I
TFT – https://erik-bartmann.de/
3 OLED
Erforderliche Libraries evor wir jedoch das TFT-Display innerhalb der Arduino-IDE nutzen können, sind
zwei zusätzliche Libraries erforderlich. Die erste dient der Unterstützung des
Treiberbaustein ST7735R [3] und ermöglicht eine Kommunikation über den SPI-Bus.
Der zweite nennt sich Adafruit-GFX-Library [4] und beinhaltet die Kernfunktionalitäten
zur Darstellung grundlegender Grafikelemente wie z.B. Kreise, Rechtecke, Linien und
Texte. Beide Libraries sind sehr einfach in die Arduino-IDE zu integrieren. In einem
speziellen Arduino-Addon habe ich die Vorgehensweise detailliert beschrieben.
Der Schaltungsaufbau und der Schaltplan ehen wir uns jetzt den Schaltplan zur Ansteuerung des OLED an unserem ESP32-
Picoboard an. Ich nutze dazu mein ESP32-Pico-Discoveryboard [5], mit dem der
Aufbau sehr schnell und ohne Probleme funktioniert.
Abbildung 1 Das TFT-Display auf dem ESP32-Pico-Discoveryboard
Das TFT-Display habe ich auf das kleine Breadboard aufgesteckt und mit acht flexiblen
Steckbrücken mit dem ESP32-Picoboard verbunden. Die Ausrichtung der Anzeige ist
durch die Programmierung zu steuern und kann individuell angepasst werden. Der
Schaltplan schaut wie folgt aus, wobei die Pins für den SPI-Bus frei gewählt werden
können und nicht mit den eigentlichen SPI-Hardware-Pins des ESP32 übereinstimmen
müssen.
B
S
TFT – https://erik-bartmann.de/
4 OLED
Abbildung 2 Der Schaltplan zur Ansteuerung des TFT-Displays
Es ist zu beachten, dass die Sicht auf das Display in diesem Schaltplan von der
Rückseite des TFT-Displays ist. Es sollte also nicht blind nach der gezeigten
Verkabelung verdrahtet werden, sondern man sollte genauestens auf die
Pinbezeichnung achten. Dann sollte auch nichts schief gehen Kommen wir zum
ESP32-Code, den ich in zwei unterschiedliche Bereiche geteilt haben, denn es existiert
eine Library ST7735R [3] von Adafruit und eine UCGLIB [6].
Der ESP32-Code ür einen ersten Test kann ein in der ST7735R-Library enthaltener Sketch herhalten,
der jedoch noch leicht modifiziert werden muss.
Abbildung 3 Der Beispiel-Sketch für das TFT-Display mit der Adafruit-Library
F
TFT – https://erik-bartmann.de/
5 OLED
Zur korrekten Ansteuerung muss natürlich noch der Sketch die richtigen Parameter
bekommen. Folgende Modifikationen sind für unser Anschlussbeispiel erforderlich:
...
#define TFT_CS 5
#define TFT_RST 9
#define TFT_DC 10
#define TFT_SCLK 18
#define TFT_MOSI 23
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
...
Nach dem Hochladen des Sketches wird der Grafiktest durchlaufen und es werden
diverse Elemente wie Linien, Kreise, Rechtecke, Texte und ähnliches zur Anzeige
gebracht. Der Sketch ist selbsterklärend und bedarf keiner weiteren Erläuterung.
Kommen wir jetzt zur UCGLIB-Library [6]. Nach der Installation der Library stehen auch
hier wieder einige Beispiel-Sketche zur Verfügung.
Abbildung 4 Der Beispiel-Sketch für das TFT-Display mit der UCGLIB-Library
Im Sketch werden einige Möglichkeiten für die Initialisierung des TFT-Displays
angeboten. Für unseren Fall der Verkabelung ist die folgende Zeile erforderlich:
...
Ucglib_ST7735_18x128x160_SWSPI ucg(/*sclk=*/ 18, /*data=*/ 23, /*cd=*/ 10, /*cs=*/ 5,
/*reset=*/ 9);
...
Auch hier werden wieder zahlreiche Grafikelemente im TFT-Display angezeigt und
zeigen uns die Möglichkeiten.
TFT – https://erik-bartmann.de/
6 OLED
Frohes Frickeln
Web-Links [1]: https://www.adafruit.com/product/358
[2]: https://www.adafruit.com/
[3]: https://github.com/adafruit/Adafruit-ST7735-Library
[4]: https://github.com/adafruit/Adafruit-GFX-Library
[5]: https://www.erik-bartmann.de/?Projekte___ESP32_Discovery-Board
[6]: https://github.com/olikraus/Ucglib_Arduino
Das ESP32-Praxisbuch
https://www.elektor.de/das-esp32-praxisbuch
https://www.erik-bartmann.de/
TFT – https://erik-bartmann.de/
7 OLED