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