Hallo liebe Mikrocontroller Gemeinde, ich habe ein Problem mit dem LCD Display (Foto im Anhang). Es ist von Funduino und die Hintergrundbeleuchtung geht. Ich sehe auch einen schwarzen Balken in der ersten Zeile doch mehr gibt das Display nicht von sich. Ich versuche auch das erste mal ein Display mit einem Mikrocontroller anzusprechen doch komme nichtmehr weiter... Die Pins vom Display und der I2C Platine waren schon verlötet und wurden alle auf Durchgang kontrolliert. Am Arduino habe ich die Pins C.4 und C.5 für SDA und SCL verwendet. Beide haben auch zur Sicherheit 10kOhm Pullup Widerstände. Habe jetzt schon mehrere Lib`s probiert doch keine hat mir richtig helfen können. Bis jetzt habe ich es mit der Bascom Hardware i2c_twi.lib, YLcd_i2c.lib und YwRobot_Lcd_i2c.lib probiert mit Beispielcode und allem. Der Hersteller schreibt auf der Seite das die Adresse des Display`s 0x27 ist aber sie funktioniert meines erachtens nicht. Durch weitere Rescherchen habe ich auch rausgefunden das es diese Displays auch mit der adresse 0x3F gibt, doch diese Adresse funktioniert auch nicht. Hatte jemand schonmal so ein Problem oder hat schonmal mit den Displays gearbeitet? Hoffe ihr könnt mir auf die Sprünge helfen. Hier noch mein Code Grüße Karl
1 | $regfile = "m328pdef.dat" 'Arduino Nano V3 |
2 | $crystal = 16000000 '16 MHz |
3 | $lib "YwRobot_Lcd_i2c.lib" 'YwRobot Treiber für LCD |
4 | |
5 | $hwstack = 64 |
6 | $swstack = 10 |
7 | $framesize = 40 |
8 | |
9 | '********************************************************** |
10 | '******************* Deklarationen ************************ |
11 | |
12 | Const Pcf8574_lcd = 27 'Adresse des I2C-LCDs (orginal 78) |
13 | Dim Lcd_backlight As Byte '1 = an; 0 = aus. Wird erst durch |
14 | 'einen LCD-Befehl umgesetzt! |
15 | |
16 | '****************** Initialisierung *********************** |
17 | |
18 | Ddrb = &B11111111 'Port B als Ausgangsport |
19 | Ddrd = &B01110000 'D4, D5, D6 als Ausgang; Rest als Eingang |
20 | Portd = &B10001111 'Eingänge auf high legen |
21 | |
22 | 'Config Portc.5 = Output 'zur Probe |
23 | 'Config Portc.4 = Output |
24 | |
25 | Config Scl = Portc.5 'Konfigurieren von I2C |
26 | Config Sda = Portc.4 |
27 | |
28 | Config Lcd = 16 * 2 'nicht unbedingt nötig |
29 | Config I2cdelay = 1 |
30 | Initlcd |
31 | Waitms 500 'warte bis Kondensator bei Ta0 |
32 | 'geladen, auch für LCD-Init! |
33 | |
34 | '********************************************************** |
35 | '******************** Hauptprogramm *********************** |
36 | |
37 | Cls |
38 | Lcd "Hello world!" |
39 | Wait 1 |
40 | Lcd_backlight = 0 |
41 | Locate 2 , 1 |
42 | Lcd "2. row..." |
43 | Wait 2 |
44 | Lcd_backlight = 1 |
45 | Locate 1 , 1 'Damit Backlight-Zustand an LCD übermittelt wird |
46 | End |