Forum: Mikrocontroller und Digitale Elektronik STK600 Add-On LCD?


von batty m. (battyman)


Lesenswert?

Ein duften Tag an die Community.

Ich bin immer noch dabei mir für mein Projekt Hardware-Komponenten 
zusammenzusuchen.
Habe mittlerweile ein STK600 mit dem ATmega2560. Jetzt bräuchte ich noch 
eine Anzeige und die Unmengen an LC-Display's sind, für mich als Laie, 
in ihren Eigenschaften/Vorteil/Nutzen/Ansteuerung etwas unüberschaubar.

Deswegen frage ich euch mal an der Stelle welches LCD für mein 
Entwickler-Board geeignet wäre?

Prjekt-Gedanke und Anwendung:
Ich möchte eine Photodiode, als Lichtsensor/ Messgerät, nutzen und deren 
Signal mittels µC auswerten/ ausgeben. Die Messgröße "Ist" soll auf dem 
Display als 0-100% (selbst voreingetsllter Bereich) ausgegeben werden. 
Weiterhin soll nun eine Eingabeaufforderung "Soll" zu sehen sein. Mit 
den auf dem STK600 befindlichen Switsch's würde ich "Enter" und Sollwert 
"Rauf"/"Runter" generieren. Mit der Eingabe-Bestätigung soll nun eine 
Lichtquelle angesteuert und auf Soll=Ist reguliert werden.
Zzgl. möchte ich gerne ein "Master"-Screen mit Uhrzeit, Datum und 
Temperatur haben, welches ebenfalls immer mitangezeigt werden soll.

Ergo: Wäre ein Display mit genügend Platz von Vorteil.

Die Anbindung des Display's mit dem Board dachte ich mit den "Expansion 
Connectors" zu tätigen. Ist das gut oder schlecht und egal bei was, das 
"Warum" würde mich interessieren. Gibt es dabei eigentlich 
komplikationen mit den normalen I/O-Port? Hab gerade noch gelesen, dass 
die ebenfalls mit an den Expansion Connectors geroutet werden!

Vielen lieben Dank für eure Hilfestellungen und bei guten Tipps und 
Ausführungen, warum ihr welches Exemplar wählen würdet.

THX LG

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

batty man schrieb:
> die Unmengen an LC-Display's

Bitte ohne Apostroph.

batty man schrieb:
> Deswegen frage ich euch mal an der Stelle welches LCD für mein
> Entwickler-Board geeignet wäre?

