Forum: Mikrocontroller und Digitale Elektronik Arduino und I2C


von Ulrich R. (ura)


Lesenswert?

Wer kennt eine Lösung ?
Arduino Uno, Rev.3, Arduino SW 1.6.7

Arduino --> I2C- Modul -->  LCD-Tableau 20x4

bei folgendem Programm wird an den richtigen Stellen NUR
das 1. Zeichen dargestellt

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

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

void setup()
{
  lcd.init();                      // initialize the lcd
  lcd.init();
  // Print a message to the LCD.
  // lcd.backlight();
  lcd.setCursor(3,0);
  lcd.print("Hello, world!");
  lcd.setCursor(2,1);
  lcd.print("Ywrobot Arduino!");
  lcd.setCursor(0,2);
  lcd.print("Arduino LCM IIC 2004");
  lcd.setCursor(2,3);
  lcd.print("Power By Ec-yuan!");
}


void loop()
{
}

von Wolfgang (Gast)


Lesenswert?

Ulrich R. schrieb:
> lcd.init();                      // initialize the lcd
> lcd.init();

Was soll das werden?

von Ulrich R. (ura)


Lesenswert?

Hallo Wolfgang

das Programm ist aus einem Beispielbeitrag einer Zeitschrift.

2 mal init ist natürlich Unfug, hat aber keine relevante Bedeutung.
Selbst bei einmal init bleibt der effekt der Gleiche.

von I2CProgrammierer (Gast)


Lesenswert?

Ulrich R. schrieb:
> Wer kennt eine Lösung ?

Wer kennt deinen Schaltplan?
Wer kennt die Konfiguration deiner Sourcen?

Wir nicht.

von Gerald R. (visitor)


Lesenswert?

Wenn dein I2C-Modul ein PCF8574 ist, dann schau mal hier:
https://arduino-info.wikispaces.com/LCD-Blue-I2C

Ich betreibe diese China Displays mit dieser library auch auf ATtiny85 
und 84.

von Ulrich R. (ura)


Lesenswert?

Hallo Gerald,
das I2C-Modul arbeitet mit einem PCF8574T.
Den Artikel in dem Link kenne ich und habe ihn mit der gleichen 
Schaltungs-
konstellation ausprobiert.

Habe hier aber das Problem mit der LIB gehabt - diese ist scheinbar von 
dem Autor modifiziert worden - gleiches trifft auf die im Artikel 
genannte
NEWLiquidCrystal_I2C zu.

Ich habe deshalb bei meinem o.g. Problem die Version 1.6.7 installiert
und nutze hier auch die implemntierte LIB LiquidCrystal_I2C.

Das LCD ist ein ganz schlichtes EW20400YLY, welches im parallelbetrieb
mit den 4 Bit-Leitung ohne Probleme arbeitet.

?

von Gerald R. (visitor)


Lesenswert?

Ulrich R. schrieb:
> Das LCD ist ein ganz schlichtes EW20400YLY, welches im parallelbetrieb
> mit den 4 Bit-Leitung ohne Probleme arbeitet.
> ?
Ich gehe davon aus du meinst GPIO ohne I2C Baustein?
Das habe ich nicht probiert, geht aber bestimmt.

Welches Display hast du?

Lade dir hier die NewliquidCrystal_1.3.4.zip library runter
https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads

Dann initialisiere es richtig, bei meinem (V1)
1
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
2
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
3
4
void setup()   /*----( SETUP: RUNS ONCE )----*/
5
{
6
  lcd.begin(20,4);

: Bearbeitet durch User
von Ulrich R. (ura)


Lesenswert?

Hallo Gerald,

ich werde diese LIB jetzt noch einmal laden und
das Programm dementsprechend ändern.

Wird aber bestimmt nicht mehr heute alles klappen -
ich werde das Ergebnis bestimmt morgen dann vermelden können.
Bis hierher vielen Dank.

von Ulrich R. (ura)


Lesenswert?

Hallo Gerald,

habe gerade es noch probiert und siehe da es geht  !! ??

hier noch einmal das Programm:
//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // set 
the LCD address to 0x27 for a 20 chars and 4 line display

void setup()
{

 lcd.begin(20,4);          // Print a message to the LCD.
  // lcd.backlight();
  lcd.setCursor(3,0);
  lcd.print("Hello, world!");
  lcd.setCursor(2,1);
  lcd.print("Ywrobot Arduino!");
  lcd.setCursor(0,2);
  lcd.print("Arduino LCM IIC 2004");
  lcd.setCursor(2,3);
  lcd.print("Power By Ec-yuan!");
}


void loop()
{
}


Noch einma DANKE.

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
Noch kein Account? Hier anmelden.