Hallo Leute! Ich grüsse Euch!
Hat Jemand vieleicht Erfahrungen mit diesem interessanten Tutorial???
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#LCD-Ansteuerung
Ich möchte für mein kleines Projekt ein LCD ansteuern. Es soll aber
nicht mehr Arbeit machen als bis her.
LCD (Zeilen x Zeichen 4x20). Controller (ATmega32)
Kann mir da Jemand was empfehlen was garantiert zu diesem Tutorial
passt?
Ohne die Initialisierungszeiten etc. zu ändern. Es soll einfach laufen!
Auf welches LCD ist dieses Tutorial zugeschnitten??? (Reichelt / Pollin)
Ich habe Beiträge gelesen, in denen doch die Kompatibilität zwischen dem
HD44780 und KS0066 in Frage gestellt wird.
Bitte nicht falsch verstehen. Ich bin nicht faul, habe aber genug Ärger
mit dem Rest des Projektes...
Wäre für einpaar Tips sehr dankbar.
Vielen Dank
Also wenn du nach Tutorial vorgehst, dann führt das sicher zum Erfolg.
Ich würde ein LCD mit HD44780-Controller nehmen, damit funktionierts
ganz sicher!
Viel Erfolg
Könntest Du mit vielleicht ein Modell nennen (mit Bestellnummer) mit dem
es totsicher funktioniert?
Hat es bei dir auch funktioniert?
Wäre sehr dankbar für diese Hilfe.
Danke
Ja, es hat bei mir auch funktioniert.
Wenn du mir noch sagst wo du normalerweise bestellst, kann ich mal
schauen ob ich eines finde, welches ich schon erfolgreich getestet habe.
Ich kann dir aber versprechen (aber keine Geld zurück Garantie) wenn du
es so machst wie im Tutorial beschrieben und das LCD o.g. Controller
hat, dass es funktioniert. Bei mir hats auf jeden Fall immer geklappt.
Es ist mir egal wo ich das LCD bestelle.( Conrad, Pollin, Reichelt)
Hauptsache das LCD funktioniert mit dem Tutorial ohne dass ich am Code
was verändern muss.
Was für ein Display hast du? Wo hast du das gekauft?
Danke für Deine Antworten.
Einsteiger wrote:
> Ich habe Beiträge gelesen, in denen doch die Kompatibilität zwischen dem> HD44780 und KS0066 in Frage gestellt wird.
Ja, KS0066 und HD44780 funktionieren nicht identisch. Für das Tutorial
sollte die kompatibilität aber locker langen. Jedenfalls sind die
meisten Fehler, die hier gemacht werden, Verkabelungsfehler oder
timingprobleme durch falsche Taktung.
Einsteiger wrote:
> Hast DU schon mal ein 4x20 LCD zum laufen gebracht?> Ich weiss nicht was für ein Display ich kaufen soll?
Ja, habe ich.
Aber im Prinzip ist es für die Ansteuerung ziemlich belanglos, ob du ein
zwei- oder ein vier zeiliges Display hast. Bei Reichelt sollte unter der
Artikelnummer "LCD-MODUL 16X4" etwas passendes auftauchen.
Für den Anfang empfehle ich vieleicht doch, ein kleineres Display zu
nehmen, da diese günstiger sind, falls du dich mal verlöten solltest.
Das kommt bei den ersten Experimenten schonmal vor. "LCD 162C" ist z.B.
mit knapp 7€ super günstig.
Wie ich bereits sagte, für die prinzipielle Ansteuerrung ist es
unerheblich, ob das Display 4 oder 2 Zeilen hat. Später kannst du
einfach das Display austauschen und mit wenigen Handgriffen die Code
ganz leicht anpassen.
Einsteiger wrote:
> Kann mir jemand eine ganaue Bestellnummer nennen???
Mach mal die Augen auf. In meinem Posting hatte ich zwei bestellnummern
genannt.
OK Leute.
Ich habe mir nun folgendes LCD gekauft:
- DEM 20485 SYH-LY
- LCD Controller LSI KS0066
- 4x20
Datenblatt :
http://www.soselectronic.ro/a_info/resource/d/dem/dem20485syh-ly.pdf
Ich werde mich gleich morgen an die Arbeit machen und das LCD nach
diesem
Tutorial anschliessen :
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#LCD-Ansteuerung
Ich hoffe Ihr werdet mich einbißchen unterstützen!
Bis dahin danke ich Euch für Eure Hilfe!
(Ich werde es schön dokumentieren und Online stellen damit Anfänger wie
ich
Euch in Zukunft nicht mit solchen Fragen belästigen)
P.S. Habe ich überhaupt das Richtige LCD gekauft???
Liebe Grüsse
Hallo ich bin´s wieder!
Wie versprochen habe ich jetzt alles laut diesem Tutorial verdrahtet:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#LCD-Ansteuerung
Es tut sich überhaupt nichts :o( NATÜRTLICH NICHT...
Klar habe ich mir gedanken gemacht und kam zu dem Ergebnis, dass
dieses Tutorial für den HD44780-Controller erstellt worden ist.
Im Klartext: Die Initialisierung des LCD´s kommt erst garnicht zustande.
Mein LCD benötigt folgende Initialisierung (sehe Anhang)
Leider bin ich (noch) nicht fähig ohne Hilfe diese Initialisierung auf
mein LCD umzuschreiben.
Original aus dem Tutorial :
...
void lcd_init(void)
{
LCD_DDR = LCD_DDR | 0x0F | (1<<LCD_RS) | (1<<LCD_EN); // Port auf
Ausgang schalten
// muss 3mal hintereinander gesendet werden zur Initialisierung
_delay_ms(15);
LCD_PORT &= 0xF0;
LCD_PORT |= 0x03;
LCD_PORT &= ~(1<<LCD_RS); // RS auf 0
lcd_enable();
_delay_ms(5);
lcd_enable();
_delay_ms(1);
lcd_enable();
_delay_ms(1);
// 4 Bit Modus aktivieren
LCD_PORT &= 0xF0;
LCD_PORT |= 0x02;
lcd_enable();
_delay_ms(1);
// 4Bit 2 Zeilen 5x7
lcd_command(0x28);
// Display ein Cursor aus kein Blinken
lcd_command(0x0C);
// inkrement / kein Scrollen
lcd_command(0x06);
lcd_clear();
}
...
Kann bitte mir jemand helfen ??? Wie kann ich die lcd_init Funktion auf
mein LCD unter Einhaltung der richtigen Reihenfolge und Zeiten
umschreiben???
Für kleine und große Hilfe danke ich Euch vielmals.
Liebe Grüsse
Einsteiger wrote:
> Für kleine und große Hilfe danke ich Euch vielmals.
Zu wenig relevante informationen.
Bitte erstelle einen Vollständigen verdrahtungsplan und hänge den
kompletten Code an. Welchen Microcontroller auf welchen Board verwendest
du?
Du Beschreibst, daß sich garnichts tut. Das kann eigentlich nicht sein.
Nach dem Einschalten des Displays sollten zumindest zwei schwarze Balken
in Reihe eins und drei sichtbar sein.
Kann mir Jemand vielleicht die lcd_init Funktion erläutern?
Wie funktioniert das?
Mit dem Tutorial komme ich nicht wirklich zurecht...
Danke im voraus.
Einsteiger wrote:
> Mit dem Tutorial komme ich nicht wirklich zurecht...
Wie gut kannst du C? Schon irgendwelche Vorerfahrungen?
Hast du einen Testcode mal ausprobiert, ob der Controller generell
überhaupt Code ausführt? (zb. in dem man eine LED blinken lässt)
@ Niels.
Ja klar. So ein Anfänger bin ich auch noch nicht.
Controller funktioniert auf jeden fall.
Am Port_C ist eine Lichtschranke angeschlossen. (Die Funktion ist da)
Zustand der Lichtschranke derzeit durch eine LED signalsiert.
Soweit alles ok.
Ich möchte einfach nur bezwecken dass mein LCD eine Meldung ausgibt,
wenn die Lichtschranke verdeckt ist...
Einfach ist gut...
Ich komme mit der Initialisierung des LCD´s nicht zu recht.
Gruss
Na ja 8 MHz wie im Tutorial.
Die Fuses habe ich wie folgt gesetz.(s. Anhang)
Aber das ist nicht das Problem (denke ich)
Die Initialisierung bei dem KS0066-Controller unterscheidet sich von dem
KS0070 aus dem Tutorial.
(
http://www.mikrocontroller.net/attachment/37946/4-bit_interface_mode.PNG
)
Und das bekomme ich nicht hin. Die Erfahrung fehlt mir leider.
Kannst Du sowas programmieren???
Gruss
Ich will dir ja nicht die Hoffnung nehmen, aber ich rechne nicht damit,
daß es daran liegt. Eigentlich tun die Display-Controller sich alle
nichts.
Ich würde an deiner Stelle eher nochmal die Verkabelung checken und
sicherstellen, daß der Mega32 tatsächlich auch mit 8Mhz läuft.
Also.
Es funktioniert nicht.
ABER. Bevor ich eine falsche Diagnose stelle, werde ich erstmal
ausgiebig
eine fehlersuche durchführen...
Ferner werde ich etwas mit den Zeiten herumspielen...
Ich melde mich sobald ich alles durch habe.
Vielen, vielen Dank erstmal !
Liebe Grüsse
Sorry Niels.
Wir müssen das ganze auf die nächsten Tage verschieben.
Habe den Atmega32 dank ponyprog (und meines Unwissens) gesperrt.
Muss erstmal einen neuen bestellen.
Aber ich komme wieder. GANZ BESTIMMT.
Ich mache mich bemerkbar. Denke spätestens am mittwoch
Danke erstmal
und vielen dank
Eine eigene Frage?
Dieser Thread ist über 18 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.