INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Mega 2560 u. I2C-LCD von Sainsmart will nicht...
11.09.2013, 17:15
Beitrag #1
Mega 2560 u. I2C-LCD von Sainsmart will nicht...
Hallo,

so, meine ersten Versuche mit I2C schlagen fehl.
Ein 20x4 LCD von Sainsmart (Typ QC2004A?) kann ich über meinen Mega 2560 nicht richtig ansteuern.
Das Display habe ich direkt mit +5V (und natürlich GND) verbunden, desweiteren SCL u. SDA direkt an Pin 20+21 angesteckt. Benötige ich hier die Pullupwiderstände separat, oder sind die auf dem Board integriert?

http://playground.arduino.cc//Main/LCDI2C
Unter diesem Link habe ich alles geladen u. installiert. Das Programm kann ich fehlerfrei übertragen. Die Adresse lautet (angeblich) 0x3F, was ich im Code noch geändert habe. Übrigens finde ich nirgends eine Doku zu diesem Display, hat jemand sowas, finde im google nichts.

Mein Display zeigt eine im ca. 3s-Takt flackernde Hintergrundbeleuchtung und es bringt mir keinen Text, sondern nur die Pixelrechtecke.
Meine Stromversorgung habe ich durch einen 7,2V/3400mAh Akku angeschlossen. Ich dachte, dass die Spannung einbricht und dies sich so zeigt.

Gibt es irgendwo ein "Hello Word"-Beispiel, ganz ohne Schnickschnack, damit ich sicher bin, dass das Zeug vor mir richtig arbeitet. Sorry, bin momentan etwas sauer, weil wieder mal nichts funktioniert.
Vielleicht kann einer weiterhelfen, danke.

Gruß Franz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.09.2013, 17:46
Beitrag #2
RE: Mega 2560 u. I2C-LCD von Sainsmart will nicht...
Hallo Franz,

welcher I2C Controller steckt hinter dem Display? Ist es ein yWRobot?
Wenn ja, hier die Codezeilen um das Display richtig anzusteuern:
Code:
#include <Wire.h> // I2C Funktionen
#include <LiquidCrystal_I2C.h> // LCD Funktionen
/* LCD I2C - Instanz für 4x20 LCD mit yWRobot (0x27)
überschreiben der PIN-Belegung für I2C-Chip da keine Standardbelegung lt. Library
I2C_ADDR    0x27
BACK_PIN  3
En_pin  2
Rw_pin  1
Rs_pin  0
D4_pin  4
D5_pin  5
D6_pin  6
D7_pin  7 */
LiquidCrystal_I2C  lcd(0x27,2,1,0,4,5,6,7);
void setup()
{
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(0);
lcd.begin(20,4);
lcd.setCursor(0,0);
lcd.print("Da bin ich")
}
Sollte laufen.
Die PullUps kannst du vergessen, geht ohne.

Grüße Ricardo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.09.2013, 18:30
Beitrag #3
RE: Mega 2560 u. I2C-LCD von Sainsmart will nicht...
Hei Ricardo,

leider nein.
Dein Code bleibt bei
Code:
LiquidCrystal_I2C  lcd(0x27,2,1,0,4,5,6,7);
hängen.
Den Controller vom Display kenn ich nicht, es steht nur QC2004A drauf und ist von Sainsmart. Das Display hat 16 Pins, ist aber durch einen Portexpander auf I2C umgebaut. Ich bin eh noch auf der Suche nach techn. Daten, weil auf dem Display einige Lötjumper sind, ich aber deren Funktion nicht kenne.
Was kann es noch sein?

Franz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.09.2013, 18:45
Beitrag #4
RE: Mega 2560 u. I2C-LCD von Sainsmart will nicht...
Hallo Franz,

Was bedeutet: der Code bleibt hängen? Beim Compilieren? Gibts eine Fehlermeldung?
Schließe mal bitte das Display wie gehabt an und schicke mal diesen Sketch in den Arduino: http://playground.arduino.cc/Main/I2cScanner
Da sieht man dann die Adresse des Displays auf dem I2C, wenn nicht bedeutet es, dass die Verdrahtung noch nicht stimmt.
Dann sehen wir schon weiter
Zitat:Das Display hat 16 Pins, ist aber durch einen Portexpander auf I2C umgebaut
Steht auf der Platine nix drauf?

