Forum: Mikrocontroller und Digitale Elektronik Arduino Uno ref.3 und LCD Display 16x2


von Thomas (Gast)


Lesenswert?

Hallo liebe Mikrocontroller-Gemeinde, wer kann mir helfen?

Ich habe wie oben beschrieben ein Arduino Uno ref.3 seit ca. 2 Monaten. 
Nach den ersten Projekten mit LED`s kam schnell der Wunsch auf, ein 
LCD-Display an dem Arduino zu betreiben. Nach der Suche im Internet, 
konnte das ja nicht so schwer sein. Also ein 16x2 LCD Diplay bestellt 
und als es kam die entsprenden Kabel angelötet und mit dem Arduino 
verbunden. Doch leider kommen nur wirre Zeichen auf dem Display an. Ok 
dachte ich liegt es an mir, also ein SainSmart 1602 LCD Keypad Shield 
bestellt. Dies kam, angeschlossen und sie da, mein Programm lief sofort 
wie gewünscht.

Woran kann es liegen, dass ich das  Display ( nach HD44780 Standardt, 
1602 LCD Module Display Anzeigen 2X16 Zeichen) nicht wie gewünscht zum 
laufen bekomme?

Über fachkundige Hilfe würde ich mich sehr freuen!

von Eumel (Gast)


Lesenswert?

Falsche Verkabelung.
Display im Arsch.

von Spess53 (Gast)


Lesenswert?

Hi

>Doch leider kommen nur wirre Zeichen auf dem Display an.

Was für wirre Zeichen (Bild)?

>Woran kann es liegen, dass ich das  Display ( nach HD44780 Standardt,
>1602 LCD Module Display Anzeigen 2X16 Zeichen) nicht wie gewünscht zum
>laufen bekomme?

Mit deinen spärlichen Informationen ist keine vernünftige Antwort 
möglich.

MfG Spess

von Eumel (Gast)


Lesenswert?

Zumal es auch diverse Displays gibt die als HD44780 kompatibel verkauft 
werden es dann aber (gerade in der Initialisierung) nicht zu 100% sind. 
Schau doch mal in das Datenblatt deines Displays.

von Thomas (Gast)


Lesenswert?

hallo vielen Dank für die schnelle Antwort. Die Verkabelung habe ich 
mehrfach überprüft und auch neu gesteckt, um Fehler auszuschließen, doch 
es ändert sich nichts. Habe zwischenzeitlich das erste Display 
reklamiert und ein neues zugeschickt bekommen, doch da ist der gleiche 
Fehler aufgetreten. Habe es mit dem 4 Datenkabeln angeschlossen.

von Eumel (Gast)


Lesenswert?

Thomas schrieb:
> hallo vielen Dank für die schnelle Antwort. Die Verkabelung habe ich
> mehrfach überprüft und auch neu gesteckt, um Fehler auszuschließen, doch
> es ändert sich nichts. Habe zwischenzeitlich das erste Display
> reklamiert und ein neues zugeschickt bekommen, doch da ist der gleiche
> Fehler aufgetreten. Habe es mit dem 4 Datenkabeln angeschlossen.

Mach mal einen Schaltplan :)

von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal 2 Aufnahmen von den von mir angesprochen Zeichen.

von Thomas (Gast)


Lesenswert?

Anschluss und Programm genau wie auf dieser Seite zu sehen:

http://arduino.cc/en/Tutorial/LiquidCrystal

von Spess53 (Gast)


Lesenswert?

Hi

>Anschluss und Programm genau wie auf dieser Seite zu sehen:
>http://arduino.cc/en/Tutorial/LiquidCrystal

Also auch der gleiche Text?

MfG Spess

von Eumel (Gast)


Lesenswert?

Spess53 schrieb:
> Also auch der gleiche Text?
>
> MfG Spess

Warst du das oder jemand anders der aus den ausgegebnen Zeichen realtiv 
sicher drauf kommen konnte welche Datenleitungen vertauscht sind?

von Thomas (Gast)


Lesenswert?

ja gleicher text, wieso was soll vertauscht sein?

von Spess53 (Gast)


Lesenswert?

Hi

>Warst du das oder jemand anders der aus den ausgegebnen Zeichen realtiv
>sicher drauf kommen konnte welche Datenleitungen vertauscht sind?

Na ja, jemand anders war schneller.

MfG Spess

von Thomas (Gast)


Lesenswert?

Habe ich jetzt eine Antwort verpasst oder welche Datenleitung soll 
vertauscht sein?

von Thomas (Gast)


Lesenswert?

schade, dass ich nun keine Antwort mehr bekomme, wo doch jemand der 
Lösung des Problems so nah gekommen sein zu scheint

von holger (Gast)


Lesenswert?

Witzig das die dargestellten Zeichen in der Char Code Tabelle
alle aus der untersten Zeile kommen;)

von holger (Gast)


Lesenswert?

Ich tipp mal drauf das er statt DB4-DB7
DB0-DB3 angeschlossen hat.

von holger (Gast)


Lesenswert?

>Ich tipp mal drauf das er statt DB4-DB7
>DB0-DB3 angeschlossen hat.

Ach Quatsch, dann wären die Zeichen alle aus der letzten Spalte
in der Tabelle.

von Thomas (Gast)


Lesenswert?

nein das habe ich nicht, habe die Pins ( 11 - 14 ) DB 4 - DB 7 
angeschlossen. So wie es auch dargestellt ist in dem Beispiel.

von holger (Gast)


Lesenswert?

Ich glaub jetzt hab ichs;)
Die Routinen laufen mit dem 8 Bit Mode.

von Thomas (Gast)


Lesenswert?

oh , das hört sich gut an, eine Lösung des Problems schein greifbar,
Wie muss ich denn die anderen 4 Datenleitungen anschließen und wie muss 
ich das Programm verändern?

von Karl H. (kbuchegg)


Lesenswert?

holger schrieb:
> Ich glaub jetzt hab ichs;)
> Die Routinen laufen mit dem 8 Bit Mode.

Nicht wenn er das so wie in dem Link aufgebaut hat.

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:
> oh , das hört sich gut an, eine Lösung des Problems schein greifbar,
> Wie muss ich denn die anderen 4 Datenleitungen anschließen und wie muss
> ich das Programm verändern?

Mach mal ein Photo von deinem jetzigen Aufbau.

Und verändere dein Programm so dass es nicht ständig, sondern nur 
einmalig etwas ausgibt. Und zwar soll es "ABCDEFGHIJKL" ausgeben.


Und überprüf nochmal deine Verkabelung, ob du irgendwo einen schlechten 
Kontakt hast.

von holger (Gast)


Lesenswert?

>> Ich glaub jetzt hab ichs;)
>> Die Routinen laufen mit dem 8 Bit Mode.
>
>Nicht wenn er das so wie in dem Link aufgebaut hat.

Was hat der Aufbau damit zu tun? Seine Software
läuft im 8 Bit Mode. Seine Hardware ist mit 4 Bit
angeschlossen. Das Fehlerbild passt perfekt. Die unteren
4 Bit sind immer 1 (Leitungen offen und mit den internen
Pullups des Displays auf 1 gezogen).

von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Hier ein Bild von dem Aufbau der Schaltung

von Karl H. (kbuchegg)


Lesenswert?

holger schrieb:
>>> Ich glaub jetzt hab ichs;)
>>> Die Routinen laufen mit dem 8 Bit Mode.
>>
>>Nicht wenn er das so wie in dem Link aufgebaut hat.
>
> Was hat der Aufbau damit zu tun? Seine Software
> läuft im 8 Bit Mode.

Wenn er die Software aus den Arduino Link benutzt, dann nicht. Laut Doku 
ist durch die Initialisierung der 4-Bit modus ausgewählt.

(und genau deswegen hasse ich diesen Scheiss: "Ich hab das so aufgebaut 
wie in diesem Link". Ist es wirklisch so schwer, einfach das Schaltbild 
und das Programm zu posten, die man
a) tatsächlich aufgebaut hat
b) welche tatsächlich läuft
)

von Thomas (Gast)


Lesenswert?

ich habe doch den Link mit der Schaltung und dem Programm gepostet, ein 
Fato habe ich auch gemacht, doch ein Programm zum zeichnen der Schaltung 
habe ich nicht, sorry

von Karl H. (kbuchegg)


Lesenswert?

holger schrieb:

> Was hat der Aufbau damit zu tun? Seine Software
> läuft im 8 Bit Mode. Seine Hardware ist mit 4 Bit
> angeschlossen. Das Fehlerbild passt perfekt. Die unteren
> 4 Bit sind immer 1 (Leitungen offen und mit den internen
> Pullups des Displays auf 1 gezogen).

Nö, passt nicht.

Das ASCII Zeichen mit 0xF in den Low-Bits in derselben Spalte wie 'h' 
wäre ein  'o'.

Aber ich denke so falsch liegst du tatsächlich nicht. Sieht so als als 
ob es das LCD nicht vom 8 Bit Modus in den 4 Bit Modus geschafft hat. 
Ich denke immer noch, dass eine oder 2 Leitungen entweder vertauscht 
sind oder keinen Kontakt haben.

von Thomas (Gast)


Lesenswert?

Und hier das geänderte Programm:

/*
  LiquidCrystal Library - Hello World

 Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
 library works with all LCD displays that are compatible with the
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.

 This sketch prints "Hello World!" to the LCD
 and shows the time.

  The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)

 Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe
 modified 22 Nov 2010
 by Tom Igoe

 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/LiquidCrystal
 */

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.setCursor(0, 0);
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
//  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
//  lcd.print(millis()/1000);
}

von holger (Gast)


Lesenswert?

>Wenn er die Software aus den Arduino Link benutzt, dann nicht. Laut Doku
>ist durch die Initialisierung der 4-Bit modus ausgewählt.

Dann müssen wir wohl klären warum das untere Nibble
im 4 Bit Mode immer 0x0F ist und das obere richtig
übertragen wird.

Bleibt dann wohl nur noch das das Display zu schnell
angesteuert wird.

Allerdings sehe ich da immer noch die Möglichkeit
das das Display im 8 Bit Mode angesteuert wird;)

von Karl H. (kbuchegg)


Lesenswert?

holger schrieb:
>>Wenn er die Software aus den Arduino Link benutzt, dann nicht. Laut Doku
>>ist durch die Initialisierung der 4-Bit modus ausgewählt.
>
> Dann müssen wir wohl klären warum das untere Nibble
> im 4 Bit Mode immer 0x0F ist und das obere richtig
> übertragen wird.
>
> Bleibt dann wohl nur noch das das Display zu schnell
> angesteuert wird.
>
> Allerdings sehe ich da immer noch die Möglichkeit
> das das Display im 8 Bit Mode angesteuert wird;)


Könnte tatsächlich sein.
Wenn die Initialisierung vom 8-Bit Mode in den 4-Bit Mode nicht geklappt 
hat, dann könnte das LCD tatsächlich im 8 Bit Modus sein.

h hat das Bitmuster  0110 1000

statt dessen sieht er (ich hoffe mal, dass die ersten beiden sichtbaren 
Zeichen tatsächlich vom 'h' stammen:

/ mit dem Bitmuster  0010 1111
O mit dem Bitmuster  0100 1111


so. wo ist jetzt der Zusammenhang?
Auffällig ist für mich mal, dass im High-Nibble vom 'h' 2 Stück 1 Bit 
sind, die im / nicht mehr da sind -> könnte eine Leitung fehlen. Ich 
schätze mal DB1, das würde auch erklären, warum er nicht in den 4 Bit 
Modus kommt.

Und beim Low-Nibble von h und dem High-Nibble von O sind 2 Bits 
vertauscht. Zumindest sieht es so aus.

von Karl H. (kbuchegg)


Lesenswert?

Karl Heinz Buchegger schrieb:

> Auffällig ist für mich mal, dass im High-Nibble vom 'h' 2 Stück 1 Bit
> sind, die im / nicht mehr da sind -> könnte eine Leitung fehlen. Ich
> schätze mal DB1, das würde auch erklären, warum er nicht in den 4 Bit
> Modus kommt.

Nö, das ist Quatsch. Der Schluss ist so nicht gerechtfertigt.

von Thomas (Gast)


Lesenswert?

Ich hoffe und denke mal Ihr wisst wovon ihr hier sprecht, denn ich habe 
gerade den Durchblick bei dem verloren. sorry

von Karl H. (kbuchegg)


Lesenswert?

@Thomas

>  lcd.print("hello, world!");

mach da mal ein

   lcd.print( "01234567" );

draus und photographiere, was am LCD rauskommt.

(und lass die loop() Funktion leer)

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:
> Ich hoffe und denke mal Ihr wisst wovon ihr hier sprecht, denn ich habe
> gerade den Durchblick bei dem verloren. sorry

Ja junger Mann.
Wir veruschen gerade durch vergleichende ASCII Code Betrachtung zu 
identifizieren, welche Leitungen du vertauscht, bzw. welche keinen 
Kontakt haben.

Etas was du mit einem Durchgangsprüfer in 10 Sekunden feststellen 
könntest.

von Spess53 (Gast)


Lesenswert?

Hi

>Ich hoffe und denke mal Ihr wisst wovon ihr hier sprecht, denn ich habe
>gerade den Durchblick bei dem verloren. sorry

Ja, die Jungs wissen es. Aber mach du doch mal, was Karl-Heinz hier

Beitrag "Re: Arduino Uno ref.3 und LCD Display 16x2"

vorgeschlagen hat und poste das Ergebnis.

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

@holger

> // initialize the library with the numbers of the interface pins
> LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Das ist ohne Zweifel eine 4-Bit Initialisierung.
Und ich geh mal davon aus, dass die in der Arduino Lib auch klappt.


Was noch sein könnte:
Dass die Initialisierung zu schnell nach dem Reset kommt. Was schätzt 
du? Plausible Möglichkeit?

von Thomas (Gast)


Lesenswert?

Habe das Programm so verändert, doch leider kommt im moment überhaupt 
nichts mehr auf dem Display an. Habe an der Schaltung nichts verändert. 
Ich bin gerade ratlos.

von Spess53 (Gast)


Lesenswert?

Hi

>Habe das Programm so verändert, doch leider kommt im moment überhaupt
>nichts mehr auf dem Display an. Habe an der Schaltung nichts verändert.
>Ich bin gerade ratlos.

Dann überprüfe deine Lötstellen und die Kontakte vom Steckbrett. Am 
besten direkt die Verbindung vom Controllerpin zum LCD-Anschluss 
durchmessen.

MfG Spess

von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

das zeigt das Display im Moment an :-(

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:
> Habe das Programm so verändert, doch leider kommt im moment überhaupt
> nichts mehr auf dem Display an. Habe an der Schaltung nichts verändert.
> Ich bin gerade ratlos.

welchen Teststring hast du benutzt?
(Das ist eine wichtige Information. Der Prozess funktioniert nur dann, 
wenn wir wissen was du ans LCD gegeben hast und was statt dessen 
sichtbar ist. Der Prozesso beruht darauf, dass wir diese beiden 
Informationen auf Bitebene vergleichen und nach Mustern suchen.)

was ist mit "abcdef"
was ist mit "ABCDEF"
was ist mit "pqrstu"
was ist mit "PQRSTU"

(im Grunde spielt es keine große Rolle. Es soll nur nicht immer das 
gleiche Zeichen sein und du machst uns die Sache einfacher, wenn es sich 
um aufeinanderfolgende Buchstaben handelt)

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:
> das zeigt das Display im Moment an :-(

Das würde ich mal als die Nicht-Initialisiert Balken werten.

Strom aus - Strom an
und Programm neu starten lassen.

von holger (Gast)


Lesenswert?

>Aber ich denke so falsch liegst du tatsächlich nicht. Sieht so als als
>ob es das LCD nicht vom 8 Bit Modus in den 4 Bit Modus geschafft hat.

Ahh, ich Depp;) Umgekehrt gehts natürlich auch.

Aber es wurde initialisiert. Kurzschluss zwischen DB4 und DB5
könnte sein. Passt mit den ausgegeben Zeichen aber nicht zusammen.

von Karl H. (kbuchegg)


Lesenswert?

Spess53 schrieb:
> Hi
>
>>Habe das Programm so verändert, doch leider kommt im moment überhaupt
>>nichts mehr auf dem Display an. Habe an der Schaltung nichts verändert.
>>Ich bin gerade ratlos.
>
> Dann überprüfe deine Lötstellen und die Kontakte vom Steckbrett. Am
> besten direkt die Verbindung vom Controllerpin zum LCD-Anschluss
> durchmessen.

Jup. Das wäre der Idealfall, weil er gleich alle Varianten abdeckt.
Würde vieles vereinfachen, wenn man das mal durchmessen könnte. (Auch 
auf Kurzschlüsse mit benachbarten Pins achten!)

von Thomas (Gast)


Lesenswert?

Kontakte und Lötstellen sind i.O., habe jetzt die Kabel vom Display auch 
mal vom Steckbrett direkt auf das Arduino gesteckt, doch genau die 
gleiche Anzeige, Was ist mit dem Gedanken der zu schnellen 
Initialisierung?

von Karl H. (kbuchegg)


Lesenswert?

holger schrieb:
>>Aber ich denke so falsch liegst du tatsächlich nicht. Sieht so als als
>>ob es das LCD nicht vom 8 Bit Modus in den 4 Bit Modus geschafft hat.
>
> Ahh, ich Depp;) Umgekehrt gehts natürlich auch.
>
> Aber es wurde initialisiert. Kurzschluss zwischen DB4 und DB5
> könnte sein. Passt mit den ausgegeben Zeichen aber nicht zusammen.

Eben. An einen Kurzen hab ich auch schon gedacht. Aber das passt nicht.
Spiegeln der Leitungen passt auch nicht.

Mich wundert ja, dass er das LCD überhaupt initialisiert bekommen hat. 
Das kann ich mir eigentlich nur so erklären, weil ja das LCD default 
sowieso im 8-Bit Modus hochkommt.

von holger (Gast)


Lesenswert?

>Mich wundert ja, dass er das LCD überhaupt initialisiert bekommen hat.
>Das kann ich mir eigentlich nur so erklären, weil ja das LCD default
>sowieso im 8-Bit Modus hochkommt.

Die Balken verschwinden aber nicht ohne gültige Codesequenz.
Wär mal interessant wie viel Bits man verdrehen kann und man
trotzdem durch die Init kommt;)

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:
> Kontakte und Lötstellen sind i.O.,

nur um sicherzugehen.
Bitte eine ganz klare und eindeutige Aussage auf die Frage:
Wie hast du das festgestellt?

es ist nicht so, dass ich dir nicht traue. Aber das hat es schon öfter 
gegeben, dass Stein und Bein geschworen wurde, die HW sei in Ordnung und 
dann war es doch eine kalte Lötstelle.

> mal vom Steckbrett direkt auf das Arduino gesteckt, doch genau die
> gleiche Anzeige, Was ist mit dem Gedanken der zu schnellen
> Initialisierung?


Kannst ja mal vor der Initialisierung des LCD eine 1 sekündige 
Wartepause einlegen.

von Karl H. (kbuchegg)


Lesenswert?

holger schrieb:
>>Mich wundert ja, dass er das LCD überhaupt initialisiert bekommen hat.
>>Das kann ich mir eigentlich nur so erklären, weil ja das LCD default
>>sowieso im 8-Bit Modus hochkommt.
>
> Die Balken verschwinden aber nicht ohne gültige Codesequenz.

Jep. Das ist das was ich noch nicht verstehe.
Wie hat er ihn vorher durch die Initialisierung gebracht und jetzt 
offenbar nicht mehr.

Wobei ich nicht weiß, was genau eigentlich die Rücknahme der Init-Balken 
auslöst. Muss man das "Funktion Set" Commando schicken oder reicht ein 
"Clear"

> Wär mal interessant wie viel Bits man verdrehen kann und man
> trotzdem durch die Init kommt;)

:-)
'Leider' steht in den Datenblättern immer nur wies richtig geht

von Thomas D. (thomasderbastler)


Lesenswert?

Gibt es "irgendwo" ein Doku über die "verwendung von dieses Board mit 
LCD ?"

Was man hier über die Probleme mit LCDs hat, ist echt nicht 
normal...verstehe ich überhaupt nicht...

von Thomas (Gast)


Lesenswert?

Also habe sämtliche Lötstellen probiert (wackeln,ziehen...) doch nichts 
ändert sich, habe auch  das Programm mit Pause nach der Initialisierung 
verändert und so sieht es aus:

 */

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


void setup() {
 delay(5000);
 lcd.clear();
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print( "01234567" );
}

void loop() {

}


doch leider kein anderes Ergebnis

von J.-u. G. (juwe)


Lesenswert?

Thomas der Bastler schrieb:
> Gibt es "irgendwo" ein Doku über die "verwendung von dieses Board mit
> LCD ?"

Wozu brauchts da eine Doku?
1. Display richtig an den µC anschließem
2. Kontrast richtig einstellen
3. Richtiges Timing bei Übersendung der Kommandos beachten

> Was man hier über die Probleme mit LCDs hat, ist echt nicht
> normal...

99% der Probleme würden nicht auftraten, wenn die oben genannten Punkte 
beachtet werden. Was können Board oder LCD für vertauschte Leitungen, 
kalte Lötstellen und falsch gewählte Taktfrequenzen?

von Thomas (Gast)


Lesenswert?

wie könnte und müßte ich denn die Taktfequenz einstellen bzw. verändern?

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:
> Also habe sämtliche Lötstellen probiert (wackeln,ziehen...)

Hmm.
Hast du irgendeine Mögllichkeit die Leitungen mit einem Durchgangsprüfer 
'durchzuklingeln'. Selbst billige Multimeter haben oft so eine Funktion, 
dass sie pfeifen wenn zwischen den Spitzen ein elektrischer Kontakt 
besteht.

Obiger Test befriedigt mich nicht wirklich, weil damit zb ein Kabelbruch 
nicht erkannt wird. Ein elektrischer Test, bei dem man die komplette 
Strecke vom µC-Pin bis zum Pad auf dem LCD auf einen Schlag auf 
elektrischen Durchgang testen kann, so ein Test wäre wesentlich besser.

von holger (Gast)


Lesenswert?

>Also habe sämtliche Lötstellen probiert (wackeln,ziehen...) doch nichts
>ändert sich, habe auch  das Programm mit Pause nach der Initialisierung
>verändert und so sieht es aus:

VCC und GND sind auch in Ordnung? Nicht das dein Display
sich parasitär über die Datenleitungen versorgt.

von Thomas (Gast)


Lesenswert?

Ich habe ein Multi-Meter mit dieser Funktion, weiß nur nicht, ob ich an 
die KOntakte am Controler einfach so dran gehen kann damit

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:
> Ich habe ein Multi-Meter mit dieser Funktion, weiß nur nicht, ob ich an
> die KOntakte am Controler einfach so dran gehen kann damit


Mach den Arduino stromlos.

Dann kannst du durchklingeln soviel du willst.

von Karl H. (kbuchegg)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Thomas schrieb:
>> Ich habe ein Multi-Meter mit dieser Funktion, weiß nur nicht, ob ich an
>> die KOntakte am Controler einfach so dran gehen kann damit
>
>
> Mach den Arduino stromlos.
>
> Dann kannst du durchklingeln soviel du willst.

Nochmal:
Im Idealfall misst du direkt vom µC-Pin bis zum Pad auf dem LCD

Was ich allerdings nicht weiss: welcher Portpin am µC dem Anschlusspin 
zb 5 an der Arduino Steckerleiste entspricht.

von Karl H. (kbuchegg)


Lesenswert?

Karl Heinz Buchegger schrieb:

> Was ich allerdings nicht weiss: welcher Portpin am µC dem Anschlusspin
> zb 5 an der Arduino Steckerleiste entspricht.

laut
http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf

ist Anschluss:

   5     PD5    µC-Pin 11
   4     PD4           10
   3     PD3            9
   2     PD2            8

von Karl H. (kbuchegg)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Karl Heinz Buchegger schrieb:
>
>> Was ich allerdings nicht weiss: welcher Portpin am µC dem Anschlusspin
>> zb 5 an der Arduino Steckerleiste entspricht.
>
> laut
> http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf
>
> ist Anschluss:
>
>    5     PD5    µC-Pin 11
>    4     PD4           10
>    3     PD3            9
>    2     PD2            8


zusammen mit

 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2


ergibt das also:
es muss einen Duchgang geben, zwischen

   µC-Pin           LCD_Pad
    11               11
    10               12
     9               13
     8               14

jeweils auch kurz die jeweils benachbarten Pins antippen um zu sehen ob 
es irgendwo einen ungewollten Kurzschluss gibt.

von Karl H. (kbuchegg)


Lesenswert?

Falsch!

Hab mich mit den µC-Pins vertan


Es muss Durchgang geben von


  µC Pin                    LCD-Pad

     11                      11
      6                      12
      5                      13
      4                      14


Also nochmal:
laut
http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf

ist Anschluss:

   5     PD5    µC-Pin 11
   4     PD4            6
   3     PD3            5
   2     PD2            4

von Thomas (Gast)


Lesenswert?

also da ist auf allen Leitungen ein Durchgang da

von Spess53 (Gast)


Lesenswert?

Hi

>also da ist auf allen Leitungen ein Durchgang da

Auch zu den Nachbarleitungen?

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:
> also da ist auf allen Leitungen ein Durchgang da

Schön langsam gehen mir die Ideen aus :-)

von Thomas D. (thomasderbastler)


Lesenswert?

J.-u. G. schrieb:
> Wozu brauchts da eine Doku?

Ich selber brauche keins, sonder evtl. die Leute die Probleme 
haben...Bei mir liefen alle Anwendungen mit LCD auf Anhieb...

von Spess53 (Gast)


Lesenswert?

Hi

>Bei mir liefen alle Anwendungen mit LCD auf Anhieb...

Kannst du aber nichts dafür. Die Arbeit haben andere gemacht.

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Thomas der Bastler schrieb:
> J.-u. G. schrieb:
>> Wozu brauchts da eine Doku?
>
> Ich selber brauche keins, sonder evtl. die Leute die Probleme
> haben...Bei mir liefen alle Anwendungen mit LCD auf Anhieb...

Bei mir auch. Und das eine mal bei dems nicht tat, hab ich die 
Datenleitungen genau gespiegelt angeschlossen :-)

von Karl H. (kbuchegg)


Lesenswert?

Thomas der Bastler schrieb:
> J.-u. G. schrieb:
>> Wozu brauchts da eine Doku?
>
> Ich selber brauche keins, sonder evtl. die Leute die Probleme
> haben...

Hilft nicht viel.
Die Leute, speziell die Arduino Leute, haben ja die Doku die sie 
brauchen. Das Problem ist eher, dass die Fähigkeit zur Fehlersuche und 
systematischen Vorgehen noch nicht da ist.

Allerdings: ich bin mit meinem Latein auch am Ende.
Wenn die Verkabelung durchgeklingelt ist und korrekt ist,
die LCD-Klasse korrekt ist (wovon wir, denke ich ausgehen können)
dann seh ich keinen offensichtlichen Grund mehr, warum es nicht 
funktionieren sollte, ausser das das LCD ev. doch nicht kompatibel ist.

von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

so, habe nun alle Kabel und Anschlusse (gelötet) an dem Display 
durchgetestet und siehe da, es gab bei 2 Kabeln doch einen Kabelbruch, 
danke für den Tip mit dem Multimeter, Kabel war an 2 ("+" ) und an Pin 
6. Die 2 Kabel ersetzt und jetzt zeigt es zumindest ab Position 7 auf 
beiden Zeilen ordentlich an, von Position 0 bis 6 zeigt es zwar auch die 
Zahlen oder den Text an, aber nicht so klar und nicht so eindeutig zu 
erkennen, hier das Bild dazu:

von holger (Gast)


Lesenswert?

>> also da ist auf allen Leitungen ein Durchgang da

Das sagt noch nichts über Kurzschlüsse zwischen den Leitungen
oder Wackelkontakte aus.

>
>Schön langsam gehen mir die Ideen aus :-)

Da geht noch was. Dann eben auf die harte Tour:

Alle Leitungen abziehen. VCC, GND, Kontrast anschliessen.
Einschalten. Kommen die Balken?

Dann eine Leitung z.B. Enable anschliessen.
Programm schreiben was den Pin im 5s Takt wackeln lässt.
Nachmessen ob er am LCD auch wackelt. Nachbarpins messen.
Wackelt es da evtl. auch? Das sollte es nicht. Ausser bei RW.

Dann den nächsten Pin nehmen.... Sind doch nur 7 Pins.

Anders wird das wohl hier nix mehr.

von J.-u. G. (juwe)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Im Idealfall misst du direkt vom µC-Pin bis zum Pad auf dem LCD

Selbst da kann es Fallen geben. Ich habe habe es schon erlebt, dass der 
Kontakt zwischen Pin und Pad erst durch Kontakt der Prüfspitze 
hergestellt wurde. Beim "durchklingen" scheinbar alles ok, aber 
letztendlich doch kein Kontakt.

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:
> so, habe nun alle Kabel und Anschlusse (gelötet) an dem Display
> durchgetestet und siehe da, es gab bei 2 Kabeln doch einen Kabelbruch,
> danke für den Tip mit dem Multimeter, Kabel war an 2 ("+" ) und an Pin
> 6.

Puh - na also.
Ich hoffe du hast was draus gelernt.

> Die 2 Kabel ersetzt und jetzt zeigt es zumindest ab Position 7 auf
> beiden Zeilen ordentlich an, von Position 0 bis 6 zeigt es zwar auch die
> Zahlen oder den Text an, aber nicht so klar und nicht so eindeutig zu
> erkennen, hier das Bild dazu:

Wie ist das Programm?
Gibst du einmalig aus, oder laufend in der loop()

von holger (Gast)


Lesenswert?

>Die 2 Kabel ersetzt und jetzt zeigt es zumindest ab Position 7 auf
>beiden Zeilen ordentlich an, von Position 0 bis 6 zeigt es zwar auch die
>Zahlen oder den Text an, aber nicht so klar und nicht so eindeutig zu
>erkennen,

Ahh, zu spät;)

Hör mal auf das Display dauernd zu löschen und gib den
Text nur ein einziges mal aus.

von J.-u. G. (juwe)


Lesenswert?

Thomas schrieb:
> so, habe nun alle Kabel und Anschlusse (gelötet) an dem Display
> durchgetestet und siehe da, es gab bei 2 Kabeln doch einen Kabelbruch,

Ja, genau so oder ähnlich ist es eigentlich immer:

J.-u. G. schrieb:
> 1. Display richtig an den µC anschließem

von Karl H. (kbuchegg)


Lesenswert?

holger schrieb:
>>Die 2 Kabel ersetzt und jetzt zeigt es zumindest ab Position 7 auf
>>beiden Zeilen ordentlich an, von Position 0 bis 6 zeigt es zwar auch die
>>Zahlen oder den Text an, aber nicht so klar und nicht so eindeutig zu
>>erkennen,
>
> Ahh, zu spät;)
>
> Hör mal auf das Display dauernd zu löschen und gib den
> Text nur ein einziges mal aus.


:-)
2 Eseln - 1 Gedanke

von Thomas (Gast)


Lesenswert?

ich gebe beide zeilen nur einmalig aus, ist komisch dass beide Zeilen 
den gleichen Fehler aufweisen.

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:
> ich gebe beide zeilen nur einmalig aus, ist komisch dass beide Zeilen
> den gleichen Fehler aufweisen.


nicht unbedingt.
Wenn das LCD laufend gelöscht wird, dann flackert es wie verrückt und 
das kann dann schon seltsam aussehen.

Deine Aufnahme von weiter oben mit dem durchgehenden Balken hat das 
nicht nicht gezeigt. Daher

Programm sehen wollen!

von holger (Gast)


Lesenswert?

>ich gebe beide zeilen nur einmalig aus, ist komisch dass beide Zeilen
>den gleichen Fehler aufweisen.

Code zeigen. Ansonsten sieht das ein wenig ungesund aus.

von Thomas (Gast)


Lesenswert?

habe jetzt alle kabel raus, nur VCC, GND, Kontrast drin, Regelung am 
Potentiometer für den Kontrast wirkt sich nur auf die Zeichen ab 
Position 7 aus.

könnt ihr mir mit dem Programm helfen, was den kontakt wackeln lässt?

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:
> habe jetzt alle kabel raus, nur VCC, GND, Kontrast drin, Regelung am
> Potentiometer für den Kontrast wirkt sich nur auf die Zeichen ab
> Position 7 aus.

Das hat damit nichts mehr zu tun.
Das ist entweder ein Problem auf der LCD-Platine selber (Leitgummi 
defekt oder so was in der Art) oder es ist ein Problem im Programm, 
welches das LCD dauern löschen und neu beschreiben lässt (oder der 
Arduino stürzt laufend ab und startet dauernd neu).

Aber die Verkabelung ist es nicht mehr.
Wenn die Zeichen prinzipiell korrekt am LCD erscheinen, dann ist die 
Varkabelung zum µC erst mal in Ordnung.

von holger (Gast)


Lesenswert?

>habe jetzt alle kabel raus, nur VCC, GND, Kontrast drin, Regelung am
>Potentiometer für den Kontrast wirkt sich nur auf die Zeichen ab
>Position 7 aus.

Ich glaube jetzt hast du das Teil gekillt.

von Karl H. (kbuchegg)


Lesenswert?

holger schrieb:
>>habe jetzt alle kabel raus, nur VCC, GND, Kontrast drin, Regelung am
>>Potentiometer für den Kontrast wirkt sich nur auf die Zeichen ab
>>Position 7 aus.
>
> Ich glaube jetzt hast du das Teil gekillt.

Ein Spritzer Lötzinn an der falschen Stelle würde mir noch einfallen.
Aber wenn der Kontrast auch nur noch auf das halbe LCD wirkt, siehts in 
der Tat düster aus.

von Thomas (Gast)


Lesenswert?

auch wenn es nun leider nicht ganz bis zum Ende mit Erfolg gekrönt war, 
so danke ich doch allen, welche sich an der Fehlersuche und 
Ursachenforschung beteiligt haben.

ein ganz großes  DANKE !!!

von Axel R. (Gast)


Lesenswert?

>könnt ihr mir mit dem Programm helfen, was den kontakt wackeln lässt?

Die Zeiten, wo viele über die BASCOM User die Nase rümpften, könnten 
vorbei sein.

(Wobei mir die "Arduino-IDE" gut gefällt, mache damit bissschen mit LEDs 
und JAVA rum. siehe http://www.processing.org und paintyourdragon.com)

Grüße
Axelr.

edit:

auwei - smiley vergessen :)) war nicht böse gemeint, wirklich nicht.
Aber wäre es nicht sinnvoll, sich erstmal genau damit zu beschäftigen, 
also mit dem Wackeln von Portpins im Sekundentakt. Einfach, um sich 
eigene "Wekzeuge" zur Fehlersuche zu schaffen?

von Karl H. (kbuchegg)


Lesenswert?

Axel R. schrieb:

> Die Zeiten, wo viele über die BASCOM User die Nase rümpften,
> könnten vorbei sein.
...
> auwei - smiley vergessen :)) war nicht böse gemeint, wirklich nicht.
> Aber wäre es nicht sinnvoll, sich erstmal genau damit zu beschäftigen,
> also mit dem Wackeln von Portpins im Sekundentakt. Einfach, um sich
> eigene "Wekzeuge" zur Fehlersuche zu schaffen?


Um auf die Anspielung einzugehen.
Wenns mir nicht zu viel Arbeit wäre, könnte ich dir auch hunderte 
Threads raussuchen, die sich um genau dasselbe drehen, aber diesmal in 
'nacktem C' bzw. Assembler.

von Axel R. (Gast)


Lesenswert?

na ok . stimmt auch wieder, also eher ein übergreifendes fähnomäihn ;)

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.