Forum: Mikrocontroller und Digitale Elektronik Grafik Display gesucht für PIC18F2550


von Simon (Gast)


Lesenswert?

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

von Achim (Gast)


Lesenswert?

Das sind meist 4 völlig unabhängige Dinge:
Controller, Display, 1 Pixel setzen, sinnvolles anzeigen.

von Simon (Gast)


Lesenswert?

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?

von Witkatz :. (wit)


Lesenswert?

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

von Simon (Gast)


Lesenswert?

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

von holger (Gast)


Lesenswert?

>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.

von Simon (Gast)


Lesenswert?

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.html
http://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

von holger (Gast)


Lesenswert?

>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.

von Helmut (Gast)


Lesenswert?

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

von Simon (Gast)


Lesenswert?

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

von Michael (Gast)


Lesenswert?

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

von Helmut (Gast)


Lesenswert?

;-) 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.

von Michael (Gast)


Lesenswert?

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.

von Simon (Gast)


Lesenswert?

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

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
Noch kein Account? Hier anmelden.