Hallo zusammen!
Ich wollte hier ja schon lange meine Ansteuerroutinen für die TFT60D Displayfamilie von XV-Display.de hier einstellen......
und jetzt ist es endlich mal soweit!
Dino03 hatte ja HIER schon mal seine "Variante" vorgestellt und StevieL hat noch eine weitere Version via LIB, die er hier auch zum Besten geben hat.
Nun gehts aber mit meiner Methode los.....
Worum geht es genau?
Ich hatte mich für das 4,3 Zoll große TFT-Display entschieden, weil es für mein Vorhaben eine angenehme Größe besitzt und trotzdem noch handlich ist.
Um es mal vorweg zu nehmen.....
Hier ein Foto von der "fertigen" Einheit:
Was soll es mal werden?
Im "Endstadium" (was wohl etwas dauern wird) wird die Einheit drahtlos viele Aktoren im Haus (indirekt) steuern und bestimmte Daten von externen Sensoren (indirekt) entgegennehmen.
In der Kurzversion nenne ich meine Steuerung daher HCU-1..... Home Control Unit !
Die Displayeinheit ist allerdings nur die Bedien- und Informationseinheit und NICHT die zentrale Steuer- und Überwachungseinheit.
Für die drahtlose Kommunikation zwischen Bedien- und Steuereinheit verwende ich eine Bluetooth-Verbindung.
Zu den BTM222 Modulen habe ich in meinem Blog schon mal etwas geschrieben, weshalb ich da hier jetzt nicht weiter drauf eingehe.
Außerdem geht es in diesem Thread um die Ansteuerroutinen für das Display.....
und nicht um mein (Langzeit)Projekt der HCU.
Kommen wir zum Thema!
Wer sich schon mal mit den Display`s von XV-Display befasst hat wird festgestellt haben, dass alle Display`s einfach via SPI angesteuert werden können.
Das Besondere ist aber, das die Display`s eigenständig intelligent sind!
Ich muss also nicht wie bei anderen Typen/Herstellern zum Beispiel ein Rechteck pixelweise selber zeichnen, sondern ich muss nur noch die Anweisung und die Koordinaten via SPI zum Display schicken. Den Rest erledigt das Display von ganz allein!
Auf diese Weise kann man dem Display mitteilen, dass man zum Beispiel:
Die Liste könnte wohl noch um einiges länger sein... aber es soll als Übersicht erst mal ausreichen.
Einigen von euch wird das wohl schon vom kleinen OLED-Display bekannt vorkommen.
Allerdings gibt es bei den TFT-Display`s einige Besonderheiten, die es zu "Zeiten" des OLED noch nicht gab.
So haben alle TFT-Display-Module jetzt einen SD-Card Slot, der einerseits zum Updaten des Moduls dient, aber auch als zusätzlicher Speicher für Icons und Bilder genutzt werden kann!
Dadurch erhält man natürlich ganz andere Möglichkeiten und kann viel mehr Grafiken und Bilder einsetzen, ohne den Speicher im AVR zu strapazieren, oder aufwendig mit separatem Leveltranslater und SD-Card jedesmal den Hardwareaufbau erweitern zu müssen.
Hier wieder mal ein paar Beispielbilder:
Kommen wir aber nun zum Wesentlichen!
Wie schon einige Male erwähnt, müssen alle Daten via SPI entsprechend dem Datenblatt übermittelt werden.
Fertige Routinen von BASCOM benötigt man dafür eigentlich nicht!
Da es beim Programmieren aber praktischer ist, wenn man nur auf Subroutinen zurück greifen muss, habe ich die Ansteuerung folgendermaßen realisiert.
Ich habe mir zwei Dateien erstellt, die ich im Programm per $INCLUDE hinzulade.
Einmal ist das die Datei, in der alle Subroutinen (und zum Teil auch Variablen) deklariert werden.....
und in der zweiten Datei befinden sich alle benötigten Subroutinen.
Anschließend kann ich im Programm ganz einfach folgende Anweisung schreiben:
um einen kleines, gefülltes, gelbes Rechteck in der unteren rechten Ecke zu zeichnen
....oder auch:
um den Text auszugeben.
Wie das genau funktioniert, werde ich in den nächsten Beiträgen hier noch erklären.
Grüße,
Cassio
Ich wollte hier ja schon lange meine Ansteuerroutinen für die TFT60D Displayfamilie von XV-Display.de hier einstellen......
und jetzt ist es endlich mal soweit!
Dino03 hatte ja HIER schon mal seine "Variante" vorgestellt und StevieL hat noch eine weitere Version via LIB, die er hier auch zum Besten geben hat.
Nun gehts aber mit meiner Methode los.....
Worum geht es genau?
Ich hatte mich für das 4,3 Zoll große TFT-Display entschieden, weil es für mein Vorhaben eine angenehme Größe besitzt und trotzdem noch handlich ist.
Um es mal vorweg zu nehmen.....
Hier ein Foto von der "fertigen" Einheit:
Was soll es mal werden?
Im "Endstadium" (was wohl etwas dauern wird) wird die Einheit drahtlos viele Aktoren im Haus (indirekt) steuern und bestimmte Daten von externen Sensoren (indirekt) entgegennehmen.
In der Kurzversion nenne ich meine Steuerung daher HCU-1..... Home Control Unit !
Die Displayeinheit ist allerdings nur die Bedien- und Informationseinheit und NICHT die zentrale Steuer- und Überwachungseinheit.
Für die drahtlose Kommunikation zwischen Bedien- und Steuereinheit verwende ich eine Bluetooth-Verbindung.
Zu den BTM222 Modulen habe ich in meinem Blog schon mal etwas geschrieben, weshalb ich da hier jetzt nicht weiter drauf eingehe.
Außerdem geht es in diesem Thread um die Ansteuerroutinen für das Display.....
und nicht um mein (Langzeit)Projekt der HCU.
Kommen wir zum Thema!
Wer sich schon mal mit den Display`s von XV-Display befasst hat wird festgestellt haben, dass alle Display`s einfach via SPI angesteuert werden können.
Das Besondere ist aber, das die Display`s eigenständig intelligent sind!
Ich muss also nicht wie bei anderen Typen/Herstellern zum Beispiel ein Rechteck pixelweise selber zeichnen, sondern ich muss nur noch die Anweisung und die Koordinaten via SPI zum Display schicken. Den Rest erledigt das Display von ganz allein!
Auf diese Weise kann man dem Display mitteilen, dass man zum Beispiel:
- eine Linie zeichnen möchte
- ein Rechteck (Rahmen oder ausgefüllt) zeichnen möchte
- einen Kreis zeichnen möchte
- welche Stiftfarbe verwendet werden soll
- welche Hintergrundfarbe angewendet werden soll
- ob das Display gelöscht werden soll
- welche Schriftart bei Text genommen werden soll
- wo und welcher Text ausgegeben werden soll
- ob ein Bild aus dem internen Speicher angezeigt werden soll
- ob ein Bild von der SD-Card angezeigt werden soll
- den Touch auslesen (sofern man ein Display mit Touch hat)
- und und und
Die Liste könnte wohl noch um einiges länger sein... aber es soll als Übersicht erst mal ausreichen.
Einigen von euch wird das wohl schon vom kleinen OLED-Display bekannt vorkommen.
Allerdings gibt es bei den TFT-Display`s einige Besonderheiten, die es zu "Zeiten" des OLED noch nicht gab.
So haben alle TFT-Display-Module jetzt einen SD-Card Slot, der einerseits zum Updaten des Moduls dient, aber auch als zusätzlicher Speicher für Icons und Bilder genutzt werden kann!
Dadurch erhält man natürlich ganz andere Möglichkeiten und kann viel mehr Grafiken und Bilder einsetzen, ohne den Speicher im AVR zu strapazieren, oder aufwendig mit separatem Leveltranslater und SD-Card jedesmal den Hardwareaufbau erweitern zu müssen.
Hier wieder mal ein paar Beispielbilder:
Kommen wir aber nun zum Wesentlichen!
Wie schon einige Male erwähnt, müssen alle Daten via SPI entsprechend dem Datenblatt übermittelt werden.
Fertige Routinen von BASCOM benötigt man dafür eigentlich nicht!
Da es beim Programmieren aber praktischer ist, wenn man nur auf Subroutinen zurück greifen muss, habe ich die Ansteuerung folgendermaßen realisiert.
Ich habe mir zwei Dateien erstellt, die ich im Programm per $INCLUDE hinzulade.
Einmal ist das die Datei, in der alle Subroutinen (und zum Teil auch Variablen) deklariert werden.....
und in der zweiten Datei befinden sich alle benötigten Subroutinen.
Anschließend kann ich im Programm ganz einfach folgende Anweisung schreiben:
Code:
Tft_box 469 , 261 , 479 , 271 , 1 , Gelb
....oder auch:
Code:
Tft_ 0 , 60 , "AVR-Praxis.de"
Wie das genau funktioniert, werde ich in den nächsten Beiträgen hier noch erklären.
Grüße,
Cassio