Arduino Polska Forum

Pełna wersja: Zmiana adresu I2C w wyświetlaczy 16x2 i 20x4
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Trochę poszukałem trochę pokombinowałem wrzucam dla następnych osób: 
Link do zdjęcia przejściówki

Jak są wszystkie rozwarte to mamy na pinach A0,A1,A2 stan wysoki zwierajac podajemy 0

Tabelka pinów i adresów
A0  A1  A2       adres 
1     1    1        0x27  
0     1    1        0x26
1     0    1        0x25
0     0    1        0x24
1     1    0        0x23
0     1    0        0x22
1     0    0        0x21
0     0    0        0x20 

Przykładowy kod z wykorzystaniem 2 wyświetlaczy z innym adresem i2c

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

LiquidCrystal_I2C lcd(0x26, 20, 4);
LiquidCrystal_I2C lcd1(0x27, 16, 2);

void setup() {
 lcd.init(); // inicjalizacja LCD1
 lcd.backlight(); // wlaczenie podswietlenia LCD1
 lcd1.init(); // inicjalizacja LCD2
 lcd1.backlight(); // wlaczenie podswietlenia LCD2
 lcd.print("Hello World2") // wyswietl napis na LCD1  
 lcd1.print("HELLO WORLD1"); // wyswietl napis na LCD2
}
(11-01-2016, 19:50)Lata napisał(a): [ -> ]Trochę poszukałem trochę pokombinowałem wrzucam dla następnych osób: 
Link do zdjęcia przejściówki

Jak są wszystkie rozwarte to mamy na pinach A0,A1,A2 stan wysoki zwierajac podajemy 0

Tabelka pinów i adresów
A0  A1  A2       adres 
1     1    1        0x27  
0     1    1        0x26
1     0    1        0x25
0     0    1        0x24
1     1    0        0x23
0     1    0        0x22
1     0    0        0x21
0     0    0        0x20 

Przykładowy kod z wykorzystaniem 2 wyświetlaczy z innym adresem i2c

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

LiquidCrystal_I2C lcd(0x26, 20, 4);
LiquidCrystal_I2C lcd1(0x27, 16, 2);

void setup() {
 lcd.init(); // inicjalizacja LCD1
 lcd.backlight(); // wlaczenie podswietlenia LCD1
 lcd1.init(); // inicjalizacja LCD2
 lcd1.backlight(); // wlaczenie podswietlenia LCD2
 lcd.print("Hello World2") // wyswietl napis na LCD1  
 lcd1.print("HELLO WORLD1"); // wyswietl napis na LCD2
}
A jak te piny się zwiera ? przecież tam nie ma zworek .
Lutownica, cyna i wyobraznia ja uzylem nozki od diody
No rozumiem tylko myślałem że to jakoś trzeba programowo a jak się okazuje to trzeba to fizycznie zewrzeć w odpowiedniej kombinacji a potem podać odpowiadający adres w kodzie ,czy tak to ma być ?
Tak adres w scalaku ( w większości ) zmienia się fizycznie