Skocz do zawartości

Podłączenie dwóch LCD prze I2C do Arduino


Pomocna odpowiedź

Napisano

Witam , mam 2 ekrany LCD z przejsciówka I2C , chciałbym je podpiąć bezpośrednio do jednego arduino, jak uzyskać inne adresowanie tych LCD, bym mogl wybrac na ktorym chce wyświetlic dany tekst itp ? 

Pierwszy sposób zależy od samej przejściówki: jeśli przewidziano na niej możliwość zmiany adresu I2C (poszukaj jakichś zworek, oporników 0R no a najlepiej prawdziwej dokumentacji) to zmieniasz go, a w programie/bibliotece dorabiasz funkcjonalność pracy z różnymi adresami.

Drugi sposób to alternatywne podłączanie dwóch (lub więcej) identycznych przejściówek do tej samej szyny I2C. Możesz to zorbić przy pomocy dedykowanych multiplekserów I2C (zarządzanych także przez I2C więc nie tracisz pinów procka) lub poprzez zwykły, tani multiplekser analogowy np. 74HC4052 przełączany jednym czy dwoma wyjściami cyfrowymi z procesora. Wtedy biblioteka LCD nic nie wie o różnych wyświetlaczach, ale przed każdym jej wywołaniem musisz wiedzieć który LCD masz aktualnie podpięty. No i oczywiście przełączeń nie wolno dokonywać w trakcie jakichś wymian po I2C a wyłącznie w czasie "ciszy radiowej" na szynie.

Posiadam taki bajer https://allegro.pl/konwerter-lcd-hd44780-i2c-avr-arduino-i7232774473.html?snapshot=MjAxOC0wOS0yNVQxNjozNDoxMy45ODhaO2J1eWVyOzY2YWM3YzhkYWI3ZGI3ZGI3NTY0NTBmZjE0NTJiYWVkNzRiZjY2ZjY0Y2I3OTY3MGYyNmE1NzU0Nzg1YmU2NDk%3D 

 

Pisze tam ze za pomocą zwarcia A0,A1,A2 mozna zmienic adres. To jak teraz zrobie zworke, powinno mi zmienic adresacje tylko na jaka ? 

(edytowany)

Przecież to wszystko są ogólnie odstępne dane. Czytasz nazwę ze scalaka, szukasz jego danych katalogowych wpisując w wyszukiwarkę PCF8574, zaglądasz na stronę 13 i masz tabelkę:

http://www.ti.com/lit/ds/symlink/pcf8574.pdf

Biblioteka LiquidCrystal_I2C umożliwia powołanie wielu instancji obiektu wyświetlacza obsługujących różne adresy więc zadanie wydaje się łatwe. Tu masz przykładowy kod na dwa wyświetlacze (post #8). Na początek zmień którąś zworkę w jednym z LCD i odpal program skanera I2C, on powie Ci (bez zgadywania) jakie adresy są zajęte i takie wstaw do swojego kodu:

http://forum.arduino.cc/index.php?topic=51651.0

 

Edytowano przez marek1707
  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...