Hallo zusammen!
Ich trage hier einfach mal ein paar Programmbeispiele rund um das kleine (128x160 Pixel) farbige OLED XV-Display ein.
Da dies Display einen eigenen Controller besitzt, der sich nicht nur um das Darstellen von Pixeln kümmert sondern weit aus flexibler ist, folgen hier einfach mal ein paar "Ansteuerungen".
Wie es sich für ein FAQ gehört, geht es hier nicht um ein Projekt und wenn jemand Fragen oder andere Erfahrungen hat, dann kann er gern dafür diesen Thread benutzen.
Ich fange aber nun erst mal vorne an....
Das Display:
Wie auf dem Bild schon zu erkennen ist, kann das Display hier im Shop käuflich erworben werden.
Und hier ist der LINK dazu.
Display-Controller:
Der Controller wird über die SPI-Schnittstelle angesprochen und ist daher für nahezu alle Mikrocontroller und Programmiersprachen geeignet.
Hier mal ein Anschlussbeispiel mit einem ATMega16:
Hinweis:
Wenn ein AVR benutzt wird, der via ISP über die SPI-Schnittstelle programmiert wird (wie im Beispiel gezeigt), dann sollte beim Flashen des AVRs das Display von der Schnittstelle getrennt werden!
Ansteuerung / Programmierung unter BASCOM:
Die Ansteuerung des Dispalys ist trotz der vielen Optionen recht einfach und fast immer wieder gleich.
Hier mal ein Beispiel, wie man die Stiftfarbe (Vordergrundfarbe) ändert:
Zur Erklärung:
Als Erstes wird durch den BUSY-Pin geprüft, ob das Display bereit ist:
Dann wird der CS-Pin auf Low gesetzt:
Nach einer kurzen Pause wird dann das Kommando gesendet, dass die Stiftfarbe geändert werden soll:
Nach erneuter Prüfung des BUSY-Pins werden dann die einzelnen Werte für die Farben übermittelt:
Dann wird wieder der BUYS-Pin abgefragt und anschließend der CS-Pin wieder High geschaltet:
Fertig!
Nun wurden alle benötigten Daten an das Display erfolgreich übermittelt und die neue Stiftfarbe ist sofort verfügbar.
Mit den verschiedenen Kommandos kann man dann recht schnell ähnlich nette Displaylayouts entwickeln wie z.B. dieses hier:
Damit ich aber die Ansteuerung des Displays nicht immer wieder neu eingeben muss, habe ich mir dafür entsprechende Subroutinen geschrieben.
Diese werden dann einfach mitten im Programm aufgerufen und ausgeführt.
Wie ich das im einzelnen realisiert habe, folgt dann in Kürze...
Gruß,
Cassio
Ich trage hier einfach mal ein paar Programmbeispiele rund um das kleine (128x160 Pixel) farbige OLED XV-Display ein.
Da dies Display einen eigenen Controller besitzt, der sich nicht nur um das Darstellen von Pixeln kümmert sondern weit aus flexibler ist, folgen hier einfach mal ein paar "Ansteuerungen".
Wie es sich für ein FAQ gehört, geht es hier nicht um ein Projekt und wenn jemand Fragen oder andere Erfahrungen hat, dann kann er gern dafür diesen Thread benutzen.
Ich fange aber nun erst mal vorne an....
Das Display:
Wie auf dem Bild schon zu erkennen ist, kann das Display hier im Shop käuflich erworben werden.
Und hier ist der LINK dazu.
Display-Controller:
Der Controller wird über die SPI-Schnittstelle angesprochen und ist daher für nahezu alle Mikrocontroller und Programmiersprachen geeignet.
Hier mal ein Anschlussbeispiel mit einem ATMega16:
Hinweis:
Wenn ein AVR benutzt wird, der via ISP über die SPI-Schnittstelle programmiert wird (wie im Beispiel gezeigt), dann sollte beim Flashen des AVRs das Display von der Schnittstelle getrennt werden!
Ansteuerung / Programmierung unter BASCOM:
Die Ansteuerung des Dispalys ist trotz der vielen Optionen recht einfach und fast immer wieder gleich.
Hier mal ein Beispiel, wie man die Stiftfarbe (Vordergrundfarbe) ändert:
Code:
Bitwait Display_busy , Set
Reset Display_cs ' Chipselect Display Module
Waitus 2
I = &H14 ' SetPenColor
Spiout I , 1
Bitwait Display_busy , Reset
Spiout Red , 1 ' Send Parameter
Spiout Green , 1
Spiout Blue , 1
Bitwait Display_busy , Set
Set Display_cs ' Chipselect Display Module
Waitus 1
Zur Erklärung:
Als Erstes wird durch den BUSY-Pin geprüft, ob das Display bereit ist:
Code:
Bitwait Display_busy , Set
Code:
Reset Display_cs
Code:
Waitus 2
[B]I = &H14 ' SetPenColor[/B]
Spiout I , 1
Code:
Bitwait Display_busy , Reset
Spiout Red , 1
Spiout Green , 1
Spiout Blue , 1
Code:
Bitwait Display_busy , Set
Set Display_cs
Waitus 1
Nun wurden alle benötigten Daten an das Display erfolgreich übermittelt und die neue Stiftfarbe ist sofort verfügbar.
Mit den verschiedenen Kommandos kann man dann recht schnell ähnlich nette Displaylayouts entwickeln wie z.B. dieses hier:
Damit ich aber die Ansteuerung des Displays nicht immer wieder neu eingeben muss, habe ich mir dafür entsprechende Subroutinen geschrieben.
Diese werden dann einfach mitten im Programm aufgerufen und ausgeführt.
Wie ich das im einzelnen realisiert habe, folgt dann in Kürze...
Gruß,
Cassio