Forum: Offtopic Tach auch - Vorstellung


von Falk Willberg (Gast)


Lesenswert?

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 :-)

von Eugen (Gast)


Lesenswert?

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.

von ...HanneS... (Gast)


Angehängte Dateien:

Lesenswert?

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)

...

von Falk Willberg (Gast)


Lesenswert?

> 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

von C. Lechner (Gast)


Lesenswert?

@...HanneS...

Wie hast Du das Display angeschlossen? Also ich meine hast Du den
Folienleiter entfernt und was anderes drangemacht?

MfG
- C. Lechner

von ...HanneS... (Gast)


Angehängte Dateien:

Lesenswert?

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

von Ratber (Gast)


Angehängte Dateien:

Lesenswert?

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

von Falk Willberg (Gast)


Lesenswert?

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

von Ingo Uhlemann (Gast)


Lesenswert?

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

von Falk Willberg (Gast)


Angehängte Dateien:

Lesenswert?

@Ingo:
Ich hab's mal beigelegt. Suche nach "LCD_N_CONTR", da sind die
entsprechenden Änderungen.

Gruß,
Falk

von Ingo Uhlemann (Gast)


Lesenswert?

Dankeschön !!!

von Kersten D. (unbenannt-editor)


Angehängte Dateien:

Lesenswert?

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!

von Patrick D. (oldbug) Benutzerseite


Lesenswert?

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

von Kersten D. (unbenannt-editor)


Lesenswert?

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.

von Falk W. (dl3daz) Benutzerseite


Lesenswert?

#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

von Kersten D. (unbenannt-editor)


Lesenswert?

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?

von Kersten D. (unbenannt-editor)


Lesenswert?

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