Arduino Uno und LCD Display Modul 1602 HD44780 mit TWI Controller

OP #4481633
Lesenswert?
• ▲
▼
Hallo,

ich habe mir folges Display mit i2c-Adapter zugelegt:
(https://www.roboter-bausatz.de/95/lcd-display-modul-1602-hd44780-mit-twi-controller)
Das Display hat nicht lange überlebt. Deshalb habe ich ein vermutlich 
Baugleiches über Amazon aus Fernost beschafft:
http://www.amazon.de/gp/product/B008XS133E?psc=1&redirect=true&ref_=oh_aui_detailpage_o04_s00

Diese Kombination hängt jetz an einem Arduino Uno (siehe Foto).

Das Problem:

Bei Text den ich mit lcd.print() ausgeben will, wird nur das erste 
Zeichen dargestellt. Ich habe auch versucht den Text vorher in eine 
Variable zu speichern und dann über lcd.print() auszugeben, aber das 
geht auch nicht.

Text, den ich über den seriellen Monitor eingebe, wird angezeigt. 
Sonderzeichen mag das Display allerding nicht. Da werden asiatische 
Schriftzeichen ausgegeben.

Die Display-Ausgabe zum Quellcode ist auf dem Foto zu sehen.

Hier der Programmcode:
1
/*
2
 * Displays text sent over the serial port (e.g. from the Serial Monitor) on
3
 * an attached LCD.
4
 * YWROBOT
5
 *Compatible with the Arduino IDE 1.0
6
 *Library version:1.1
7
 */
8
#include <Wire.h> 
9
#include <LiquidCrystal_I2C.h>
10

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

13
void setup()
14
{
15
  lcd.init();  
16
  lcd.backlight();
17
  Serial.begin(9600);
18
}
19

20
void loop()
21
{
22
  if (Serial.available()) {   
23
    delay(100);
24
    lcd.clear();
25
    while (Serial.available() > 0) {
26
      lcd.write(Serial.read());
27
    }
28
  }
29

30
   lcd.setCursor(0,1);
31
  lcd.print("Zeile 2");
32

33
}

Das sind übrigens meine ersten "Gehversuche" mit Arduino.
Vielleicht kann mir jemand einen hilfreichen Tipp geben.

Vielen Dank im Voraus.

Grüße
Andreas
Angehängte Dateien:
Gast #4481669
Lesenswert?
• ▲
▼
Nimm mal diese.
1
#include <Wire.h>
2
#include <LCD.h>
3
#include <LiquidCrystal_I2C.h>
4

5
#define I2C_ADDR    0x27 
6
#define BACKLIGHT_PIN     3
7
#define En_pin  2
8
#define Rw_pin  1
9
#define Rs_pin  0
10
#define D4_pin  4
11
#define D5_pin  5
12
#define D6_pin  6
13
#define D7_pin  7
14

15
int n = 1;
16

17
LiquidCrystal_I2C  lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
18

19
void setup()
20
{
21
  lcd.begin (16,2);
22
  
23
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
24
  lcd.setBacklight(HIGH);
25
  
26
  lcd.home ();                   
27
  lcd.print("I2C Display :");  
28
  
29
}
30

31
void loop()
32
{
33
  lcd.setCursor (1,1);        
34
  lcd.print("Laufzeit: ");
35
  lcd.print(millis());
36
}
OP #4481849
Lesenswert?
• ▲
▼
Hallo Peter,

dazu fehlt mir die LCD.h. Wo bekomme ich die her?

Arduino: 1.6.7 (Linux), Board: "Arduino/Genuino Uno"

/home/andreas/srv2_daten/..../test-i2c-lcd-2/test-i2c-lcd-2.ino:2:17: 
fatal error: LCD.h: No such file or directory
 #include <LCD.h>
                 ^
compilation terminated.
exit status 1
Fehler beim Kompilieren.

Vielen Dank!.

Andreas
Gast #4481865
Lesenswert?
• ▲
▼
Andreas M. schrieb:
> Hallo Chistian,
>
> danke, aber mein Englich ist nicht so gut. Ich versuche es aber mal mit
> Hilfe des google-Übersetzers.
>
> Gruß Andreas

Brauchst du auch nicht. Im Prinzip, wenn du weißt welches Display du da 
hast, kannst du einfach einen Sketch einwerfen. Dort gibt es beide 
Variante (für 2x16 und 4x16)
Natürlich vorher die LiquidCrystal Lib(Link auf der Seite ganz oben) 
aufspielen.
Wenn du die Adresse nicht weißt, gibt es unten noch ein Sketch 
(Scanner), der liefert dir diese Adresse. oder eben bisschen auf 
Bildchen schauen und paar Sätze übersetzen. Aber sehr oft ist die 
Adresse bei diesen Modulen 0x27

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.