Hallo zusammen,
ich versuche 2 i2C LCD 20x4 (Sunfounder + SainSmart) in Betrieb zu nehmen. Nach anfänglichen Schwierigkeiten und einiger Zeit des Suchens habe ich es Dank Hilfe von Google und unserem Forum geschafft. Beide Displays funktionieren mit Bascom an dem Arduino Mega.
Bascom_Mega_2 LCD.jpg
Beim UNO zeigen beide LCD's das an.
LCD Bascom.jpg
Die Pins für SDA und SCL habe ich richtig, glaube ich zumindest. Zumindest erhalte ich mit dem i2cscan.bas von MCS mit dem Mega und UNO im Terminal:
Bascom
Scan start
Slave at : 78 hex : 4E bin : 01001110
End Scan
Mit dem Testprogramm habe ich die Ansteuerung der LCD's probiert - hier für den Arduino Mega (1. Bild)
Alles anzeigen
ps. Anfänglich bin ich fast verzweifelt, hatte mit dem UNO das versucht und egal was ich gemacht habe immer die gleiche Anzeige. Habe das ganze auch mit der Arduino IDE probiert und bekomme auf mit dem UNO (und mit dem Mega) auf beiden LCDS
LCD Arduino.jpg
Weil ich mit Bascom kein Erfolg hatte dachte ich an einen Adressenkonflikt und habe mit dem Arduino i2C Scan Scetch nach der i2C-Adresse gesucht und das brachte mir übrigens:
Arduino
Scanning...
I2C device found at address 0x27 !
done
Nachdem ich das in Bascom mit der Adresse 78 probiert, hatte ja wie gesagt nicht funktioniert
habe ichs dann mit der Adresse 0x27 in Bascom versucht und das hatte natürlich erst recht kein Erfolg.
Aber wieso mit Bascom i2C Tester 78 und mit Arduino 27 ? - würde mich interessieren.
Vielleicht kann mir jemand mit dem LCD am UNO Anschlußproblem weiter und auf die Srünge helfen.
Wäre schön wenns funktionieren würde.
Gruß
emb
ich versuche 2 i2C LCD 20x4 (Sunfounder + SainSmart) in Betrieb zu nehmen. Nach anfänglichen Schwierigkeiten und einiger Zeit des Suchens habe ich es Dank Hilfe von Google und unserem Forum geschafft. Beide Displays funktionieren mit Bascom an dem Arduino Mega.
Bascom_Mega_2 LCD.jpg
Beim UNO zeigen beide LCD's das an.
LCD Bascom.jpg
Die Pins für SDA und SCL habe ich richtig, glaube ich zumindest. Zumindest erhalte ich mit dem i2cscan.bas von MCS mit dem Mega und UNO im Terminal:
Bascom
Scan start
Slave at : 78 hex : 4E bin : 01001110
End Scan
Mit dem Testprogramm habe ich die Ansteuerung der LCD's probiert - hier für den Arduino Mega (1. Bild)
BASCOM-Quellcode
- 'https://bascomforum.de/index.php?thread/391-i2c-lcd/
- ' vielleicht auch hier https://www.mcselec.com/index.php?option=com_content&task=view&id=82&Itemid=57
- '$regfile = "m328pdef.dat"
- $regfile = "m2560def.dat"
- $crystal = 16000000
- $hwstack = 100
- $framesize = 80
- $swstack = 100
- $baud = 9600
- $lib "i2c_twi.lbx"
- $lib "YwRobot_Lcd_i2c.lib"
- Config Twi = 100000 'DS3231 mag nicht mehr!!!
- Config Clock = User
- Config Date = Dmy , Separator = . 'German
- '**************************** Hardware-Definitionen
- 'Config Scl = Portc.5 ' I2C Scl (Pin A5)
- 'Config Sda = Portc.4 ' I2C Sda (Pin A4)
- Config Scl = Portd.0 ' I2C Scl (Pin A5) ' we need to provide the SCL pin name
- Config Sda = Portd.1 ' I2C Sda (Pin A4)
- Config Lcd = 20x4
- Const Pcf8574_lcd = 78 '0x27 mit Arduino
- 'Pcf8574 = 78
- 'Pcf8574A = 126
- Dim Lcd_backlight As Byte
- Dim Count As Integer
- Initlcd
- Config I2cdelay = 1
- Waitms 300
- '******************** Hauptprogramm ***********************
- 'Alive = 1 ' "alive"-LED einschalten
- Lcd_backlight = 1
- 's.a https://avrhelp.mcselec.com/index.html?config_lcd.htm
- Cls ' LCD leeren/initialisieren und schon mal "festen" Text ausgeben
- 'Cursor Off Noblink
- Locate 1 , 4
- Print "Test"
- Lcd "Test"
- Locate 2 , 5
- Wait 3
- Lcd "Zeile 2"
- Print "Zeile 2"
- Locate 3 , 5
- Wait 3
- Lcd "Zeile 3"
- Print "Zeile 3"
- Locate 4 , 5
- Wait 3
- Lcd "Zeile 4"
- Print "Zeile 4"
- End
LCD Arduino.jpg
Weil ich mit Bascom kein Erfolg hatte dachte ich an einen Adressenkonflikt und habe mit dem Arduino i2C Scan Scetch nach der i2C-Adresse gesucht und das brachte mir übrigens:
Arduino
Scanning...
I2C device found at address 0x27 !
done
Nachdem ich das in Bascom mit der Adresse 78 probiert, hatte ja wie gesagt nicht funktioniert
habe ichs dann mit der Adresse 0x27 in Bascom versucht und das hatte natürlich erst recht kein Erfolg.
Aber wieso mit Bascom i2C Tester 78 und mit Arduino 27 ? - würde mich interessieren.
Vielleicht kann mir jemand mit dem LCD am UNO Anschlußproblem weiter und auf die Srünge helfen.
Wäre schön wenns funktionieren würde.
Gruß
emb