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:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
LCD 2004 204 20X4 gibt nur "0" aus
19.10.2015, 19:23
Beitrag #1
Shocked LCD 2004 204 20X4 gibt nur "0" aus
Guten Abend!

nachdem ich meinen ersten Arduino (Uno) kaputt bekommen habe, ist nun sein Nachfolger bei mir eingetroffen.
Ich möchte einen SainSmart Uno mit einem LCD 2004 204 20X4 verbinden und im Prinzip diesen einfachen Code abfolgen lassen:

Code:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2); //set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("b2cqshop");
lcd.setCursor(0, 1);
lcd.print("Voltage: ");
lcd.setCursor(13, 1);
lcd.print("V");
}
void loop()
{//Zahl bis 100 hochzählen und anzeigen
lcd.print("Hi");
}

Der Kontrast für das Display wurde bereits eingestellt, das stimmt soweit.
Die Pin Belegung sieht folgender maßen aus (I2C):
GND - GND
VCC - 5V
SDA - A4
SCL - A5
Dennoch wird nur eine "0" oben rechts ausgespuckt.
Habe mir eine neue Lib. runtergeladen und in's Sketchbook gespeichert, aber trotzdem komme ich auf kein zufrieden stellendes Ergebnis.
Fällt euch was dazu ein ?

Mfg,
Jannis

PS:
Ich nutze Ubuntu 14.04 als Betriebssystem Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.10.2015, 19:46
Beitrag #2
RE: LCD 2004 204 20X4 gibt nur "0" aus
(19.10.2015 19:33)Lötzinnerhitzer schrieb:  Du musst der Library auch mitteilen, welches Display verwendet wird. Dein Code ist für ein 16x2

Code:
LiquidCrystal_I2C lcd(0x20, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

Ich habe nun mal den hier genommen, da kommt die Meldung, das POSITIVE nicht deklariert ist. Wie deklariere ich denn Positive ?Rolleyes
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.10.2015, 21:59 (Dieser Beitrag wurde zuletzt bearbeitet: 19.10.2015 22:01 von hotsystems.)
Beitrag #3
RE: LCD 2004 204 20X4 gibt nur "0" aus
Im Setup fehlt diese Zeile:

Code:
lcd.begin(20, 4);

Und die Fehlermeldung kann durch eine falsch Library kommen.
Auch musst du in der Zeile darauf achten, dass die I2C-Adresse mit dem Display übereinstimmt.

Du findest in der Beschreibung zur Library auch Beispiele, in denen die Einstellungen genau beschrieben sind.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 16:00
Beitrag #4
RE: LCD 2004 204 20X4 gibt nur "0" aus
Hmm.. Verstehe ich nicht.
Ich hab mir mal die Seite angeschaut, und die Dinge da mal versucht zu befolgen. Also die Adresse ist lt. Display 0x27.
Ich habe wieder den Code benutzt

Code:
/* YourDuino.com Example Software Sketch
16 character 2 line I2C Display
Backpack Interface labelled "A0 A1 A2" at lower right.
..and
Backpack Interface labelled "YwRobot Arduino LCM1602 IIC V1"
MOST use address 0x27, a FEW use 0x3F
terry@yourduino.com */

/*-----( Import needed libraries )-----*/
#include <Wire.h>  // Comes with Arduino IDE
// Get the LCD I2C Library here:
// https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
// Move any other LCD libraries to another folder or delete them
// See Library "Docs" folder for possible commands etc.
#include <LiquidCrystal_I2C.h>

/*-----( Declare Constants )-----*/
/*-----( Declare objects )-----*/
// set the LCD address to 0x27 for a 16 chars 2 line display
// A FEW use address 0x3F
// Set the pins on the I2C chip used for LCD connections:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

/*-----( Declare Variables )-----*/
//NONE

void setup()   /*----( SETUP: RUNS ONCE )----*/
{
  Serial.begin(9600);  // Used to type in characters

  lcd.begin(16,2);   // initialize the lcd for 16 chars 2 lines, turn on backlight

// ------- Quick 3 blinks of backlight  -------------
  for(int i = 0; i< 3; i++)
  {
    lcd.backlight();
    delay(250);
    lcd.noBacklight();
    delay(250);
  }
  lcd.backlight(); // finish with backlight on  

//-------- Write characters on the display ------------------
// NOTE: Cursor Position: (CHAR, LINE) start at 0  
  lcd.setCursor(0,0); //Start at character 4 on line 0
  lcd.print("Hello, world!");
  delay(1000);
  lcd.setCursor(0,1);
  lcd.print("HI!YourDuino.com");
  delay(8000);  

// Wait and then tell user they can start the Serial Monitor and type in characters to
// Display. (Set Serial Monitor option to "No Line Ending")
  lcd.clear();
  lcd.setCursor(0,0); //Start at character 0 on line 0
  lcd.print("Use Serial Mon");
  lcd.setCursor(0,1);
  lcd.print("Type to display");  


}/*--(end setup )---*/


void loop()   /*----( LOOP: RUNS CONSTANTLY )----*/
{
  {
    // when characters arrive over the serial port...
    if (Serial.available()) {
      // wait a bit for the entire message to arrive
      delay(100);
      // clear the screen
      lcd.clear();
      // read all the available characters
      while (Serial.available() > 0) {
        // display each character to the LCD
        lcd.write(Serial.read());
      }
    }
  }

}/* --(end main loop )-- */


/* ( THE END ) */

Dieser kommt von der Seite und das abgebildete I2C Modul ist Identisch mit meinem (Typ 1).
Trotzdem bekomme ich wieder den Fehler:
Code:
sketch_oct20a.ino:23:53: error: ‘POSITIVE’ was not declared in this scope

In der Keywords.txt ist Positive aber sehrwohl vermerkt.
Was nun ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 16:12
Beitrag #5
RE: LCD 2004 204 20X4 gibt nur "0" aus
Mit welcher IDE arbeitest du?
Welche Library setzt du ein?

Ich verwende die selben Einstellungen und es gibt keine Fehlermeldung!

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 16:32
Beitrag #6
RE: LCD 2004 204 20X4 gibt nur "0" aus
Ich habe eben nochmal die neueste Version der lib geladen (1.3.3), nun funktioniert es auch.
Merkwürdig. Hätte schwören können, dass ich es vorhin auch schon probiert hatte.. Big Grin
Dankeschön!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 16:41
Beitrag #7
RE: LCD 2004 204 20X4 gibt nur "0" aus
Alles klar, wichtig ist, es funktioniert.

Du musst auch darauf achten, dass keine Lib mit dem selben Namen im Arduino-Verzeichnis vorhanden ist. Also alte, gleichnamige Libs immer rauslöschen.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 16:52
Beitrag #8
RE: LCD 2004 204 20X4 gibt nur "0" aus
(20.10.2015 16:48)Lötzinnerhitzer schrieb:  
Zitat:Also alte, gleichnamige Libs immer rauslöschen.

oder zumindest in ein anderes Verzeichnis (Archiv) verschieben Wink

Sag ich doch Idea

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Gibt es Sprungbefehle master_vö 15 1.151 21.02.2016 19:05
Letzter Beitrag: master_vö

Gehe zu:


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