• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z adresem wyświetlacza LCD 2004A
#1
Cześć, mam dziwny problem z połączeniem esp32 S3 wroom 1 z wyświetlaczem LCD 20x4. Podłączyłem do niego zewnętrzne zasilanie 5V oraz przewody SDA i SCL z płytką według opisu pin8 SDA i pin9 SCL.
Po uruchomieniu i2c scanner jeśli nie zdefiniuję pinów to nie znajduje żadnego urządzenia I2C natomiast jeśli w Wire.begin(8, 9);zdefiniuję piny zgodnie z wyjściami i2c scanner znajduje wiele urządzeń jak poniżej:

Scanning...

I2C device found at address 0x06
I2C device found at address 0x0B
I2C device found at address 0x10
I2C device found at address 0x11
I2C device found at address 0x12
I2C device found at address 0x13
I2C device found at address 0x14
I2C device found at address 0x15
I2C device found at address 0x17

I2C device found at address 0x18
I2C device found at address 0x1A
I2C device found at address 0x1D
I2C device found at address 0x1E
I2C device found at address 0x1F
I2C device found at address 0x22
I2C device found at address 0x26
I2C device found at address 0x28
I2C device found at address 0x2C
I2C device found at address 0x31
I2C device found at address 0x32
I2C device found at address 0x33
I2C device found at address 0x34

i jeszcze więcej
......

Dodatkowo przy każdym skanowaniu ta lista jest inna, tzn numery urządzeń są inne.
Ktoś ma pomysł co się dzieje?
 
Odpowiedź
#2
A jak z rezystorami podciągającymi? Procek jest zasilany z 5V?
 
Odpowiedź
#3
Trzeba się upewnić, że wybrałeś faktycznie w Arduino IDE płytke, która jest z takim chipem.
ESP32 nie toleruje napięcia 5V, bezpiecznie nie używać modułów zasilanych z 5V, użyć dedykowanych 3.3V, a jak już to usunąć dla urządzeń 5V podciąganie linii sygnałowych w I2C do 5V i zrobić swoje rezystorami 3-5k do Vcc 3.3V.
Można to sprawdzić multimetrem, odłączyć od zasilania i zmierzyć rezystancję między Vcc a pinem SCK, SCL. Jak po podaniu zasilania jest na tych pinach 5V to może uszkodzić ESP32.
Moduły dedykowane dla Arduino bardzo często mają już wbudowane rezystory podciągające 10k na I2C, niestety jak są na 5V to może zaszkodzić.
Z drugiej strony 10k powinno na tyle ograniczyć prąd, że do natychmiastowego uszkodzenia nie dojdzie, ale jak długo to wytrzyma nie wiadomo.
Z trzeciej strony 10k nie gwarantuje prawidłowej pracy magistrali I2C. Jak są dwa lub trzy urządzenia i każde ma ten rezystor 10k, to zgodnie z prawem Ohma rezystancja spada i może zacząć działać lepiej w przypadku urządzenia 5V, tak samo i szybciej upalić pin ESP32.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości