arduino micro und lcd 16*2

Hallo zusammen,
ich habe eine Problem beim Anschluss eines lcd 16*2 an analogen Anschlüssen beim Arduino micro

Anschluß lcd:
RS = A4 ; digital 22 beim micro
E = A3 ; digital 21 beim micro
D4 = A2; digital 20 beim micro
D5 = A1; digital 19 beim micro
D6 = A0; digital 18 beim micro
D7 = digital 13

Beispiel LiquidCrystal "Hello World" für lcd geladen und die folgenden Ausgänge eingetragen

LiquidCrystal lcd(22, 21, 20, 19, 18, 13);
oder
LiquidCrystal lcd(A4, A3, A2, A1, A0, 13);

funktioniert beides nicht, es werden nur ?? oder andere Zeichen angezeigt
Wenn ich die Spannungen messe kommen unterschiedliche werte

Es ist doch richtig dass beim micro A0 = 18; A1 = 19 usw. ist?
Zumindest ist es so, wenn ich A0 bis A7 als digital Ausgänge für Relais oder Siebensegmentanzeigen benutze.

Wenn ich das LCD an andere I/O wie D4, D5, D6, usw. anschließe funktioniert das LCD ohne Probleme

Was mache ich falsch?
Danke schon mal für Eure Hilfe

Hallo,

hier http://arduino.cc/en/Main/ArduinoBoardMicro ist das Pinout des Micro beschrieben und eine Grafik ist auch dabei

DPorts > 13 finde ich da keine.
Versuch am besten als erstes ein digitalWrite auf jeden der Ports, zB digitalWrite(A0, HIGH), um zu testen, ob die Ports unter den Konstanten angessprochen werden.
Wenn das für jeden der Ports funktioniert, liegt der Fehler woanders. Wie hast du R/W angeschlossen?

Gruß aus Köln

Aber in deinem Link ist ziemlich klar beschrieben, dass
20 Digital I/O + 12 Analog Input + 7 PWM Outputs + Serial + SPI + ...
zusammen 20 verschiedene Pins sind :wink:

Ob du digitalRead(14) oder digitalRead(A0) schreibst, sollte egal sein, denke ich.

Sei froh, dass der Reset-Pin nicht als einer der 20 Universal-Pins gezählt wird, sondern tatsächlich separat ist :wink:

Die Analogpins sind definitiv von 13 bis 19.

Probier mal so:

Anschluß LCD:
RS = 18 ; // Digital 18 beim Micro = A4
E = 17 ; // Digital 17 beim Micro = A3
D4 = 16; // Digital 16 beim Micro = A2
D5 = 15; // Digital 15 beim Micro = A1
D6 = 14; // Digital 14 beim Micro = A0
D7 = 13; // Digital 13 beim Micro = Digital 13

Also für Dich: Du schreibst statt

LiquidCrystal lcd(A4, A3, A2, A1, A0, 13);

dann mal so

LiquidCrystal lcd(18, 17, 16, 15, 14, 13);

Hallo zusammen

also ich habe es nun mal mit digital Ausgänge probiert.
Es wirklich so, dass wenn ich das Standard digital Beispiel mit Taster auswähle
und die einzelnen A0 bis A5 sowie 18 bis 22 eintrage jeweils die 5 Volt ausgegeben werden.

Wenn ich die Ausgänge so eingebe
LiquidCrystal lcd(18, 17, 16, 15, 14, 13); da tut sich gar nichts
LiquidCrystal lcd(A4, A3, A2, A1, A0, 13); da bekomme ich komische Zeichen ? > usw. irgendwo
LiquidCrystal lcd(22, 21, 20, 19, 18, 13); da bekomme ich auch komische Zeichen ? > usw. irgendwo
nur nicht Hello World

@ erni-berni R/W ist auf GND

ich habe eine Platine gemacht mit einem 5V Spannungsregler dieser versorgt den LCD, nicht der 5V Ausgang des Arduino,
kann dies das Problem sein, wobei wenn ich das LCD an andere Pins, also Pins D0 bis D13 anschließe funktioniert es

Hat noch jemand eine Idee?