Hallo Forum, da ich schon einige wertvolle Infos von hier bezogen habe, wollte ich mal "Hallo" sagen. Ich habe vor Jahren mal eine DDS-Steuerung mit PIC 16F84 gehäkelt und bin dann begeistert zu AVR gewechselt. Im Moment baue ich gerade an der Erweiterung einer Bibliothek für 44780-LCDs mit zwei Controllern. Pollin hat gerade 4x27 für 4,95 Euro im Angebot. Ausserdem liegt hier ein GSM-Modul von Motorola (bzw. Ebay) mit 0,5mm Folienanschluß, mit dem der AVR sprechen soll. (http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&category=10662&item=5753472239&rd=1&ssPageName=WDVW) ist so ein Ding. Schönes Wochenende, Falk (der jetzt nochmal kurz mit Lupe, Pinzette und Weller-Magnastat versucht, PIN 14 anzulöten :-)
Hmm, warum nimmst du nicht den MINI PFOSTENSTECKER. Der hat auch die wichtigsten Anschlüsse ausgeführt. GND VCC klar, und TXD RXD. Das reicht doch völlig um das GSM Modul zu steuern. Hab das selbe vor einigen Monaten ersteigert. Den passenden Stecker gibt es bei Reichelt. Man kann dann schön ne Platine anfertigen, auf dem der AVR sitzt. Später dann einfach draufstecken, Spannung dran, und los gehts.
Hi... Mit dem 4x27-LCD hantiere ich auch gerade (mit Mega8). Habe auch einige Routinen und aufrufende Macros gebastelt, die die Ausgabe vereinfachen. Z.B.: - locate Zeile,Spalte (setzt Ausgabeposition) - printf Label (gibt terminierten String aus Flash aus) - prints Label (gibt terminierten String aus SRAM aus) - printe Label (gibt terminierten String aus EEPROM aus) - printz Registername (gibt Zahl für Uhr zweistellig aus) - print Konstante (gibt angegebenes Zeichen aus) in Vorbereitung: - printui RegH,RegL (gibt u-Integer 5-stellig aus) ...
> Hmm, warum nimmst du nicht den MINI PFOSTENSTECKER.
Grummel.... Weil ich den glatt übersehen habe. War einfach zu schön um
wahr zu sein.
Danke für den Tip.
Gruß,
Falk
@...HanneS... Wie hast Du das Display angeschlossen? Also ich meine hast Du den Folienleiter entfernt und was anderes drangemacht? MfG - C. Lechner
Erstmal ganz unkonventionell, da ich es vorerst am STK500 nutze. Den Folienleiter habe ich dabei entfernt. Auch das Trimmpoti für Kontrast habe ich erstmal nur mittels Klebepad angeklebt und frei verdrahtet. Beide GNDs sind durch eine Brücke verbunden. Die Anschlussbelegung ist an das hiesige Tutorial angelehnt, also: AVR: LCD: Px0 D4 Px1 D5 Px2 D6 Px3 D7 Px4 RS Px5 Enable obere 2 Zeilen Px6 Enable untere 2 Zeilen Px7 R/W (vorerst noch fest auf L) ("x" steht für den verwendeten Port...) ...
Kleiner Einwurf zu "LCD's" und "Verbindungen" Ich habe mir beim Experimentieren und Entwickeln einfach angewöhnt meine LC's gleich mit einer Pfostenleiste zu versehen und per Flachbandkabel auf einen Stecker zu gehen. Das Bild im anhang ist schon etwas älter (ca. 3 Jahre) und die vergussmasse am Stecker hat unzälige Bläschen aber es hält und zeigt was ich meine. (Beim Pollin LC (4x27) hab ich noch einen Adapter angebracht um auf die Pfostenreihe zu kommen.) Der Vorteil dabei ist das ich schnell das "Interface" wechseln kann. Also Direkt oder ne kleine Platine mit PCF8574 um über I2C anzusteuern oder einfach ein Schieberegister sammt MAX232 für ne Serielle ansteuerung. Das wars auch schon
Noch mal zu LCDs: Ich habe auf meinem selbstgehäkelten AVR-Brett 3 Anschlüsse. 1x16 pin Reihe für "Standard-Versender-44780"-LCDs, die ich direkt aufstecken kann, 1x16 pin DIL für ein "gefundenes" 24x2 und 2x12 pin Reihe für das 27x4 von Pollin. Die Zuordnung zum AVR ist: Daten: PORT0...3, E:4, RS:5, RW:6, E2:7 (für den 2. Controller beim 27xx) Ich benutze die lcd-bibliothek von Peter Fleury (http://homepage.sunrise.ch/mysunrise/peterfleury/lcdlibrary.zip). Für das Pollin-LCD habe ich ein paar kleine Erweiterungen eingebaut, die mit "#define LCD_N_CONTR 2" aktiviert werden. Mein Experimentierbrett besteht aus eine Lochraster-Eurokarte. Der Mega32 sitzt auf je einer Hälfte von 2 Reihen mit 2x16pin und einem 4pin DIL-Sockel, bei denen gegenüberliegende Pins verbunden sind. Eigentlich war das meine Notlösung, weil ich keinen 40pin DIL-Sockel hatte, jetzt gefällt mir, daß ich an jeden Pin komme, ohne mit windigen Klemmen Kurzschlüsse zu bauen. Wenn noch Hardware anzuschließen ist, werden eben weitere Sockel und Bauteile mit Cu-Lack-Draht angelötet. So habe ich den experimentellen Kram auf dem Prototypenboard und oft benötigtes fest verdrahtet. Schönes Wochenende, Falk
Hallo, ich habe auch das Display von Pollin, und würde dies gern einsetzen da es sehr schöne Maße hat. Könntest du eventuell die änderungen die du an der Lib gemacht hast eventuell Erläutern. Tschau Ingo
@Ingo: Ich hab's mal beigelegt. Suche nach "LCD_N_CONTR", da sind die entsprechenden Änderungen. Gruß, Falk
Hi! Ich bekomme es nicht hin, die unteren beiden Zeilen meines 4x27ers von Pollin anzusteuern. s. Anhang (Auszug aus lcd.h und Compiler-Meldungen) Sind die Warnings "normal"? Wenn ich lcd_gotoxy(0,2); lcd_puts("Zeile3"); lcd_gotoxy(0,3); lcd_puts("Zeile4"); schreibe, dann werden die oberen beiden Zeilen angesprochen. In den unteren Zeilen tauchte durch Zeilenumbruch auch schonmal etwas auf, initialisiert werden sie auch. Oder gibts was zu beachten beim Ansteuern der unteren Zeilen? Danke!
War nicht mehr genug Platz im Forum, sodaß Du diesen Thread hier "geklaut" hast? :) Meine Vermutung: #define LCD_START_LINE3 0x00 /**< DDRAM address...line 3 */ #define LCD_START_LINE4 0x40 /**< DDRAM address...line 4 */ Diese beiden Zeilen musst Du anpassen! Die Warnungen kann ich ohne Code nicht zuordnen...
Naja, ich beziehe mich ja auf den Beitrag von Falk Willberg.... Die beiden Zeilen sollten so stimmen. Im Datenblatt zum Display steht es auch so (sind ja 2 Controller die gleich angesteuert werden). Die Warnings betreffen die lcd.h (ein paar Beiträge weiter oben von Falk Willberg angehängt). Ich hab den Datentyp von pos testweise geändert: Keine Warnings mehr, aber ich komme noch immer nicht in die 3. und 4. Zeile.
#define LCD_N_CONTR 2 #define LCD_LINES 2 //! Zeilen/Controller #define LCD_DISP_LENGTH 27 #define LCD_LINE_LENGTH 0x40 //!Interne Zeilenlänge #define LCD_START_LINE1 0x00 #define LCD_START_LINE2 0x40 #define LCD_START_LINE3 0x00 #define LCD_START_LINE4 0x40 So geht es bei mir. Falk
Hi! Klappt leider nicht richtig. Durch den automatischen Zeilenumbruch bekomme ich Text in die 3. und 4. Zeile. Aber mit lcd_gotoxy(0,2) und lcd_gotoxy(0,3) komme ich nicht dort hin. Die Funktion lcd_gotoxy in lcd.h....kann es sein, dass dort der Controller nicht gewechselt wird?
Hi! Ich lasse die ersten beiden Zeilen vollständig durch mein Programm im Sekundentakt beschreiben (Uhrzeit usw.). Beide Zeilen sind bis zum Ende hin beschrieben. An die sekündliche Ausgabe habe ich das hier drangehängt: lcd_gotoxy(27,1); //Sprung zur 2. Zeile, 28. Zeichen (nicht vorhanden) lcd_puts("1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21x"); //27 Zeichen ausgeben Durch den Zeilenumbruch erscheinen nun in der 3.+4. Zeile die Zahlen 1-21 und das x an der letzten Stelle. Pro Sekunde wechseln jetzt allerdings die oberen beiden Zeilen mit den unteren beiden hin und her. Also so: Zeile1: Programmausgabe 1 Zeile2: Programmausgabe 2 Zeile3: 1 2 3 4 5 ... 12 Zeile4: 13 14 ... 21x Nächste Sekunde: Zeile3: 1 2 3 4 5 ... 12 Zeile4: 13 14 ... 21x Zeile1: Programmausgabe 1 Zeile2: Programmausgabe 2 dann wieder wie oben usw.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.