adamZet Napisano Listopad 15, 2021 Udostępnij Napisano Listopad 15, 2021 (edytowany) Witam. Mam problemy z obsługą I2C na NodeMcu v3. NodeMCU v3 podłączony z LCM1602 tak jak na schemacie poniżej z tym że LCM1602 dostaje zasilanie 5V zasilacza, a GND z NodeMCU, LCM1602 i zasilacza są połączone razem. LCM1602 docelowo podłączony jest do wyświetlacza 20x4. 1. Po odpaleniu I2cScanner otrzymuję: Scanning... Unknown error at address 0x01 Unknown error at address 0x02 .... No I2C devices found 2. Po odpaleniu I2CexpDiag z https://github.com/duinoWitchery/hd44780 dostaję: Serial Initialized -------------------------------------------------------------------- I2CexpDiag - i2c LCD i/o expander backpack diagnostic tool -------------------------------------------------------------------- hd44780 lib version: 1.3.2 -------------------------------------------------------------------- Reported Arduino Revision: 1.8.16 Arduino Board: ESP8266_NODEMCU_ESP12E CPU ARCH: ESP8266 - F_CPU: 80000000 -------------------------------------------------------------------- SDA digital pin: 4 (GPIO4) SCL digital pin: 5 (GPIO5) -------------------------------------------------------------------- Checking for required external I2C pull-up on SDA - STUCK LOW Checking for required external I2C pull-up on SCL - STUCK LOW ******************************************************************** ERROR: SDA or SCL stuck pin ******************************************************************** I2C bus not usable Testowałem również na przypadkach gdzie na dwóch różnych expanderach LCM1602, gdzie nie ma podłączonego wyświetlacza i zasilacza, a zasilanie LCM1602 jest z pinu NodeMCU 3V, korzystałem również z różnych przewodów - efekt ten sam. Sprawdziłem też piny D1 i D2 - są zdrowe (jest prawidłowe napięcie gdy ustawiony jest stan wysoki, a po podłączeniu diody i odpaleniu testowego programu prawidłowo mruga). Ponadto sprawdziłem też to samo na innym ESP8266 - tym razem pod postacią Wemos D1 mini - tam sytuacja również jest taka sama. Czy pominąłem jakiś krok? Jakieś sugestie? Edytowano Listopad 15, 2021 przez adamZet
_LM_ Listopad 15, 2021 Udostępnij Listopad 15, 2021 Jak masz ustawione gpio w node mcu w sensie czy piny sda i scl pokrywają się z tym co jest fizycznie podłączone?
ethanak Listopad 15, 2021 Udostępnij Listopad 15, 2021 O ile pamiętam potrzebne są rezystory podciągające.
_LM_ Listopad 15, 2021 Udostępnij Listopad 15, 2021 Niby są wbudowane na tej płytce chyba że chińczyki przycebulili na rezystorkach
ethanak Listopad 15, 2021 Udostępnij Listopad 15, 2021 Na której płytce? Bo na NodeMCU na 100% nie ma żadnych rezystorów na GPIO4/GPIO5, a jeśli chodzi o konwerter do wyświetlacza to ja się kiedyś już naszukałem dlaczego z UNO działa a z Pro Mini już nie
adamZet Listopad 15, 2021 Autor tematu Udostępnij Listopad 15, 2021 10 minut temu, ethanak napisał: O ile pamiętam potrzebne są rezystory podciągające. Są już zawarte na płytce LCM1602. Gdybym wokorzystywał sam układ PCF8574 to wtedy było by konieczne zastosowanie ich.
adamZet Listopad 15, 2021 Autor tematu Udostępnij Listopad 15, 2021 20 minut temu, _LM_ napisał: Jak masz ustawione gpio w node mcu w sensie czy piny sda i scl pokrywają się z tym co jest fizycznie podłączone? Tak jak na zamieszczonym schemacie (po to go umieściłem). By rozwiać Twoje wątpliwości poniżej zdjęcie połączonego układu:
ethanak Listopad 15, 2021 Udostępnij Listopad 15, 2021 5 minut temu, adamZet napisał: Są już zawarte na płytce LCM1602 Wiesz, ja tak z doświadczenia. Zrobiłem kiedyś próbę na Arduino UNO, działało świetnie. W docelowym układzie podłączyłem Pro Mini - oczywiście zero reakcji ze strony wyświetlacza.[1] Podłączenie rezystorów podciągających 4.7k pomogło od strzału. Oczywiście LCM1602 z "podobno" rezystorami na pokładzie. Ja bym spróbował dwa rezystorki podłączyć... --- [1] Teraz już wiem dlaczego. W UNO podłączane są wewnętrzne pullupy do linii i2c - ot, taka uroda tego co siedzi w "variants" 1
adamZet Listopad 15, 2021 Autor tematu Udostępnij Listopad 15, 2021 52 minuty temu, ethanak napisał: Wiesz, ja tak z doświadczenia. Zrobiłem kiedyś próbę na Arduino UNO, działało świetnie. W docelowym układzie podłączyłem Pro Mini - oczywiście zero reakcji ze strony wyświetlacza.[1] Podłączenie rezystorów podciągających 4.7k pomogło od strzału. Oczywiście LCM1602 z "podobno" rezystorami na pokładzie. Ja bym spróbował dwa rezystorki podłączyć... --- [1] Teraz już wiem dlaczego. W UNO podłączane są wewnętrzne pullupy do linii i2c - ot, taka uroda tego co siedzi w "variants" Po podłączeniu pod 4,7kR na SDA i SCL rezultat jest taki sam.
ethanak Listopad 15, 2021 Udostępnij Listopad 15, 2021 8 godzin temu, adamZet napisał: Checking for required external I2C pull-up on SDA - STUCK LOW Checking for required external I2C pull-up on SCL - STUCK LOW ******************************************************************** ERROR: SDA or SCL stuck pin Może ja nie umiem czytać ale po mojemu on tu się pruje że pullupy nie są podłączone.
adamZet Listopad 15, 2021 Autor tematu Udostępnij Listopad 15, 2021 37 minut temu, ethanak napisał: Może ja nie umiem czytać ale po mojemu on tu się pruje że pullupy nie są podłączone.
_LM_ Listopad 15, 2021 Udostępnij Listopad 15, 2021 (edytowany) Pewnie chodzi o te w programie, w ustawieniach gpio jako input pullup Edytowano Listopad 15, 2021 przez _LM_
_LM_ Listopad 15, 2021 Udostępnij Listopad 15, 2021 Skoro ten moduł nie chce działać na żadnej z twoich płyt testowych to może oznaczać że jest uszkodzony, dla pewności zamiast tego modułu podłączyłbym coś innego na magistralę czy w ogóle zadziała. Inna opcja to sprawdzić z tym podłączonym modułem napięcia ba sda i scl, czy może któreś nie jest przywarte do masy.
adamZet Listopad 15, 2021 Autor tematu Udostępnij Listopad 15, 2021 46 minut temu, _LM_ napisał: Skoro ten moduł nie chce działać na żadnej z twoich płyt testowych to może oznaczać że jest uszkodzony, dla pewności zamiast tego modułu podłączyłbym coś innego na magistralę czy w ogóle zadziała. Inna opcja to sprawdzić z tym podłączonym modułem napięcia ba sda i scl, czy może któreś nie jest przywarte do masy. Tak jak napisałem w pierwszym poście oraz tak jak możesz zobaczyć na pierwszym zdjęciu które dla Ciebie zrobiłem - posiadam dwa moduły LCM1602. Na obu jest taka sama sytuacja.
Pomocna odpowiedź
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ę »