Zusammengestellt aus diversen Schaltungen und Programmen ist "PicoTerm-TFT" entstanden, was als einfaches Terminal zur Textausgabe dienen aber auch farbige Grafik mit 64 Farben darstellen kann. Die Vorgaben dazu waren: einfach, günstig, Standard 4,3“-Anzeige und (unbedingt !) schnell. Wesentlicher Kern der Hardware ist ein Pico-Board mit RP2040, welches die seriellen Befehle umsetzt, Zeichen in den intern vorhandenen Bildspeicher schreibt - div. (vollständige !) Zeichensätze sind vorhanden - und diesen auf die TFT-Anzeige ausgibt. Eine vorhandene Platine dient in reduzierter Form der notwendigen Verdrahtung des 40 pol. Folienkabelsteckers, der Spannungserzeugung für die Hintergrundbeleuchtung sowie RS232-Treiber und eines Piepsers. Die 10 pol. Anschlussbuchse kann 1:1 an eine D-Sub-Buchse angeschlossen werden. Die Polung ist kompatibel zu COMx-Schnittstellen eines PC oder USB-RS232 Adapterkabeln. Anbei das Schaltbild, wobei die Bauteile für die Frequenzzähler-Option wegfallen können. Schaltbild 2 zeigt den RS232-Anschluß, EEPROM falls benötigt und die Konstantstromquelle für die Hintergrundbeleuchtung. Die Platine hat Befestigungslöcher für Abstandshalter zum TFT und Befestigungslaschen zur Befestigung an der Frontplatte – je nach Bedarf. Der Quellcode (.zip-Datei) ist noch für eine IAR-IDE geschrieben und wird bei Gelegenheit auf Segger Embedded Studio umgestellt. Die .u2f-Datei kann direkt verwendet werden. Um das Programm nicht zu überladen, wurden zunächst Grundfunktionen implementiert. Die verwendeten Funktionen können noch ergänzt oder verändert werden.
:
Bearbeitet durch User
Um einen Eindruck zu vermitteln, wie man das PicoTerm-TFT praktisch verwenden kann, gibt es im Anhang das Programm "PicoTerm-demo.ino", welches für einen ATmega328 geschrieben wurde. Es ist ein reines C-Programm, verwendet keine Arduino-IDE spezifischen Befehle und kann für 'gewöhnliche' Programmierung einfach in .c umbenannt werden. Die Code-Grösse ist < 7 kB. In der Funktion 'main()' wird ein Testprogramm für ein Demo-Menü und die zugehörige touch-Bedienung gezeigt. Zuvor werden Timer1 und UART initialisiert und die Baudrate von 57,6 kBd auf 250 kBd hochgesetzt. Da die Option MIT_BLINKEN aktiv ist, die zwei alternierende Seiten anzeigt, können damit rot-grüne bzw. grün-rote Herzen in der oberen Teile ohne Prozessoreingriff dargestellt werden: siehe Bild 1 und Bild 2. Bild 3 zeigt die möglichen Farben, die fortlaufend verändert werden und Bild 4 eine Textausgabe mit auto-scroll am Bildende: mit 3 ms/Zeile werden 333 Zeilen/s angezeigt. Bilder 5-7 zeigen die implementierten Zeichensätze mit 8x16. Die Befehle „tft_xyz“ vom ATmega328 sind gleichlautend auch auf dem PicoTerm-TFT vorhanden, sodaß man das Anwenderprogramm bei Bedarf auch ohne grosse Änderungen auf dem Pico-Board mit maximaler Geschwindigkeit laufen lassen kann. Die begrenzende RS232 Übertragung entfällt und die touch-Koordinaten liegen unkodiert vor. Anmerkung: bei "PicoTerm-TFT" sind die Pins für den RS232-Treiber invertiert. Txd vom ATmega328 kann daher direkt an RS232-Rxd vom RP2040 angeschlossen werden. Zwischen RS232-Txd vom RP2040 zum Rxd vom ATmega328 sollte ein Widerstand (3k3) geschaltet werden, um den Strom in den Eingang zu begrenzen. Damit erspart man sich einen zusätzlichen RS232-Treiber auf Seite des ATmega. Im 'realen' Leben sollte die Invertierung abgeschaltet werden.
:
Bearbeitet durch User
Hallo! ich finde deine Idee grundsätzlich sehr gut! Was mich abhält ist das Display selbst, da es zu exotisch ist. Gibt es das noch zu kaufen? Wünschen würde ich mir, wenn es noch ein SPI/I2C slave Modus gäbe, der alle gängigen chipsätze emulieren kann.
Dddns schrieb: > Was mich abhält ist das Display selbst, da es zu exotisch ist. > Gibt es das noch zu kaufen? Die gezeigte Platine bietet die Option, Displays mit unterschiedlichem Anschluß der Hintergrundbeleuchtung per Lötbrücken einzustellen. Es gibt Ausführungen, die einen separaten 4-pol. Anschluß benötigen, wozu man dann die Lötbrücken BR4-BR6 aktiviert. (Davon hatte ich bei Pollin vor einiger Zeit EDT-Displays für 4 Euro beschafft - jetzt wohl ausverkauft.) Mit den Lötbrücken BR1-BR3 wird Vled über den 40-pol. Stecker geführt. Und diese Polung ist "internationaler Weltstandard". Dazu gibt es Displays wie Sand am Meer. Nur als günstige Beispiele: https://www.buydisplay.com/tft-display/tft-display-panel?diagonal_size=290 Neben 4,3" gibt es auch 5" Ausführungen mit 480x272. 7" TFTs gibt es mit 800x480, die man als 400x240 Anzeige ansteuern kann, um eine große, gut ablesbare Anzeige zu erhalten. Alle mit der gleichen Anschlussbelegung! > Wünschen würde ich mir, wenn es noch ein SPI/I2C slave Modus gäbe, > der alle gängigen chipsätze emulieren kann. SPI/IIC muß man nur implementieren. Das geht über den Steckverbinder SPI1. Das Auslesen der touch-Koordinaten müßte anders organisiert werden, als einfach nur RS232-Daten per ISR zu erhalten. Mit RS232 ist es kein Problem, ein Bedienteil auch einige Meter entfernt von der eigentlichen Steuerung oder auch per Funk an einer Powerbank zu betreiben. Zur Emulation: Meine Intension war zum einen 'einfach' und damit keine eierlegende Wollmilchsau und zum anderen 'schnell', was dann wohl auch nicht mehr der Fall wäre. Nur was soll das bringen? C-Routinen zur Ansteuerung liegen ja vor und müssen nicht neu erfunden werden. Oder anders gefragt: "Welcher Chipsatz liefert denn mit eintreffenden seriellen Daten eine lesbare Schrift/Anzeige?" Du könntest Dir Deine Wünsche aber auch selber erfüllen.
:
Bearbeitet durch User
Das Programm ist jetzt für die (kostenfreie) IDE Segger ES angepaßt und das Arduino Demoprogramm leicht modifiziert worden. Für die Platinenfertigung gibt es die notwendigen Dateien, wobei man die Bauteile für den Frequenzzähler wegläßt. http://mino-elektronik.de/TFT-direct-drive/TFT-direct-drive.htm#tft-6 Bei 'dringendem' Bedarf hätte ich ein paar Leerplatinen nebst speziellen Bauteilen wie TS19371 und 40-pol. Folienstecker vorrätig.
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.