Arduino Forum

International => Deutsch => Topic started by: -mivo- on Mar 18, 2013, 11:32 am

Title: Problem mit Arduino Uno und LCD
Post by: -mivo- on Mar 18, 2013, 11:32 am
Hallo Zusammen,

seit einiger Zeit versuche ich mich am Arduino.
Aus irgend einem Grund bekomme ich meine LCD (habe bereits 3 ausprobiert) nicht am laufen.
Im Grunde ergibt sich immer das selbe Bild. Siehe Anhang.
Ich habe bereits verschiedenste Libraries (LCD Keypad) und Arduino Versionen ausprobiert.
Es funktioniert einfach nicht. Was mache ich falsch. Die Bedrahtung muss korrekt sein.
Als Sketch habe ich den Beispielsketch laufen. (Hello World). Angepasst an die  vier Zeilen und 20 Zeichen.
Zur Zeit benutze ich Atduino 023.
Wo liegt das Problem ?? Hat der Arduino eine Macke ?
Andre Sachen wie der Ultraschallsensor oder auch die Ansteuerung der Relais und so weiter funktioniert einwandfrei.

(http://s14.directupload.net/images/130318/temp/gxadzbym.jpg) (http://s14.directupload.net/file/d/3198/gxadzbym_jpg.htm)

mfg
Micha
Title: Re: Problem mit Arduino Uno und LCD
Post by: michael_x on Mar 18, 2013, 12:06 pm
Quote
Die Bedrahtung muss korrekt sein

Sehr richtig!
... und muss zu deinem lcd Konstruktor passen

Da dein LCD kein keypad hat, würde ich auch die normale LiquidCrystal Library verwenden.
Wenn du in der Library keinen R/W Pin benutzt, musst du den entsprechenden LCD Pin fest auf  GND legen.

Sonst fällt mir nichts zum Raten ein...

[edit: lcd.init war Blödsinn, sorry ]
Title: Re: Problem mit Arduino Uno und LCD
Post by: jurs on Mar 18, 2013, 12:19 pm

Ich habe bereits verschiedenste Libraries (LCD Keypad) und Arduino Versionen ausprobiert.


Das "LCD Keypad Shield" verwendet andere Anschlüsse als Du sie verdrahtet hast, daher kannst Du Programmbeispiele zum Keypad Shield bei Dir nicht direkt verwenden.

Du hast offenbar verdrahtet für die Inititialisierung mit der Zeile:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Wie sieht Dein Sketch aus?
Title: Re: Problem mit Arduino Uno und LCD
Post by: -mivo- on Mar 18, 2013, 12:51 pm
Hallo,
danke für die Antworten.
Vielleicht habe ich mich etwas umständlich ausgedrückt, da ich möglichst viele Infos geben wollte.
Die Sache mit dem LCD Keypad habe ich nur erwähnt um damit zu sagen das ich mehrere Dinge ausprobiert habe und immer zu dem selben Fehlerbild komme.
Momentan sieht es folgendermaßen aus.

Arduino Uno R3 mit der Bedrahtung auf dem Bild (diese sollte nicht nur korrekt sein um zu funktionieren, sondern sie ist auch korrekt). Als Software läuft Arduino 0023.
Der Sketch ist folgender:

Code: [Select]

/*
  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(20, 4);
  // Print a message to the LCD.
  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);
}


Es ist halt der Beispielcode aus der Liquid Crystal Library.
Als Pins sind die richtigen definiert.
Title: Re: Problem mit Arduino Uno und LCD
Post by: MaFu on Mar 18, 2013, 12:59 pm
Auch schon mal die Kontrasteinstellung variiert?
Title: Re: Problem mit Arduino Uno und LCD
Post by: -mivo- on Mar 18, 2013, 01:05 pm
Klaro !
Auf dem Disply erscheint ja was. Nur kein HelloWorld sondern es werden fast alle Pixel angesteuert.
Title: Re: Problem mit Arduino Uno und LCD
Post by: guntherb on Mar 18, 2013, 01:12 pm
Wenn ich das richtig erkennen kann, dann hast du die 3,3V des Arduino ohne Vorwiderstand direkt auf die Hintergrundbeleuchtung des LCDs gelegt.

ich denke, der Arduino mag das eher nicht so gerne...

Versorge doch die LED der Beleuchtung aus der 5V mit 100Ohm Vorwiderstand.
ich könnte mir vorstellen, dass die LED die 3,3V so sehr belastet, dass der ganze Arduino nicht mehr richtig läuft.

Gunther
Title: Re: Problem mit Arduino Uno und LCD
Post by: sth77 on Mar 18, 2013, 01:12 pm
Was mich etwas wundert ist das Verhalten des LCD. Wenn man das Display nur mit Spannung versorgt und das Kontrastpoti anschließt sowie ggf. auch die Hintergrundbeleuchtung berücksichtigt, zeigt das Display in Zeile 1 und 3 zwei Balken. Bei dir sind ja auch schmale Balken in Zeile 2 und 4 zu sehen. Könntest du mal den Arduino außen vor lassen und ein Foto vom LCD in der von mir beschriebenen Minimalbeschaltung machen?
Title: Re: Problem mit Arduino Uno und LCD
Post by: jurs on Mar 18, 2013, 01:40 pm

Momentan sieht es folgendermaßen aus.


Sieht für mich soweit OK aus.

Bist Du sicher, dass Dein Breadboard keine defekten Stellen hat, die keinen Kontakt geben?

Und dass auch die Drähte am Arduino guten Kontakt geben?

Sowohl Breadboard-Kontakte als auch Arduino-Kontakte sind nicht immer die besten, und in ungünstigen Fällen gibt es Wackelkontakt bzw. gar keinen Kontakt.

Vielleicht mal an den Drähten wackeln und zwischendurch den Reset-Button drücken, damit der Sketch neu startet?
Title: Re: Problem mit Arduino Uno und LCD
Post by: MaFu on Mar 18, 2013, 01:54 pm

Klaro !
Auf dem Disply erscheint ja was. Nur kein HelloWorld sondern es werden fast alle Pixel angesteuert.

Eben darum meine Frage. So siehts aus, wenn der Kontrast zu hoch eingestellt ist.
Title: Re: Problem mit Arduino Uno und LCD
Post by: guntherb on Mar 18, 2013, 02:02 pm
Sieht für mich soweit OK aus.
Auch dass die LED der Hintergrundbeleuchtung direkt aus der 3,3V betrieben wird?
Ich weiß, der Regler auf dem UNO begrenzt den Strom auf ca. 200mA (Das ist übrigens der einzige Grund, dass es nicht geraucht hat beim Einschalten!), aber ich bin mir nicht sicher, wie der UNO darauf reagiert.

Ich weiß nicht, ob  es die Ursache ist, aber auf alle Fälle ist es FALSCH!

Gunther
Title: Re: Problem mit Arduino Uno und LCD
Post by: jurs on Mar 18, 2013, 02:59 pm

Sieht für mich soweit OK aus.
Auch dass die LED der Hintergrundbeleuchtung direkt aus der 3,3V betrieben wird?
Ich weiß, der Regler auf dem UNO begrenzt den Strom auf ca. 200mA (Das ist übrigens der einzige Grund, dass es nicht geraucht hat beim Einschalten!), aber ich bin mir nicht sicher, wie der UNO darauf reagiert.

Ich weiß nicht, ob  es die Ursache ist, aber auf alle Fälle ist es FALSCH!

Gunther


Ach wo! DA sehe ich kein Problem, WENN er ein 5V Modul hat!

Ich kenne kein einziges 5V LCD-Modul, bei dem die "LED operating voltage" der Hintergrundbeleuchtung auf weniger als 4,2 Volt spezifiziert ist. D.h. an bis zu 4,2V kann man die Hintergrundbeleuchtung dann immer direkt schalten.

Was aber natürlich sein könnte: Es ist gar kein 5V Modul! Solche LCD-Module werden nämlich optisch quasi völlig gleich aussehend sowohl für den Betrieb an 3,3V als auch an 5V produziert und vertrieben. Wenn man ein 3,3V Modul an 5V Betriebsspannung und 5V Datenleitungen anschließt, wird es im ungünstigsten Fall sofort geschrottet. Und im günstigsten Fall funktioniert es nur nicht.

Wenn er da ein 3,3V LCD-Modul anstelle eines 5V LCD-Moduls auf seinem Breadboard angeschlossen hat, dann ist bei der Fehlersuche natürlich Hopfen und Malz verloren. Und wenn er drei baugleiche 3,3V LCDs nacheinander an die 5V vom Arduino angschlossen hat, kann er unter Umständen gleich dreifach Elektronikschrott produziert haben.

Das wäre natürlich dösig: 3,3V Module dürfen nicht direkt an 5V angeschaltet werden.
Title: Re: Problem mit Arduino Uno und LCD
Post by: -mivo- on Mar 18, 2013, 03:52 pm
Hallo,
bei dem Display handelt es sich um ein 5V LCD, das ist also nicht das Problem.
Ich habe mal minimal beschaltet und ein Bild gemacht.
Nun werde ich mal nach und nach den Rest wieder kontaktieren.

(http://s7.directupload.net/images/130318/temp/2rdx4hb9.jpg) (http://s7.directupload.net/file/d/3198/2rdx4hb9_jpg.htm)

Title: Re: Problem mit Arduino Uno und LCD
Post by: jurs on Mar 18, 2013, 04:01 pm

Ich habe mal minimal beschaltet und ein Bild gemacht.


Das ist auf jeden Fall schon mal das normale Bild eines initialisierten Displays: Eine Zeile mit Vollblock-Zeichen und eine Zeile mit Leerzeichen. Die merkwürdige 2. und 4. Zeile mit den Halbblock-Zeichen sind jedenfalls schon mal verschwunden.


Nun werde ich mal nach und nach den Rest wieder kontaktieren.


Wie ich sehe, verwendest Du vieladrige Litze zum Stecken, und die Enden sind nicht verzinnt. Das ist nicht so ganz optimal. Da mußt Du verdammt aufpassen, daß sich nicht einzelne abgeknickte Litzendrähtchen verirren und anders einen Kontakt ergeben als es beabsichtigt ist. Außerdem muss die Litze erstmal auch zum Klemmen zwischen den Kontakten kommen. Eine etwas dünnere Litze mit verzinnten Enden oder etwas dickere Starrdrähte kannst Du nicht verwenden?
Title: Re: Problem mit Arduino Uno und LCD
Post by: -mivo- on Mar 18, 2013, 04:12 pm
ich schaue mal was ich da habe.
Wie zu beginn erwähnt habe ich ja auch einen Test mit dem LCD Keypad von Sainsmart (2 zeilig) gemacht.
Mit gleichem Fehlerbild, also so das alles leuchtet. Da es sich dabei um ein LCD Shield handelt, sollten Kontaktprobleme und auch ein falsches kontaktieren in diesem Fall praktisch nicht möglich sein.
Title: Re: Problem mit Arduino Uno und LCD
Post by: jurs on Mar 18, 2013, 04:26 pm

Wie zu beginn erwähnt habe ich ja auch einen Test mit dem LCD Keypad von Sainsmart (2 zeilig) gemacht.
Mit gleichem Fehlerbild, also so das alles leuchtet. Da es sich dabei um ein LCD Shield handelt, sollten Kontaktprobleme und auch ein falsches kontaktieren in diesem Fall praktisch nicht möglich sein.


Außer, wenn irgendwo schon ein kleines abgerissenes Litzendrähtchen irgendwo einen Kurzschluß bildet.

Ansonsten muß beim Keypad-Shield nur die richtige Initialisierung im Sketch stehen. Das müßte im Fall eines Keypad-Shields wohl sein:
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
Title: Re: Problem mit Arduino Uno und LCD
Post by: -mivo- on Mar 18, 2013, 04:55 pm
Ich weiß nicht mehr weiter.
Soeben habe ich mal alle Pins durchgesummt.
Kontakt ist auf jeden Fall von den Lötpads des Displays bis zu den gelöteten Kontakten des Arduino vorhanden.