Geeignet ist alles, was einen eigenen Controller hat, also entweder ´was 
alphanumerisches oder ein Grafik-LCD. Bei den ersteren spricht man von 
HD44780-kompatiblen Displays und bei den letzteren sind die 
EA_DOG-Displays recht verbreitet (beide Gruppen monochrom mit 
verschiedenfarbigen Hintergrundbeleuchtungen). Für beide gibt es 
genügend Bibliotheken und gute Dokumentationen. Vollfarb-LCDs (oder 
OLEDs) sind auch denkbar, dabei sollte man auf Preis und Busanbindung 
achten. SPI beispielsweise benötigt weit weniger Anschlusspins, als 
Parallelanschluss. Was auch unbedingt zu beachten ist, ist dass einige 
Displays ihre hohe Versorgungsspannung (-7...-12V oder +5..+12V 
mitbringen, viele aber auch nicht. Die Logikspannung der meisten 
Displays ist 3.3V oder 5V.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

batty man schrieb:
> Switsch's

Switches oder Schalter.

von Peter D. (peda)


Lesenswert?

Die Schalter's und LCD's mit Kabel's an die AVR's auf den Board's 
anschließen und dann Programm's schreiben. So machen das die Leut'z.
Schöne Feiertag's.

von batty m. (battyman)


Lesenswert?

Knut Ballhause schrieb:
> Geeignet ist alles, was einen eigenen Controller hat, also entweder ´was
> alphanumerisches oder ein Grafik-LCD.

Warum benötigen die einen eigenen Controller, wenn ich doch den mega2560 
nutze?

von spess53 (Gast)


Lesenswert?

Hi

>Warum benötigen die einen eigenen Controller, wenn ich doch den mega2560
>nutze?

Die einzigen AVRs, die ein controllerloses LC-Display direkt, ohne 
AVR241*,  ansteuern können sind ATMega169/329/3290/649/6490.

*http://www.atmel.com/Images/doc2569.pdf

MfG Spess

von Peter D. (peda)


Lesenswert?

batty man schrieb:
> Warum benötigen die einen eigenen Controller, wenn ich doch den mega2560
> nutze?

Weil der 2560 keinen internen LCD-Controller hat.
Und mit normalen IO-Ports lassen sich keine verschiedenen Spannungen für 
das LCD-Multiplexen erzeugen.

LCDs ohne Multiplex kannst Du natürlich direkt anschließen (bis max 86 
Anschlüsse), wird aber ein ganz schöner Drahtverhau werden.
Ein EA-DOG mit SPI braucht nur 4 Anschlüsse.

von batty m. (battyman)


Lesenswert?

Hi, über die Weihnachtstage habe ich nun meine Displays bekommen.
Für den Einstieg ein EA W204B-NLW (4x20 Zeichen) und für die spätere 
Erweiterung ein EA DOGXL160W-7. :-D

Nun habe ich mich dann eben zuerst mit dem W204B beschäftigt und zudem 
die AVR-GCC-Tutorials "LCD-Ansteuerung" und "Erweiterte LCD-Ansteuerung" 
gelesen und versucht so viel wie nur möglich auch zu verstehen.
Das Display habe ich mit einem 10 adrigen Flachbandkabel und 
entsprechenden Vorwiderstand für den Kontrast an meinem STK600 als 
4-bit-Variante verbunden. µC-Spannung auf 5V per Software eingestellt. 
Alles top.
Zum Test habe ich nun ein Beispiel-Projekt erstellt und dort die 
"lcd.h", sowie "lcd.c" Dateien importiert. Da ich mit dem PortA arbeiten 
wollte, habe ich auch die header-datei daraufhin abgeändert. Die 
Taktfrequenz habe ich ebenfalls für mein mega2560 auf 16MHz angehoben.

Nun das Problem:
Da ich ein 4x20 Zeichen Display habe muss ich deren Eigenschaften auch 
noch anpassen, da die des Tutorial für ein 4x16er erstellt wurde. Wo 
muss ich dieses tun bzw. welche Werte muss ich wie anpassen? Derzeitig 
verschiebt er eben den Curser immer an Stellen die ich so nicht haben 
möchte.

Für mein Verständnis:
Muss ich dann für jedes weitere Projekt in dem ich das LCD mit nutze 
immer die lcd.c importieren? Oder anders gefragt, macht man es aus 
Vereinfachungsgründen diese als Basic zu haben und nur einzubinden, 
damit später das Hauptprogramm nicht zu umpfangreich wird? Schreibarbeit 
kann durch Copy/Paste ja nicht als Mehrarbeit begründet sein.
Also bei der lcd.h kann ich es verstehen, da dort alles vordefiniert 
wird. Das benutz ich dann einfach immer und gut ist. Aber die lcd.c ist 
doch nicht unbedingt notwendig, oder doch. Ich möchte später meine 
Anzeige aktualisieren, damit ein gemessener Wert zeitnah ausgegeben 
wird. Das mit dem Aktualisieren würde ich ja in meinem Hauptprogramm 
machen wollen und nicht in die lcd.c gehen und es dort ausführen. Für 
weitere Hilfe-Stellung oder Erklärung bin ich sehr dankbar.

LG

von batty m. (battyman)


Lesenswert?

Kann mir keiner weiterhelfen? Bitte

von batty m. (battyman)


Lesenswert?

Mhh, echt keiner mit ner kleinen Hilfestellung? Hab bisher noch nichts 
weiter dazu gefunden wie ich das wo ändern/anpassen müsste.
Bisher habe ich jetzt einfach den Curser um die Stellen verschoben um in 
der nächsten Zeile auf der ersten Stelle zu gelangen, ist aber leider 
immer eine kleine Kopf-Rechenaufgabe.

Danke

LG

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.