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!
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
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.
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.
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 :)
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?
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
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?
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.
>> 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).
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
)
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
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.
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);
}
>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;)
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.
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.
@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)
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.
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
@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?
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.
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
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)
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.
>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.
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!)
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?
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.
>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;)
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.
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
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...
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
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?
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.
>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.
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.
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.
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.
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...
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 :-)
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.
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:
>> 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.
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.
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()
>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.
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
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
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!
>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.
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?
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.
>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.
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.
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 !!!
>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?
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.