Hi, habe mir einen LC Display für mein Arduino gekauft und nun auch gleich angeschlossen aber er funktioniert nicht richtig. Wenn ich das Hallo World Beispiel von arduino abspielen möchte kommt nur eine Zeile schwarz (Bild) Was ist falsch kann mir jemand helfen? Also alles ist eigentlich richtig angeschlossen (hoffe ich) Danke und Gruß
das zeigt das display immer an, wenn man es mit Spannung versorgt anhand des Balkens kannst du erkennen, das du zumindest den richtigen Kontrast hast. Jetzt musst du es noch ansprechen. Zeig uns dochmal den code und wie du das Display angeschlossen hast
/* LiquidCrystal Library - Blink 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 makes the cursor block blink. 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://arduino.cc/en/Tutorial/LiquidCrystalBlink */ // 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.print("hello, world!"); } void loop() { // Turn off the blinking cursor: lcd.noBlink(); delay(3000); // Turn on the blinking cursor: lcd.blink(); delay(3000); }
Simon Name schrieb: > 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) und? Hast du das auch so angeschlossen? Das ist auf deinem Bild nicht erkennbar
Es wäre nett, wenn du deine Bilder vor dem Hochladen verkleinern könntest. 5MPix braucht es für diese Fotos nicht.
Simon Name schrieb: > Ich habe mich nach dem Plan von Arduino gehalten: > http://arduino.cc/en/uploads/Tutorial/LCD_bb.png Hast du das gleiche Display wie im Schaltplan? Hast du ein Datenblatt vom Display?
Simon Name schrieb: > Ich habe mich nach dem Plan von Arduino gehalten: > http://arduino.cc/en/uploads/Tutorial/LCD_bb.png Vielleicht bin ich ja auch blind. Aber für mich gehen da eindeutig 2 Kabel zu den Pins 12 und 13 und nicht zu den Pins 11 und 12
Karl Heinz Buchegger schrieb: > Simon Name schrieb: >> Ich habe mich nach dem Plan von Arduino gehalten: >> http://arduino.cc/en/uploads/Tutorial/LCD_bb.png > > Vielleicht bin ich ja auch blind. > Aber für mich gehen da eindeutig 2 Kabel zu den Pins 12 und 13 und nicht > zu den Pins 11 und 12 Ist eine Frage der Perspektive :)
Davis schrieb: > Karl Heinz Buchegger schrieb: >> Simon Name schrieb: >>> Ich habe mich nach dem Plan von Arduino gehalten: >>> http://arduino.cc/en/uploads/Tutorial/LCD_bb.png >> >> Vielleicht bin ich ja auch blind. >> Aber für mich gehen da eindeutig 2 Kabel zu den Pins 12 und 13 und nicht >> zu den Pins 11 und 12 > > Ist eine Frage der Perspektive :) Muss gestehen. Das ist nicht wirklich eindeutig. Die Anschlüsse scheinen da enorm versetzt zu sein (sieht man bei den Anschlüssen 0, 1, 2, ..) und in der schwarzen Masse mit dem grünen Kabel davor, kann man noch nicht mal Anschlüsse ordentlich abzählen.
Simon Name schrieb: > 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) Die Belegung stimmt nicht mit Datenblatt überein.
Davis schrieb: > Karl Heinz Buchegger schrieb: >> Simon Name schrieb: >>> Ich habe mich nach dem Plan von Arduino gehalten: >>> http://arduino.cc/en/uploads/Tutorial/LCD_bb.png >> >> Vielleicht bin ich ja auch blind. >> Aber für mich gehen da eindeutig 2 Kabel zu den Pins 12 und 13 und nicht >> zu den Pins 11 und 12 > > Ist eine Frage der Perspektive :) Wenn ich nach der gehe: Von hier aus siehst sogar so aus, als ob das Anschlüsse 13 und 14 wären. Aber in der schwarzen Pixel-Suppe ist kaum was erkennbar.
@Davis aber ich erkenn keine Falschheit???!!!
Davis schrieb: > Simon Name schrieb: > >> 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) > > Die Belegung stimmt nicht mit Datenblatt überein. Habe mich getäuscht - sorry.
Sind die Pins am Display überhaupt verlötet??? Ich sehe oben kein Lötzinn und die ersten Pins scheinen in die Löcher gerutscht zu sein.
Könnte es vlt daran liegen dass ich ein 100K Poti nehme aber eigentlich ja nicht oder?
@BernhardSpitzer: nein habe ich nicht dass ist nur mit den Sandwichsticksverbunden aber es geht ja trotzdem wie man sieht wenn ich es schräg halte
> aber es geht ja trotzdem wie man sieht wenn ich > es schräg halte Anscheinend ja nicht. Also loete das mal anstaendig fest.
Simon Name schrieb: > Könnte es vlt daran liegen dass ich ein 100K Poti nehme aber eigentlich > ja nicht oder? Glaube ich nicht, da nach dem Zuschalten von VCC sich eine schwarzer Balken zeigt (siehe oben), der nach dem Initialisieren verschwindet.
Nein er verschwindet nicht der Balken.
Simon Name schrieb: > Nein er verschwindet nicht der Balken. Ja. Daher stand da auch "nach dem Initialisieren". Deine Initialisierung klappt nicht, daher sieht das Display eben noch so aus, wie es aussieht, wenn man einfach nur die Spannung zuschaltet. Was du nun konkret vergurkt hast, können wir allerdings schlecht raten, ein wenig Eigeninitiative darfst du auch an den Tag legen. Da man davon ausgehen kann, dass die Arduino-Codebibliothek keine grundlegenden Softwarefehler enthält, ist es außerordentlich wahrscheinlich, dass der Fehler irgendwo in deiner Hardware zu suchen ist. Die hast du aber vor dir liegen, nicht wir.
Bin am verzweifeln habe die Sticks jetzt hingelötet und alles nochmal nei eingesteckt und auch geschaut dass alles in Ordnung ist aber es geht immer noch nicht
Man sieht das zum Anderen Breadboard wo ich einfach das verbinde mit dem Poti
Hast du ein Multimeter, ann jede Verbindung einzeln "durchklingeln". Läuft der Controller überhaupt? Gegebenenfalls eine LED (plus Widerstand) an einen Portpin hängen und blinken lassen.
Der lauft schon, die BAlken sind ja immer noch da
Hi >Könnte es vlt daran liegen dass ich ein 100K Poti nehme aber eigentlich >ja nicht oder? Ist zumindest zehn mal größer als allgemein üblich. MfG Spess
Simon Name schrieb: > Der lauft schon, die BAlken sind ja immer noch da Das ist kein Anzeichen dafuer, dass der Controller laeuft. Ansonsten: Leg mal den Kontrast-Pin direkt auf Masse. Das muss zwar nicht unbedingt passen, aber dann ist die Poti-Verkabelung als moegliche Fehlerursache mal ausgeschlossen.
Denke nich, daß das Problem am 100K Poti liegt. Die schwarzen Balken deuten eher an falschen Anschluss von LCD hin oder das Problem ist die Ansteurung. Ich würde mal das ganze schnell auf einem Steckbrett zusammen stecken. Geflashte AVR , Grunbeschalltung und die LCD . Dreh mal an Deinem Kontrastregler, ändert sich was ?
@Martin S: ICh habe nicht genau verstanden: wie muss ich das machen?
Kann mir vlt. jemand der den gleichen LCD hat ein Foto schicken bei dem alles normal aufgebaut ist?
Ich sehe auf den Fotos keine Leitung für VCC. Evtl. verdeckt durch den Trimmer. Wenn da wirklich keine Leitung für VCC ist versorgt sich das Display aus den Datenleitungen.
Ja und? heißt des dass es dann keine versorgung für die daten hat?
Die Standardbelegung : 01 -- GND (VSS) 02 -- 5 V (VCC oder VDD) 03 -- Kontrast (VO oder VEE) 04 -- RS (Register Select) 05 -- R/W (Read/Write) 06 -- E (Enable) 07 -- D0 (Datenbit 0, im 4-Bit Modus nach GND schalten) 08 -- D1 (Datenbit 1, im 4-Bit Modus nach GND schalten) 09 -- D2 (Datenbit 2, im 4-Bit Modus nach GND schalten) 10 -- D3 (Datenbit 3, im 4-Bit Modus nach GND schalten) 11 -- D4 (Datenbit 4) 12 -- D5 (Datenbit 5) 13 -- D6 (Datenbit 6) 14 -- D7 (Datenbit 7) 15 -- evt. Hintergrundbeleuchtung, siehe Datenblatt 16 -- evt. Hintergrundbeleuchtung, siehe Datenblatt
holger schrieb: > Ich sehe auf den Fotos keine Leitung für VCC. > Evtl. verdeckt durch den Trimmer. Wenn da > wirklich keine Leitung für VCC ist versorgt sich > das Display aus den Datenleitungen. Könnte sein (siehe Anhang).
Simon Name schrieb: > Der lauft schon, die BAlken sind ja immer noch da Du hast es immer noch nicht verstanden: dieser schwarze Balken ist das, was das LCD anzeigt, wenn man es einfach nur an die Spannungsversorgung anschließt. Den zeigt es auch dann an, wenn du alle anderen Verbindungen komplett offen lässt.
Ich persönlich würde mal eine ausführliche RubberDuck-Session empfehlen (http://www.rubberduckdebugging.com/). Kauf dir eine Gummiente, setz sie vor dich hin, und dann erklär ihr alles. Jedes Kabel, jede Zeile Code, und was genau da passieren soll. Gummienten sind übrigens sehr neugierig und wollen alles genau wissen. Deshalb führ ihr ruhig vor wie du mit dem Multimeter den Strom an den einzelnen Pins misst. Und zeig ihr dass auch wirklich die Verbindung funktioniert indem du die Pins am LCD und am anderen Ende des Kabels (oder unten am Arduino) mit dem Leitungsprüfer berührst. Enten freuen sich wenn es dann piepst ! Zur Erklärung: Damit ein LCD funktioniert braucht es mindestens folgendes: 01. Der GND PIN am LCD muss mit dem GND Pin am Arduino verbunden sein. 02. Das LCD muss 5V bekommen. Der Arduino liefert 5V, also muss der Arduino 5V Pin mit dem LCD VCC verbunden werden. 03. Der Kontrast muss (mit einem Poti an dem du ruhig ein bisschen drehen solltest) so eingestellt sein dass du was sehen kannst. Aber nicht richtig dunkel - sonst steht vielleicht was da, und du siehst es garnicht. 04. Der LCD Pin RS muss mit dem Arduino PIN D12 verbunden sein. 05. Der LCD Pin R/W muss mit dem Arduino PIN GROUND verbunden sein. 06. Der LCD Pin E muss mit dem Arduino PIN 11 verbunden sein, 07. Die LCD Pins D4, D5, D6 und D7 müssen mit den Arduino PINs D5, D4, D3 und D2 verbunden sein. 08. Das richtige Programm muss auf dem Arduino laufen. Wenn das der Fall ist dann siehst du (je nach Kontrasteinstellung) den schwarzen Balken auf dem LCD. NICHT MEHR. (der taucht auf weil das LCD GND und VCC bekommen hat und ist vollkommen unabhängig vom Programm auf dem Arduino). Wenn du nun das richtige Programm auf dem Arduino hast (und das hast du hoffentlich geprüft, 100% bewiesen, und der Ente erklärt !) dann schickt dieses Programm eine komplizierte Sequenz aus Ein-, und Ausschalten der LCD Pins 4+5+6+7. Und nur wenn diese Sequenz exakt richtig ist, und auch auf wenige hunderstelt Sekunden genau ist das LCD Display richtig initialisiert und der schwarze Balken verschwindet. Die paar Kleinigkeiten die da ablaufen wenn du da den Arduino Programmcode einspielst sind in Wirklichkeit ein paar hundert Prozessorbefehle die ziemlich kompliziert sind. Thomas
Ok, ich habe das LC Display an die pins gelötet und nun kommt konstant der Balken aber das Programm fährt nicht ab. Ich benutze das normale LiquidChristalProgramm von ARduino. Kann mir jemand helfen? ich habe alle Pins richtig dran!
Simon Name schrieb: > Ok, ich habe das LC Display an die pins gelötet und nun kommt konstant > der Balken aber das Programm fährt nicht ab. Ich benutze das normale > LiquidChristalProgramm von ARduino. > Kann mir jemand helfen? ich habe alle Pins richtig dran! Nur mal so aus Neugier: In der Arduino-IDE hast Du das richtige Board ausgewählt? Ich kann mir vorstellen, daß es z.B. mit dem Timing nicht hinhaut, wenn Du da was falsches hinterlegst. 42m
Mach noch mal 2 oder 3 Photos auf denen man deine Verkabelung sehen kann. Wichtig: Anhand der Photos muss für uns jeder Anschluss nachvollziehbar sein. Und zwar eindeutig: wo beginnt das Kabel, wo endet es. Dass der Arduino prinzipiell läuft und du dein Programm auch wirklich übertragen hast, hast du ja hoffentlich überprüft? Du hast deine Löterei auch hoffentlich durchgeklingelt? Sprich: Du hast mit einem Durchgangsprüfer getestet, ob da auch wirklich eine Verbindung ist? Du bist zwar nicht darauf eingegangen, aber Thomas (von vor 3 Postings) hat da nicht unrecht mit seinem "Ducktest". Zur Fehlersuche ist das gar keine schlechte Vorgehensweise: sich selbst dumm stellen und alles und jedes erst mal in Frage stellen. Und zwar solange bis es überprüft und als gut getestet worden ist. Mit Annahmen ala "Aber da stimmt doch alles" kommt man nicht weiter. Wenn alles stimmen würde, würde es auch funktionieren.
Simon Name schrieb: > Ok, ich habe das LC Display an die pins gelötet und nun kommt konstant > der Balken aber das Programm fährt nicht ab. Ich benutze das normale > LiquidChristalProgramm von ARduino. > Kann mir jemand helfen? ich habe alle Pins richtig dran! Hallo Simon, nachdem Du ausschließen möchtest, dass Die Verbindung das Problem ist schlage ich vor dass Du Dich der SW zuwendest. a) System Einschalten, kein Code läuft. Liegen die Pegel am LCD richtig an? b) Initialisierung des LCD ausführen, prüfen ob das Timing stimmt. Liegen die Pegel jetzt richtig an? Ist der Balken weg? Wenn jetzt der Balken immer noch erscheint ist dann hast Du bisher etwas übersehen: entweder die Pegel stimmen nicht (SW, Verbindung doch fehlerhaft) oder das Timing stimmt nicht. rgds
Simon Name schrieb: > Kann mir vlt. jemand der den gleichen LCD hat ein Foto schicken bei dem > alles normal aufgebaut ist? Wenn's dir was hilft? Bild 1 ohne init, Kontrast >1V Bild 2 ---- || --- 0V und wies aussieht wenn's funst (Kontrast ~0V)
Naja, das 100k Poti könnte schon ein Problem sein. Es ist viel schwieriger, die korrekte Kontrastspannung einzustellen damit. Einfach mal ganz durchdrehen von oben bis unten (von links nach rechts oder umgekehrt)..
Electronics'nStuff schrieb: > Es ist viel schwieriger, die korrekte Kontrastspannung einzustellen > damit. Wenn der schwarze Balken zu sehen ist, dann ist der Kontrast gut. ;-)
Jörg Wunsch schrieb: > Wenn der schwarze Balken zu sehen ist, dann ist der Kontrast gut. ;-) Ich hatte schon massig Displays, bei denen schwarze Balken zu viel Kontrast bedeuteten?
Electronics'nStuff schrieb: > Ich hatte schon massig Displays, bei denen schwarze Balken zu viel > Kontrast bedeuteten? Kann ich bestätigen, waren aber alle älteren Baujahrs. Der Text war aber immer noch zu sehen.
Electronics'nStuff schrieb: > Jörg Wunsch schrieb: >> Wenn der schwarze Balken zu sehen ist, dann ist der Kontrast gut. ;-) > > Ich hatte schon massig Displays, bei denen schwarze Balken zu viel > Kontrast bedeuteten? Den genauen Kontrastwert stellt man dann sowieso erst ein, wenn das erste mal Text auf dem LCD zu sehen ist. Aber auf jeden Fall ist es ein untrügliches Zeichen, dass das LCD nicht initialisiert wurde, wenn der Balken zu sehen ist. Ist es initialisiert dann verschwindet der Balken. Und das (das verschwinden) sieht man auch, wenn der Kontrast nicht ganz genau stimmt sondern nur so ungefähr. Damit auch bei initialisiertem LCD alle Pixel schwarz sind, muss der Kontrast schon sehr grob daneben sein. Abgesehen davon ist ein 100k Poti auch nicht schwieriger einzustellen als ein 10k Poti. Ob man die Spannung mit einem 100k Spannungsteiler erzeugt oder mit einem 10k ist ja für das Drehen von einem Ende zum anderen irrelevant. Bei kleinerem Poti rinnt mehr Strom, aber die Spannung ist ja dieselbe.
Sind d0 bis d3 mit ground verbunden?
karl k. schrieb: > Sind d0 bis d3 mit ground verbunden? Hab ich noch in keinem Datenblatt, die waren aber so das schlechteste an Datenblättern die ich gesehen habe, gelesen und auch nie gemacht. Hat immer funktioniert, bis auf das auslesen des Bussy-Flags. Könnte es daran gelegen haben?
Hi
>Sind d0 bis d3 mit ground verbunden?
Was sollen die an GND? Die Displaycontroller haben interne
Pull-Up-Widerstände.
MfG Spess
Schon probiert, Simon? Beitrag "Re: LCD funktioniert nicht richtig bzw. zeigt nicht das was erhofft"
Electronics'nStuff schrieb: > Jörg Wunsch schrieb: >> Wenn der schwarze Balken zu sehen ist, dann ist der Kontrast gut. ;-) > > Ich hatte schon massig Displays, bei denen schwarze Balken zu viel > Kontrast bedeuteten? Aber dass in einem zweizeiligen Display eine der beiden Zeilen schwarz ist und die andere nicht, ist ein typisches Indiz für eine noch nicht erfolgte Initialisierung.
Jörg Wunsch schrieb: > Aber dass in einem zweizeiligen Display eine der beiden Zeilen > schwarz ist und die andere nicht, ist ein typisches Indiz für > eine noch nicht erfolgte Initialisierung. Wird langsam aber sicher zum "running gag" im Thread.
Karl Heinz Buchegger schrieb: > Abgesehen davon ist ein 100k Poti auch nicht schwieriger einzustellen > als ein 10k Poti. Ja, weiss auch nicht, was ich mir da überlegt habe. Karl Heinz Buchegger schrieb: > Damit > auch bei initialisiertem LCD alle Pixel schwarz sind, muss der Kontrast > schon sehr grob daneben sein. Ich habe hier ein Display (EA DIP203J, 4*20 Char), das extrem schnell schwarze Baken anzeigt. Ca. am den 2. Drittel der Poti-Umdrehung sind nur noch schwarze Balken zu sehen! Bei mir hat es zumindest gereicht, um die Display-Routine nochmals genau durchzusehen und mich über den Fehler zu wundern :P Gruss
Electronics'nStuff schrieb: > Karl Heinz Buchegger schrieb: >> Abgesehen davon ist ein 100k Poti auch nicht schwieriger einzustellen >> als ein 10k Poti. > > Ja, weiss auch nicht, was ich mir da überlegt habe. > > Karl Heinz Buchegger schrieb: >> Damit >> auch bei initialisiertem LCD alle Pixel schwarz sind, muss der Kontrast >> schon sehr grob daneben sein. > > Ich habe hier ein Display (EA DIP203J, 4*20 Char), das extrem schnell > schwarze Baken anzeigt. Ca. am den 2. Drittel der Poti-Umdrehung sind > nur noch schwarze Balken zu sehen! ok. Zustimmung. Sowas hatte ich auch mal. > Bei mir hat es zumindest gereicht, um > die Display-Routine nochmals genau durchzusehen und mich über den Fehler > zu wundern :P Bei mir wars so, dass ich dann zufällig mal etwas schräg von vorne/unten auf das LCD geschaut habe (wies halt am Basteltisch so ist) und ich aus dem Winkel das "Hallo World" im Balken gerade noch erkennen konnte. Eine kurze Drehung am Kontrast-Poti und "das Problem "war keines mehr. Aber zunächst hatte ich da auch erst mal dumm geschaut, als die bewährten LCD-Routinen scheinbar das LCD nicht initialisieren konnten. OK. Also ich geb zu, ganz so einfach ist die Sache dann auch nicht, wie es hier dargestellt wurde. Aber einfach mal das Poti von einem Ende zum anderen durchdrehen sollte eindeutige Klarheit bringen. Bei den üblichen LCD ist die richtige Kontrasteinstellung in der Nähe von 0V am Vee Pin und kleinere Abweichungen davon (halber Potiweg) sollten der grundsätzlichen Erkennbarkeit der Initialisierung keinen Abbruch tun.
Karl Heinz Buchegger schrieb: > Aber einfach mal das Poti von einem Ende zum > anderen durchdrehen sollte eindeutige Klarheit bringen. Ja, das schafft immer Klarheit und erspart (wie in deinem geschilderten Fall ebenfalls) manchmal echt Arbeit :)
Davis schrieb: > Wird langsam aber sicher zum "running gag" im Thread. Ich klink' mich jetzt aus .... Kontrast die 77ste Und Initialisierung die 42ste. rgds
Erinnert mich an die PC-Zeiten vor 25Jahren. Hilfe der Computer ist kaputt, auf dem Bildschirm ist nichts zu sehen Kontrast und Hellichkeit am Monitor hoch gedreht, repariert :D
Teo Derix schrieb: > Kontrast und Hellichkeit am Monitor hoch gedreht, repariert :D Oder die Maus bewegt ^^
Ich denke das ganze hat eigentlich garnichts mit dem LCD-Display zu tun. Ein LCD Display ist nur so ziemlich eine der ersten 'größeren' Sachen die man 'mal schnell' ausprobieren will. Dummerweise ist ein LCD-Display vom Aufbau sehr kompliziert und nicht wirklich ein 'wirf ein paar Buchstaben rein, und die werden angezeigt'-Dings. So gut wie immer sind die Probleme doch eher grundlegend: Verkabelung, Timing, richtige Programmausführung... Bei mir wars z.B. dass ich vergessen hatte die Prozessorregister zu leeren und damit das falsche Timinig hatte. Also eher 'grundlegende Probleme' mit dem Programmieren von AVR Assembler. Das LCD war unschuldig. LCDs sind einfach nur ziemlich pinkelig wenns um ihre Initialisierung geht :-) Thomas
@TE LIES! Einfach mal lesen, wie das die anderen Leute so gelöst haben. Wenn du es tatsächlich nicht schaffst ein popeliges Display mit einem popeligen Arduino mit einer fertigen Lib zum laufen kriegst, dann ist das einfach das falsche Hobby für dich. Multimeter rausnehmen -> Alle Verbindungen checken. Controller checken -> Evtl. LED anlöten oder so Takt checken etc. pp. Es gibt 10000000 Tipps dazu im Netz. Als kleine "Untermalung" meiner Aussage, hier ein Screenshot. Gruss und etwas mehr Durchhaltevermögen.
Thomas schrieb: > LCDs sind einfach nur ziemlich pinkelig wenns um ihre Initialisierung > geht :-) Geb ich dir recht. Allerdings haben wir hier den BASCOM/Arduino Fall. D.h. die Software müsste eigentlich korrekt sein. Da bei einem Arduino auch der Quarz vom Hersteller schon 'aktiviert' wurde, sollte es auch da keine Probleme geben. So leid es mir auch tut. Ich sehe nur 2 Möglichkeiten * entweder kann der Arduino (mit seiner LCD_Klasse) mit diesem LCD überhaupt nicht (aus welchem Grund auch immer) * oder es liegt noch ein Hardwareproblem vor, dass wir alle pausenlos übersehen. Ist halt auch schwer, wenn alles was wir haben ein paar windige Photos sind. Braucht ja nur irgendwo ein Kabel keinen Kontakt haben oder eine Lötstelle schlecht sein. Und dann steht ja auch noch im Raum, ob der Arduino prinzipiell läuft (wovon ich eigentlich ausgehe), bzw. ob das Programm überhaupt korrekt in den Ardu übertragen wurde. Daher würde ich mir mal im Programm etwas einbauen, womit ich sicher sagen kann: Prozessor läuft. Eine blinkende LED an einem der restlichen freien Pins ist immer gut.
Electronics'nStuff schrieb: > Oder die Maus bewegt ^^ Damals gabs noch keine Bildschirmschoner :) Thomas schrieb: > LCDs sind einfach nur ziemlich pinkelig wenns um ihre Initialisierung > geht :-) Manche brauchen da auch etwas längere Pausen als angegeben. Vor allem die Zeit nach dem einschalten sollte man eher großzügig bemessen.
Mein persönlicher Tipp wäre der hier: http://www.seeedstudio.com/depot/preorder-open-workbench-logic-sniffer-p-612.html?cPath=75 Sicherlich für dieses Projekt überdimensioniert, aber wirklich mal zu sehen was auf den einzelnen Leitungen für Signale rüberkommen sollte eigentlich die meisten Probleme lösen. Da das Ding aber aus Übersee kommt (oder so) hast du wohl das LCD am laufen bis es da ist :-) Thomas
Stimmt, da der TE noch garnicht gesagt hat ob er überhaupt seine Arduinos 'so richtig' versteht wäre es auch interessant zu wissen ob die richtig laufen. Eigentlich sollte das Blink-Beispiel mit Blinkzeit von einmal 100ms, einmal 500ms und einmal 1000ms grob zeigen können ob alles richtig funktioniert. Und ob der Poti nun richtig eingestellt ist weiß man auch ned so recht. Übrigens könnte man auch den Kontrastpin per PWM ansteuern. Bei Arduino heißt das AnalogWrite() (glaub ich) und sollte relativ einfach den Kontrast regeln können. Thomas
Aber jetz mal ehrlich, ohne dem TO allzu nahe treten zu wollen. Er dachte es reicht die Stiftleiste nur ins LCD zu stecken, ohne es zu löten! Sollte Er nicht mit etwas grundlegendes anfangen, wie eine LED am 9V-Block zum leuchten bringen ohne das sie durchbrennt :) PS: Story Simon das musste jetzt einfach sein ;)
>Da das Ding aber aus Übersee kommt (oder so) hast du wohl das LCD am >laufen bis es da ist :-) Watterott
@eypocrash: Watterott hatte ich geschaut. Momentan nicht lieferbar.
Thomas schrieb: > Mein persönlicher Tipp wäre der hier: > > http://www.seeedstudio.com/depot/preorder-open-wor... > > Sicherlich für dieses Projekt überdimensioniert, aber wirklich mal zu > sehen was auf den einzelnen Leitungen für Signale rüberkommen sollte > eigentlich die meisten Probleme lösen. > > Da das Ding aber aus Übersee kommt (oder so) hast du wohl das LCD am > laufen bis es da ist :-) > > Thomas Jemand der schon Probleme hat ein normales HD44780 LCD zum laufen zu kriegen ist mit sowas dann doch eher überfordert.
Teo Derix schrieb: > Electronics'nStuff schrieb: >> Oder die Maus bewegt ^^ > > Damals gabs noch keine Bildschirmschoner :) Achtung OT :) Ich bin mir sicher, daß es damals in DOS-Tools wie NC oder den Noton Utilities auch sowas wie einen Bildschirmschoner gab :) Eher würde ich gelten lassen: Damals gab es noch keine/kaum Mäuse :) 42m
Ich muss jetzt doch noch mal fragen, weil das Problem ja wohl immer noch besteht: 1) Verwendest Du die Arduino-IDE? 2) Hast Du, falls die Antwort auf Frage 1 "ja" lautet, das richtige Board ausgewählt? Dort kann man ganz viele verschiedene Boards wählen. Da es sonst keine Möglichkeit gibt, den Takt anzugeben und sowas wie #define F_CPU auch in den Beispielen nicht auftaucht vermute ich, daß das in der Boarddefinition mit drin steckt. Wenn nun aber der Takt nicht stimmt, weil Du das falsche Board gewählt hast, wird es wohl nicht funktionieren ... 42m
Hört mal ich arbeite seit ca.4 Monaten mit dem Arduino und habe auch eine gewisse Ahnung aber leider mit dem LCD nicht so ganz ok? Und ich habe nun alles angelötet und getan wie geschrieben und ich habe eine Ahnung in Technik: habe schon mit einem NE555 gearbeitet FlipFlopSchlatung, etc alles durchgenommen.
Ist ja gut ... wenn Du jetzt den Beleidigten spielst, weil hier vielleicht Vorschläge oder Rückfragen kommen, die Dich in Deiner Bastlerehre verletzen, dann sorry. Ich hab keine Lust mehr.
Simon Name schrieb: > leider mit dem LCD nicht so ganz ok? Es geht hier nicht um "Ahnung mit dem LCD", sondern einfach darum, dass wir nicht in der Lage sind, deine Hardware zu überprüfen. Da du eine Softwareumgebung benutzt, die relativ gut getestet ist (weil sie sehr viele Nutzer hat), ist die Wahrscheinlichkeit eben einfach sehr hoch, dass das Problem irgendwo in deiner Hardware zu suchen ist. Egal, wie viel du hier fragst, eine andere Hilfe wirst du leider nicht bekommen können.
Simon Name schrieb: > Hört mal ich arbeite seit ca.4 Monaten mit dem Arduino und habe auch > eine gewisse Ahnung aber leider mit dem LCD nicht so ganz ok? Jeder schafft es ein LCD an einen Arduino anzustöppseln, wenn du da dran scheiterst hast du einfach versagt. Ich würde hier jetzt die "Ich habe schon eine gewisse Erfahrung" Karte als letztes ausspielen. Wenn du nämlich eine gewisse Erfahrung HÄTTEST, dann wäre das ganze kein Problem für dich! Die Fehlerquellen sind eigentlich so gering, da kannst du fast gar nichts falsch machen! Prorgamm - läuft Arduino - läuft Kommunikation zum Arduino - läuft Also was bleibt da bitte noch? Belegung und Erzeugung der Kontrastspannung.
Electronics'nStuff schrieb: > Jeder schafft es ein LCD an einen Arduino anzustöppseln, wenn du da dran > scheiterst hast du einfach versagt. Ich würde hier jetzt die "Ich habe > schon eine gewisse Erfahrung" Karte als letztes ausspielen. Stimmt :) Ich kämpfe im Moment mit einem LCD am Arduino. Allerdings programmiere ich in C mit der Lib von Peter Fleury und flashe per JTAG2ISP . Das hat schon mal funktioniert, ich habe aber den größten Fehler gemacht, den man als Programmierer machen kann: ich habe ss nicht ausreichend dokumentiert :) Naja, das Wochenende ist lang, da kann ich mich nochmal einlesen ... In der Arduino-IDE ist es hingegen überhaupt kein Problem, das HelloWorld-Beispiel zum laufen zu kriegen. Wobei ... vermutlich gilt für mich das gleiche: jeder schafft es, ein LCD mit der Lib von Peter an einen 328p anzustöpseln, wenn ich das nicht schaffe, habe ich einfach versagt ;) Allerdings jammere ich nicht rum - von diesem Beitrag mal abgesehen :) 42m
Dann schreib ich dir ein Assembler Programm das 100% funktioniert, wenn es dann nicht klappt ist dein LCD im Arsch.
Eumel schrieb: > wenn > es dann nicht klappt ist dein LCD im Arsch. ...oder eben die Verdrahtung doch nicht OK. ;-) Du kannst getrost auf das Assemblerprogramm verzichten: der Arduino-Kram (ob man ihn nun leiden kann oder nicht) ist von der Software her durch so viele Nutzer getestet, dass man das als Ursache praktisch ausschließen kann. Es bleiben also nur noch Probleme in der Verdrahtung übrig, oder natürlich, dass das LCD selbst kaputt ist, oder dass die Firmware im Controller nicht die ist, die sie sein sollte. Gegen all diese drei Ursachen hilft dein Assemblerprogramm aber auch nicht.
Da will man mal extra nett sein und dann sowas ;)
Ich würde einen 5 Zeiler Code schreiben, wie "Hallo" Atmega auf dem Steckbrett LCD drauf fertig. Wenns nicht geht dann Verkabelung oder LCD. Hat Dein LCD schon mal was brauchbares angezeigt ? Andersrum bei mir war noch nicht eins kaputt.
Thomas der Bastler schrieb: > Ich würde einen 5 Zeiler Code schreiben, wie "Hallo" Atmega auf dem > Steckbrett LCD drauf fertig. Wenns nicht geht dann Verkabelung oder LCD. Das ist ja nicht mal notwendig. Wenn er, und darüber schweigt er sich ja aus (oder ich habe es überlesen) die Arduino-IDE verwendet gibt es ein fertiges Beispiel, das das LCD anspricht. Man muss dann nur lesen, was oben in den Kommentaren steht und die Kabel genau so einstöpseln. Das ist eigentlich ne Sache von nicht mal zwei Minuten ... Edit: Ich sehe, er verwendet die Arduino-IDE ... ich hab darauf sogar geantwortet ... hmpf :) Er scheint auch das gelieferte Beispiel zu verwenden. Dann bleibt ja wirklich nicht mehr viel. Aber da er ja so krass toll Ahnung hat und wir ihn ja sowieso alle nur nerven wird er wohl von alleine drauf kommen. 42m
Wozu braucht man überhaupt so ein Arduino Teil ?
Thomas der Bastler schrieb: > Wozu braucht man überhaupt so ein Arduino Teil ? Naja, das kommt drauf an :) Ich nutze die Arduino als Quick&Dirty-Boards, wenn ich schnell mal was testen will. Allerdings programmiere ich die Dinger "ganz normal" in C; die Arduini-IDE ist jetzt nicht so mein Fall. Von daher betrachte ich die Teile einfach als kleine Eval-Boards, die einfach manchmal schneller betriebsbereit sind als ein Steckbrett und eine Hand voll Hühnerfutter. Vor allem sind sie robuster :) 42m
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.