Hallo zusammen, ich bin neu hier.
Ich würde gerne ein Grafikdisplay über einen PIC18F2550 ansteuern.
Leider weiß ich nicht genau, wodrauf ich bei der Auswahl eines Displays
achten sollte. Ich hoffe ihr könnt mir ein paar Vorschläge machen :-) Es
sollte folgendes realisierbar sein:
- Ansteuerung über I2C Schnittstelle
- 5V Spannungsversorgung
- Erstellen von Graphen/Anzeigen von Bildern
Nun gibt es dazu nach meiner Recherche viele Displays wie zum Beispiel:
http://www.reichelt.de/LCD-Module-Touch-Grafik/EA-EDIP-TFT43ATP/3/index.html?&ARTICLE=86676
Nur leider finde ich NULL Projekte/Tutorials, in denen schon mal jemand
so ein Display über I2C mit einem PIC Microcontroller angesteuert hat.
Warum ist das so? Ich würde am liebsten etwas nachbauen und anpassen, da
es für mich das erste Mal ist, dass ich so eine Art Display in Betrieb
zu nehmen. Habe leider noch nicht viel Ahnung davon.
Könnt ihr was empfehlen, was für Anfänger halbwegs geeignet ist(wenns
geht keine 2x16 Zeilen Displays) und wo man auch etwas im Internet zu
finden?
Danke im Voraus,
Gruß Simon
Achim schrieb:> Das sind meist 4 völlig unabhängige Dinge:> Controller, Display, 1 Pixel setzen, sinnvolles anzeigen.
Wieso unabhängig? Wenn ich die Datenübertragung über einen I2C Bus
realisiere, brauche ich doch auch beim Display diese Schnittstelle oder
nicht?
Kannst du eventuell einen Vorschlag bezüglich eines Displays machen?
Witkatz :. schrieb:> Simon schrieb:>> Nur leider finde ich NULL Projekte/Tutorials, in denen schon mal jemand>> so ein Display über I2C mit einem PIC Microcontroller angesteuert hat.>> Bei Nico gibt es ein paar Tutorials und Libs> - für das weit verbreitete ILI9341 mit SPI Schnittstelle:> http://pic-projekte.de/wordpress/?p=2767> - und für das SSD1306 mit I2C http://pic-projekte.de/wordpress/?p=3171
Danke für deine Antwort. Die Seite kannte ich schon, SPI kommt für mich
nicht in Frage. Das Tutorial zum OLED SSD1306 mit I²C ist an sich super.
So ein Projekt für ein Display mit 3-5 Zoll wäre halt perfekt, gibt es
da was? Es geht mir überwiegend um fertige Bibliotheken die ich nutzen
könnte...
Gruß Simon
>SPI kommt für mich nicht in Frage.
Komisch. Das ist viel schneller als I2C und auch noch
viel einfacher zu programmieren.
>3-5 Zoll wäre halt perfekt,
Bei I2C kannst du die Pixel bei so grossen Displays
beim einzeln reinkleckern ins Display locker von Hand mitzählen.
holger schrieb:>>SPI kommt für mich nicht in Frage.>> Komisch. Das ist viel schneller als I2C und auch noch> viel einfacher zu programmieren.>>>3-5 Zoll wäre halt perfekt,>> Bei I2C kannst du die Pixel bei so grossen Displays> beim einzeln reinkleckern ins Display locker von Hand mitzählen.
Hm das hört sich aber nicht gut für mich an :-(
Warum I²C?
--> Ich habe bereits sehr viele Komponenten über I²C angeschlossen über
I/O Karten. Und ich schätze, die können auch nicht mal eben über SPI
angeschlossen werden ...?!
u.A.:
http://www.horter.de/i2c/i2c-input-modul/i2c-input-modul-Beschreibung.htmlhttp://www.horter.de/i2c/i2c-temperatur/temperatur_1.html
etc...
Was würdest du mir raten? Display ohne Grafiken/kleiner? Oder würde eine
Umrüstung auf SPI viel Aufwand bedeuten?
Vielen Dank für eure Zeit und Hilfestellung
>Warum I²C?>>--> Ich habe bereits sehr viele Komponenten über I²C angeschlossen
Das ist natürlich schlecht. SPI und I2C liegen bei deinem uC
auf denselben Pins.
>Was würdest du mir raten? Display ohne Grafiken/kleiner?
Entweder kleineres Display oder halt ohne Grafik. Reicht oft auch.
Oder mal drüber nachdenken auf einen anderen Controller
umzusteigen.
Mach Deine Button, Plot und Grafiken mit einem Itead Display und
sende/empfange die dazu gehörigen Daten mit Deinem Schlaumeier
Preiswert und gut
Ein Editor, den man auch ohne Display testen kann gibt es auf
https://www.itead.cc/display/nextion.html
Helmut schrieb:> Mach Deine Button, Plot und Grafiken mit einem Itead Display und> sende/empfange die dazu gehörigen Daten mit Deinem Schlaumeier> Preiswert und gut> Ein Editor, den man auch ohne Display testen kann gibt es auf> https://www.itead.cc/display/nextion.html
Ich glaube das ist GENAU das was ich brauche, vielen Dank!
Ich habe dennoch 3 Anfängerfragen dazu:
1.
Kann ich dieses Display mit I2C ansteuern? Man findet nur die Angaabe
"Serial Port: 4 Pin", wobei das von der Anzahl der Pin´s ja passen
sollte.
2.
Warum steht überall wo ich das Display suche "For Arduino Raspberry Pi 2
A+ B+" ? Weils die meist verbreiteten sind? Sollte ja prinzipiell auch
mit meinem Pic Mikrokontroller laufen oder?
3.
Warum kaufen Leute Displays, bei denen man jeden Pixel einzeln ansteuern
muss, wenn es doch so tolle, einfach programmierbare (inkl. SD Karte)
Displays für wenig Geld gibt? Welche dann zusätzlich noch performant mit
I2C Ansteuerung laufen?!
Nach den Fragen lass ich euch in Ruhe :-P
Helmut schrieb:> Mach Deine Button, Plot und Grafiken mit einem Itead Display und> sende/empfange die dazu gehörigen Daten mit Deinem Schlaumeier> Preiswert und gut> Ein Editor, den man auch ohne Display testen kann gibt es auf> https://www.itead.cc/display/nextion.html
Hallo,
ich arbeite einigermaßen regelmäßig mit den Displays von EA, ich denke,
die haben das so ähnlich umgesetzt wie das Beispiel oben.
Das Display, welches der OT vorgeschlagen hat, kenne ich nicht direkt,
aber den kleinen, blau/weißen Bruder davon.
Es gibt von EA eine kostenlose Software und eine Art
"Programmieradapter", mit dem man eine ganze Menge Grafiken, Texte und
Bilder schonmal als Makro im Display speichern kann.
Und, jetzt kommt das Wichtigste, man kann so ein komplexes Makro
erstellen wie man möchte, die Befehle dazu sind mit bisschen anschauen
recht verständlich, man kann das auf dem Display ohne Zielsystem testen
so lange man will.
Das Makro bekommt dann eine Nummer, und der PIC muss nur einen Befehl
senden, sowas wie "Zeige Makro Nummer xxx".
Und, je nach Speichergröße sind dann eben über 100 verschiedene Makros
möglich, sodaß die Kommunikation zwischen PIC und Display sich meistens
auf die Nummer des Makros beschränkt.
Klar, wenn veränderliche Werte dazu gesendet werden müssen, also
beispielsweise ein Zahlenwert für einen Bargraf, dann wird der auch mit
übertragen, aber, ich muss nicht pixelweise den Bargraf zeichnen,
sondern ich sende einen Befehl "Zeichne einen Bargraf an der Stelle xxx
mit dem Wert yyy". Das kann ich auch in einen Bildschirm, den ich vorher
schon mittels eines Makros des Displays gestaltet habe, nachträglich
reinsetzen. Und irgendwann vorher, in irgendeinem Makro kann ich
schonmal festlegen, welche Farbe, Form, Schriftart, .....der Balken
haben soll.
Es ist bisschen umdenken, weil man jetzt zwei Dinge programmieren kann,
das Display mit seiner eigenen Sprache (siehe Datenblatt), Stichwort
Makros, also viele Befehle unter einem Makro zusammengefasst, welche der
PIC aufrufen kann und eben der Software auf dem PIC selbst.
Was auch noch ganz praktisch ist, das Display kann ja Touch, diese
Bereiche legt man auch im Display fest, Beispiel "1). Definiere Taste
von x nach y in Farbe sowieso, ...... 2).Wenn diese Taste gedrückt wird,
sende Codenummer 4711 an PIC".
Wenn nun eine so definierte Taste berührt wird, meldet sich das Display
beim PIC über eine separate Leitung (Meistens PIN20, SBUF) "Hey, ich
wurde berührt, lies mich bitte aus".
Dann über PIC auslesen und man weiß, was gedrückt wurde.
Ich habe so sehr viel in Assembler allerdings, auf dem PIC16 laufen,
einwandfrei.
Viele Grüße, Michael
;-) ich kenne EA Displays und auch Displays, bei Denen ich jede Pixel
definieren muß, so aufwendig braucht man aber heute nicht mehr kleinere
Projekte aufbauen.
Ich erkenne an Michaels Textinhalt den Profi und rate auch den Profis
sich mal mit den Itead Display zu beschäftigen.
Man kommt so leicht an schönen Ergebnissen, mit Touch und großem
Speicher für viele Layouts/Menue.
Die neueren haben 8 I/O Pins mit denen man auch ohne externem Master
etwas
ansteuern kann.
Gruß Helmut
PS: wenn da was "für Ardunio" steht, dann bedeutet es, dass es schon
Routinen für die Basics gibt und RS232TTL ist auch ähnlich I2C.
Helmut schrieb:> Ich erkenne an Michaels Textinhalt den Profi und rate auch den Profis> sich mal mit den Itead Display zu beschäftigen.
Hallo,
ja, die EA-Displays haben auch so ihre Tücken, eigene
Programmiersprache, es ist jetzt auch nicht grade so grafisch aufgebaut.
Ah, kleiner Hinweis, steht aber auch im Datenblatt, anfangs bin ich auch
erschrocken, waaas so viele Anschlusspins......
Aber, die sind nur zur mechanischen Fixierung gedacht, die meisten
führen eh nur Masse.
Aber, und das ist eben, zumindest bei mir, rein berufliche Nutzung
wichtig, lieferbar bei mehreren Quellen ;-) Reklamierfähig, wenn mal was
kaputt ist ......Zertifizierungsfähig, wenn einem Prüfer mal einfällt,
mal schauen, woher das Display so kommt......
Es gibt sicher immer mehrere Wege zum Ziel.
Viele Grüße, Michael
PS.: Der sich da übrigens nicht als Profi bezeichnen würde, aber, ja,
komme ganz gut klar mit den Dingern.
In meinem Projekt (Abschlussprojekt staatl geprüfter E-Techniker) sollen
lediglich 3-4 Sensorwerte auf dem Display angezeigt werden. Ich denke
dies ist mit den Nextion Displays sehr gut und vergleichsweise "einfach"
UND günstig möglich.
Die Beispiele an C-Codes (Programmierung des Mikrokontrollers), die man
im Internet alle findet, basieren meist auf einer Arduino Ansteuerung.
Sollte ja nicht allzu schwer sein, diese auf einen PIC Controller
anzupassen oder?
Grüße