Grüße Ricardo
PS: Nicht verzweifeln , wird schon ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.09.2013, 18:57
Beitrag #5
RE: Mega 2560 u. I2C-LCD von Sainsmart will nicht...
Der I2C-Scanner meldet mir schon die richtige Adresse, also stimmt das schon mal (danke nochmals).
Beim Compilieren kommt dann die Fehlermeldung 'LiquidCrystal_I2C does not name a type'. Das war bisher immer ein Fehlen einer Library oder so.
Auch ist das Display immer 1 1/2zeilig, d.h. bei der zweiten u. vierten Zeile wird immer nur die obere Hälfte angezeigt.
Was kanns noch sein?

Franz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.09.2013, 19:11
Beitrag #6
RE: Mega 2560 u. I2C-LCD von Sainsmart will nicht...
Hast du dir diese Library in der IDE installiert?
http://hmario.home.xs4all.nl/arduino/Liq...al_I2C.zip
Die sollte nähmlich verfügbar sein, sonst gehts nicht ;-)

grüße Ricardo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.09.2013, 19:29 (Dieser Beitrag wurde zuletzt bearbeitet: 11.09.2013 22:04 von alpenpower.)
Beitrag #7
RE: Mega 2560 u. I2C-LCD von Sainsmart will nicht...
ja, der Eintrag fehlte, habs aber schon so gefunden.
Nun kann ich das Programm übertragen.
Das Display ist nun komplett dunkel ...und sonst nichts (die Adresse hab ich natürlich angepasst).
Und hier gehts zu den restlichen Daten vom Display
Ich suche morgen noch über den Treiberbaustein, vielleicht finde ich was brauchbares.

Gruß Franz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.09.2013, 05:55 (Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2013 21:32 von rkuehle.)
Beitrag #8
RE: Mega 2560 u. I2C-LCD von Sainsmart will nicht...
Moin,
Zitat:Das Display ist nun komplett dunkel ...und sonst nichts
Und das ist richtig so, weil ich dir einen fehlerhaften Code mitgegeben habe.
Code:
#include <Wire.h> // Diese Lib fehlte und damit die I2C Ansteuerung
#include <LCD.h> // Standard LCD Funktionen
#include <LiquidCrystal_I2C.h> // Umsetzung I2C auf LCD parallel Interface
#define I2C_ADDR    0x3F  // Adresse anpassen
#define BACKLIGHT_PIN     3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
void setup()
{
  lcd.begin (20,4); // Muss in jedem Falle sein um Zeilen/Spalten zu deklarieren
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);   // Backlight an
  lcd.setBacklight(HIGH);
  lcd.home ();
  lcd.print("Da bin ich");  
}
void loop()
{
}
Sorry!

Grüße Ricardo


Angehängte Datei(en)
.zip  LiquidCrystal.zip (Größe: 40,66 KB / Downloads: 435)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino lässt sich nicht installieren bergfrei 4 145 20.11.2016 18:34
Letzter Beitrag: bergfrei
  Datenübertragung vom Arduino Mega 2560 zu Hterm Datatom 1 98 13.11.2016 23:08
Letzter Beitrag: hotsystems
  Arduino Mega 2560 läuft nicht Wolfgang50 6 184 13.11.2016 10:50
Letzter Beitrag: Wolfgang50
  Arduino Mega 2560 Manfred1981 4 189 11.11.2016 18:07
Letzter Beitrag: hotsystems
  Attiny45 Bootloader brennen mit Funduino Mega toto1975 63 2.194 23.10.2016 17:08
Letzter Beitrag: hotsystems
  Ardublock übertragt nicht an IDE oder UNO R3 tobi83 5 340 16.10.2016 14:07
Letzter Beitrag: Pit
Question Mega 2560 defekt? triode 11 361 29.09.2016 07:21
Letzter Beitrag: hotsystems
  Upload funktioniert nicht Levi 5 240 22.09.2016 20:19
Letzter Beitrag: hotsystems
  ESP8266 tuts nicht sowerum 7 392 19.09.2016 21:01
Letzter Beitrag: sowerum
  If-Bedingung funktioniert nicht bei Serial1.write Datatom 6 223 16.09.2016 20:36
Letzter Beitrag: Datatom

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste