Im Moment versuche ich gerade das "Cheap Yellow Display" in Betrieb zu nehmen. https://radio-bastler.de/forum/showthread.php?tid=24576 Nach dem Einstecken zeigte es zeigte das Display ein Demo-Menue. Ich habe es dann mit einem "Hello World" von hier: https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/blob/main/Examples/Basics/1-HelloWorld/1-HelloWorld.ino neu geflasht, aber es bleibt dunkel. Weiß jemand, woran das liegt?
Ok, jetzt geht es. Hier die Lösung, falls jemand das Display auch verwendet: Um das Display zu betreiben, muss man die Library TFT eSPI installieren ( https://github.com/Bodmer/TFT_eSPI ) Die läuft aber nicht automatisch, da sie für alle möglichen Displays gemacht ist und die Default-Konfiguration nicht passt. Die muss man von hier https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/blob/main/DisplayConfig/User_Setup.h in den "TFT eSPI" Library-Ordner kopieren ( und vermutlich hoffen, dass sich nicht irgendwann das Hardware Layout ändert ) Anleitung dazu hier: https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/blob/main/SETUP.md
Christoph M. schrieb: > Im Moment versuche ich gerade das "Cheap Yellow Display" in > Betrieb zu nehmen. > https://radio-bastler.de/forum/showthread.php?tid=24576 > > .. > neu geflasht, aber es bleibt dunkel. Weiß jemand, woran das liegt? Und falls du wieder Unterstützung brauchst, kannst du auch Jupp aka saarfranzose direkt im dortigen Forum anschreiben, er ist sehr hilfsbereit.
>Und falls du wieder Unterstützung brauchst,
Vielen Dank für die Info. Im Moment will ich nur herauskriegen, wie man
Daten einer seriellen 3.3V Schnittstelle in das CYD kriegt.
Kann es sein, dass sich der serielle Anschluss TX/RX die Pins mit dem
CH340 USB-Treiber teilt?
Christoph M. schrieb: > Kann es sein, dass sich der serielle Anschluss TX/RX die Pins mit dem > CH340 USB-Treiber teilt? Zumindest sagt das der Schaltplan.
>Zumindest sagt das der Schaltplan.
Hmm .. wie kann man dann extern Daten einspeisen ohne eine Kurzschluss
mit TX vom CH340?
Christoph M. schrieb: > Hmm .. wie kann man dann extern Daten einspeisen ohne eine Kurzschluss > mit TX vom CH340? Serienwiderstände? Es werden ja nicht beide zugleich aktiv sein.
>Serienwiderstände? Tja, das wäre dann wie bei einem Arduino Uno/Nano o.ä. Aber: siehst du hier welche? https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/tree/main/OriginalDocumentation/5-Schematic
Christoph M. schrieb: > Aber: siehst du hier welche? Ich sehe in diesem Zusammenhang R5 und R6, aber die erfüllen wohl einen anderen Zweck.
Die RX/TX Leitungen des ESP32 sind hart an den CH340 angeschlossen (U0RXD,U0TXD). Die Widerstände gehen nach außen an den Stecker, deshalb haben die Signale des CH340 immer ein höhere Priorität als die vom Stecker. Irgendwo habe ich gelesen, dass es funktioniert, wenn die USB-Schnittstelle nicht bestromt ist. Das finde ich aber eher unpraktisch.
Christoph M. schrieb: > Irgendwo habe ich gelesen, dass es funktioniert, wenn die > USB-Schnittstelle nicht bestromt ist. Im Datenblatt steht, dass die Spannung an allen Eingängen maximal VCC + 0,5V sein darf. Wenn VCC null Volt ist, darf man man also nicht 5V anlegen. Beim CP2102 dürfte man das.
Die beste Möglichkeit, Daten seriell in das Display zu bringen, ist "SoftwareSerial" zu verwenden, da die freien Pins keine Hardware-Uart haben.
1 | #include <SoftwareSerial.h> |
2 | |
3 | EspSoftwareSerial::UART SerialSoft; |
4 | |
5 | //#define TFT_BL 21 // RED is backlight enable signal cannot be used freely
|
6 | #define SOFTWARE_TXPIN 22 // YELLOW cable connector P3
|
7 | #define SOFTWARE_RXPIN 35 // BLUE can only be used as input
|
8 | #define SOFTWARE_GND // BLACK GND
|
9 | |
10 | void setup() |
11 | {
|
12 | SerialSoft.begin(9600, SWSERIAL_8N1, SOFTWARE_RXPIN, SOFTWARE_TXPIN, false); |
13 | ..
|
Hier gibt es noch eine Diskussion zu den Anschlussteckern: Beitrag "Welcher Connector ist bem Cheap yello Display verbaut"
Den ESP01 verwenden, der hat keinen USB. https://edistechlab.com/esp8266-01-einfach-erklaert/?v=3a52f3c22ed6 hat leider zuwenig PINs aber der ESP32 hat 3 Serielle Ports: https://circuits4you.com/2018/12/31/esp32-hardware-serial2-example/
:
Bearbeitet durch User
>Den ESP01 verwenden, der hat keinen USB.
Ich nehme an, du weißt nicht was das Cheap Yellow Display ist. Im Anhang
ein Bild, da lässt sich die MCU nicht austauschen.
Das ist das Pinout des verwendeten ESP32-WROOM UART0 ist auf Pin 34/34 (IO3/1) UART1 ist auf Pin 17/18 (IO9/10) UART2 ist auf Pin 27/28 (IO16/17) Diese I/Os scheinen nicht verwendet zu werden (der "Schaltplan" des Boards ist eines der üblichen Such-Dir-Deine-Verbindungen-Selbst-Wimmelbildchen)
>der "Schaltplan" des Boards ist eines der üblichen >Such-Dir-Deine-Verbindungen-Selbst-Wimmelbildchen So ist es wohl. Fast alle Pins sind mehrfach belegt, außer P3 scheint zwei freie zu haben (Bild: Anschluss rechts unten). Leider haben sie wertvolle IOs an die RGB-Led verschwendet.
"Mein" Schaltplan ist zwar von der Variante mit einem größeren Display (3.5" statt 2.8") und daher einem anderen Layout (die RGB-LED ist auf der anderen Platinenseite bestückt, aber das Elend dürfte das gleiche sien. Christoph M. schrieb: > Fast alle Pins sind mehrfach belegt Ja, leider doch. Meine Wimmelbildsuche hatte die übersehen. IO16/17 hängen an der RGB-LED, damit ist UART2 blockiert. IO9/10 sind mit dem nicht bestückten Footprint des SPI-Flash (U4) verbunden, damit könnte UART1 vielleicht noch nutzbar sein.
Der ESP32 kann die Hardware UART doch auf beliebige Pins mappen, wenn auf dem Connector zwei freie liegen sollte das gehen.
>Der ESP32 kann die Hardware UART doch auf beliebige Pins mappen, wenn >auf dem Connector zwei freie liegen sollte das gehen. Auf dem Pinout-Bild ist das aber nicht ersichtlich. Bist Du sicher?
:
Bearbeitet durch User
Harald K. schrieb: > IO9/10 sind mit dem nicht bestückten Footprint des SPI-Flash (U4) > verbunden, damit könnte UART1 vielleicht noch nutzbar sein. Nachtrag: Tatsächlich sind die auch mit dem Flash-Chip innerhalb des ESP32-WROOM verbunden und nur dann nutzbar, wenn das Flash nicht im QSPI-Modus angesteuert wird. Man wird die Funktion also irgendwelchen anderen unbenutzten GPIOs zuweisen müssen. Da wird man im miesen Wimmelbildschaltplan 'ne Weile suchen müssen, bis man die sicher identifiziert hat.
>Da wird ja nur der Default angezeigt. Das ist ein Feature des ESP32.
Sehr interessant, danke :-)
Allerdings legt dann die konkrete Implementierung aus mir unerfindlichen
Gründen das Display lahm ..
1 | int8_t rxPin=35; |
2 | int8_t txPin=22; |
3 | int8_t ctsPin = -1; |
4 | int8_t rtsPin = -1; |
5 | Serial1.setPins( rxPin, txPin, ctsPin, rtsPin); |
6 | Serial1.begin(9600); |
>Da wird man im miesen Wimmelbildschaltplan 'ne Weile suchen müssen, bis >man die sicher identifiziert hat. Also wie schon geschrieben: Der einzige Stecker mit zwei relativ freien IOs schein P3 mit GPIO22 und GPIO35. Wer mehr findet ..
>Vielleich solltest du Serial2 oder 3 ummappen?
Super Idee, damit geht es.
1 | int8_t rxPin=35; |
2 | int8_t txPin=22; |
3 | int8_t ctsPin = -1; |
4 | int8_t rtsPin = -1; |
5 | Serial2.begin(9600); |
6 | Serial2.setPins( rxPin, txPin, ctsPin, rtsPin); |
Die Frage ist warum? Ich habe im Programm-Header noch die SPI für den Touchscreen eingebunden. Vielleicht ist ja Serial1 irgendwie mit der SPI verbandelt ..
1 | #include <SPI.h> |
2 | #include <XPT2046_Touchscreen.h> |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.