Archiv verlassen und diese Seite im Standarddesign anzeigen : Grundlegendes: LCD
Hi,
zuerst mal vorab, die Suche habe ich benutzt aber nicht wirklich was brauchbares gefunden, so erging es mir auch bei google (Ich glaub ich bin zu blöd dafür ](*,) ).
Und zwar will ich mal die Grundlegende Ansteuerung eines LCDs wissen.
Wie genau läuft das ab?
Also irgendwie gibt es da ja 2Arten von. Einmal kann mein ein LCD direkt an die Serielle Schnittstelle anschließen und einmal über nen Controller (IC).
Wie läuft jetzt das genau ab?
Kann, mir das nicht so richtig vorstellen.
Die werden mit dem ASCII Code (?) angesteuert, oder? Und dabei spricht immer eine andere Reihenfolge der 1en und 0en einen Punkt im LCD an? Und sagt diesem ob er jetzt an gehn soll oder nicht?!?
Und wie läuft das dann mit Controllern? Die muss ich ja vorcher mit dem PC quasi programmieren, oder? Anderst geht das gar nicht?
Und in diesen ICs schreib ich dann also rein, wenn Eingang x = 1, dann gibt Zahlenfolge(n) aus... so weit richtig? Aber so ein IC hat ja nicht viele Eingänge, also kann ich ja nicht unbandig viele (kA) Operationen machen.
Kann, mir auch vll jemand ne kleine LCD Schaltung zeigen, wo man das mal probieren kann?
Sry, tut mir leid für die dummen Fragen, aber das ist noch alles Neuland für mich.
Freu mich über jeden Beitrag (auch wenns nur ein Link ist).
Gruß PINGU
Also...
Ein normales Display (Text) hat 8 Datenleitungen (D0-D7) und 3 Steuerleitungen (RS, R/W und EN).
Die Ansteuerung ist dabei im Prinzip recht einfach.
Man sendet dem Display einen Befehl, indem man zuerst den entsprechenden Code auf die Datenleitungen gibt.
Damit das Display aber überhaupt weiss, daß man ihm etwas sagen möchte braucht man "EN".
(nur mal so das grundlegende Prinzip, eine exakte Beschreibung würde hier wohl zu weit führen)
Man muss dabei nicht jeden Pixel einzeln ansteuern (kann man sowieso nicht),
sondern man sagt dem Display einfach welches Zeichen es ausgeben soll.
Falls du einen Controller verwenden möchtest, musst du ihn natürlich programmieren (ist nicht schwer).
Die Anzahl der Ports spielt dabei übrigens praktisch keine Rolle, falls du nicht gerade 200 Taster an den Controller hängen willst,
denn du kannst ihn auch einfach an die serielle Schnittstelle deines PCs hängen, und Daten austauschen.
Das könnten z.B. auch Befehle sein die den Controller dazu veranlassen sollen etwas bestimmtes zu tun.
(z.B. einen Text auf dem Display ausgeben)
Das alles gilt natürlich grundsätzlich erstmal für alphanumerische LCDs (also Text).
bei Grafik-LCDs sieht das wieder etwas anders (komplizierter) aus.
Die Anzahl der Ports spielt dabei übrigens praktisch keine Rolle, falls du nicht gerade 200 Taster an den Controller hängen willst,
denn du kannst ihn auch einfach an die serielle Schnittstelle deines PCs hängen, und Daten austauschen.
Das ist es eben, ich möchte es unabhängig vom PC betreiben. Also quasi einmal das 'Programm' auf den IC spielen und dann vom PC trennen und bei jedem Tastendruck gibt er was anderes aus. Ist dies möglich?
Woher weiß ich eigentlich welches IC ich genau für DAS LCD brauch?
Also...
Ein normales Display (Text) hat 8 Datenleitungen (D0-D7) und 3 Steuerleitungen (RS, R/W und EN).
Was hat es eigentlich mit diesen 8bit Datenleitung und 4bit Datenleitung auf sich? Hat ein LCD mit 4bit nur D0-D3!?
Wie werden denn Grafische LCDs angesteuert?
Ums mal genauer zu sagen, möchte dieses LCD (http://www.reichelt.de/inhalt.html?SID=12QbiyLNS4AQwAAE93FJ83fb5cfb240618 79f4961ad27e135f185;ACTION=3;LASTACTION=2;SORT=art ikel.artnr;GRUPPE=A522;WG=0;SUCHE=LCD;ARTIKEL=LCD% 2520240X128%2520BL;START=0;END=16;STATIC=0;FC=668; PROVID=0;TITEL=0) in nächster Zeit bestellen.
Und auch mit dem Prinzip wie oben beschrieben ansteuern, also IC einmal programmiern und dann vom PC trennen.
Gruß PINGU
Wenn du es unabhängig vom PC betreiben willst kannst du natürlich auch ein paar Tasten an den Mikrocontroller hängen.
Und auch da könntest du theoretisch beliebig viele Funktionen aufrufen, wenn du dir ein Menü programmierst
(da brauchst du im einfachsten Fall nur 4 Tasten um das ganze zu bedienen)
Das macht die Sache aber natürlich wesentlich komplizierter.
Wenn es einfach bleiben soll (eine Taste = eine Funktion), kannst du natürlich auch eine Menge Tasten direkt an den Controller hängen.
Dabei bietet es sich an diese Tasten als Matrix anzuordnen, dann lassen sich bis zu 16 (4x4) Tasten an einem Port betreiben.
@8-Bit/4-Bit
ein normales alphanumerisches LCD hat 8 Datenleitungen, lässt sich aber auch im 4-Bit Modus betreiben,
wobei nur die Leitungen D4-D7 als Datenleitungen verwendet werden.
In diesem Fall sendet man die Befehle in zwei Teilen zum LCD.
Der 4-Bit Modus ist natürlich dem 8-Bit Modus i.d.R. vorzuziehen, da man so nur einen Port für das Display braucht.
Was die Ansteuerung deines Displays betrifft, kannst du allerdings so ziemlich alles was ich dazu geschrieben habe wieder vergessen...
Grafik-LCDs sind nicht so leicht anzusteuern.
Du solltest dir mal das Datenblatt von dem LCD durchlesen, da steht das alles drin.
Was den Controller angeht, ist es wohl das Einfachste wenn du dir eines der Roboterboards von www.robotikhardware.de besorgst.
(das RN-Control 1.4 z.B. das du wahlweise mit einem ATmega16 oder ATmega32 bestücken kannst)
Wenn es einfach bleiben soll (eine Taste = eine Funktion), kannst du natürlich auch eine Menge Tasten direkt an den Controller hängen.
Ja, genau so habe ich mir das vorgestellt (eine Taste = eine Funktion). Nur somit brauch ich ein haufen Controller, oder?
Also wenn ich zB 50 Eingänge/Schalter habe und zB ein IC nur 2Eingänge hat (oder? Wieviel Eingänge hat denn so ein Controller?) brauch ich ja 25! Controller...
Dabei bietet es sich an diese Tasten als Matrix anzuordnen, dann lassen sich bis zu 16 (4x4) Tasten an einem Port betreiben.
Ist das dann wieder die ASCII Code Methode?
Also zB 0101 = Text (Taster 1 = aus; Taster2 = ein; Taster3 = aus; Taster4 = ein) usw...
Ist so das Prinzip?
Was die Ansteuerung deines Displays betrifft, kannst du allerdings so ziemlich alles was ich dazu geschrieben habe wieder vergessen...
Grafik-LCDs sind nicht so leicht anzusteuern.
Nee, passt schon, wollte ja erstmal die Grundlagen eines 'normalen' LCDs wissen.
Passt also schon. http://www.my-smileys.de/smileys2/00009161.gif
Du solltest dir mal das Datenblatt von dem LCD durchlesen, da steht das alles drin.
Jup, hab ich schon gemacht, werd aber daraus nicht wirklich schlau. Hab nur verstanden das schon ein paar Controller integriert sind und man eingetlich das Display nur noch an den PC anschließen muss?!? Sehr verwirrend...
Datenblatt (http://www.reichelt.de/inhalt.html?SID=12QbiyLNS4AQwAAE93FJ83fb5cfb240618 79f4961ad27e135f185;ACTION=7;LASTACTION=6;SORT=art ikel.artnr;GRUPPE=A522;WG=0;SUCHE=LCD;ARTIKEL=LCD% 2520240X128%2520BL;START=0;END=16;STATIC=0;FC=670; PROVID=0;TITEL=0;DATASHEETSEARCH=LCD%20240X128%20B L;FOLDER=A500;FILE=LCD240X128BL%2523EAS.pdf;DOWNLO ADTYP=1;DATASHEETAUTO=)
Was den Controller angeht, ist es wohl das Einfachste wenn du dir eines der Roboterboards von www.robotikhardware.de besorgst.
(das RN-Control 1.4 z.B. das du wahlweise mit einem ATmega16 oder ATmega32 bestücken kannst)
Will doch keinen kompletten Bot bauen, sondern nur ein LCD ansteuern...http://www.my-smileys.de/smileys2/biggrin.gif
Und 50,- für so ne Ansteuerung ist auch nicht gerade billig...
Gruß PINGU
Damn! Hab vergessen mich einzuloggen.
Das da oben war ich! ^^
Gruß PINGU
Ja, genau so habe ich mir das vorgestellt (eine Taste = eine Funktion). Nur somit brauch ich ein haufen Controller, oder?
Also wenn ich zB 50 Eingänge/Schalter habe und zB ein IC nur 2Eingänge hat (oder? Wieviel Eingänge hat denn so ein Controller?) brauch ich ja 25! Controller...
Also ein normaler Mikrocontroller hat sehr viel mehr als nur 2 Eingänge...
der ATmega32 z.B. hat, genau wie der ATmega16, insgesamt 32 I/O-Pins.
Ist das dann wieder die ASCII Code Methode?
Also zB 0101 = Text (Taster 1 = aus; Taster2 = ein; Taster3 = aus; Taster4 = ein) usw...
Ist so das Prinzip?Nene, das ist was ganz anderes...
ASCII bedeutet "American Standard Code for Information Interchange".
Es ist ein Zeichensatz, der definiert wie bestimmte Zeichen dargestellt werden.
genauere Informationen dazu gibts hier (http://de.wikipedia.org/wiki/ASCII)
Wenn man Taster in einer Matrix anordnet (zumindest elektrisch gesehen),
braucht man bei 16 Tastern nurnoch 4 Leitungen für die Spalten und 4 für die Zeilen.
Wird jetzt eine Taste gedrückt, verbindet man so genau eine Zeile mit genau einer Spalte.
Man muss also nurnoch entweder die Zeilen oder die Spalten als Ausgänge verwenden und eine nach der anderen auf High schalten.
(man tastet die Tastatur also Zeile für Zeile oder halt Spalte für Spalte ab)
Prinzipiell geht da noch viel mehr, wenn man ein bischen Logik zwischen Tasten und Controller packt,
aber für den Anfang ist die Matrix-Methode am besten würde ich sagen.
Jup, hab ich schon gemacht, werd aber daraus nicht wirklich schlau. Hab nur verstanden das schon ein paar Controller integriert sind und man eingetlich das Display nur noch an den PC anschließen muss?!? Sehr verwirrend...Jo, in jedem LCD ist bereits ein LCD-Controller drin (oder auch mehrere, je nachdem)
der übernimmt die Low-Level Ansteuerung des Displays (d.h. da hängen die einzelnen Pixel dran).
So wird die Ansteuerung des Displays einfacher, da man nurnoch dem LCD-Conroller sagen muss was er auf dem Display ausgeben soll.
Will doch keinen kompletten Bot bauen, sondern nur ein LCD ansteuern...
Und 50,- für so ne Ansteuerung ist auch nicht gerade billig...Klar, nur wäre das halt die bequemste Variante gewesen...
So musst du halt eine eigene Platine entwerfen auf der du den ganzen Kram unterbringst.
Eine andere Möglichkeit wäre statt dem Komplettbausatz nur die Platine zu nehmen, und eben alle Bauteile die du nicht brauchst wegzulassen.
Aha, OK.
Aber bei desem Matrix Prinzip muss da nicht noch ein IC zwischen Taster und Controller?
Oder macht das schon der Controller von alleine?
Mhh, gibt es denn für diesen Bausatz einen Schaltplan? Dann könnte ich mich damit mal ein bisschen beschäftigen und schaun, was man da alles weg lassen kann...
Achja, dieser Controller ATmega32 kann schon die einmal (via PC) eingegebenen Daten speichern und dann per Knopfdruck wieder ausgeben?
Kann man den auch für andere LCDs verwenden?
Gruß PINGU
"von alleine" macht so ein Mikrocontroller erstmal fast nichts, du musst eine Software schreiben die auf dem Controller läuft und das alles übernimmt.
(also die Kommunikation mit dem Display und das auswerten der Tasten)
Grundsätzlich ist ein Mikrocontroller ja nichts anderes als ein kleiner PC, d.h. er macht alles was du ihm sagst.
Du schreibst ein Programm, lädst es in den Controller und dann führt er es aus.
Du kannst also auch jedes beliebige LCD dran hängen.
Für die Roboternetz-Boards müsste es irgendwo auch Schaltpläne geben, ich weiss aber nicht genau wo.
Hi Pingu,
aller Anfang ist schwer und kompliziert, hat manden Bogen mal raus isses ganz easy :o)
Ich hab mal in nem anderen Thread geschrieben wie ich das mit dem LCD gemacht hab, im Übrigen hat das Forum auch ne Suchfunktion ;o)
Also meine Lösung ist hier:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=5810&highlight=
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.