Problem z wbudowaną biblioteką Wire - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Instalacja i rozwiązywanie problemów (https://forum.arduinopolska.pl/dzial-instalacja-i-rozwi%C4%85zywanie-problem%C3%B3w) +--- Wątek: Problem z wbudowaną biblioteką Wire (/watek-problem-z-wbudowan%C4%85-bibliotek%C4%85-wire) |
Problem z wbudowaną biblioteką Wire - Iicytower - 14-02-2024 Hej, mam problem z wbudowaną biblioteką Wire. Gdy próbuję uruchomić example sketch z biblioteki DS1307RTC to dostaję taki output jak na screenshocie. kod wkleję na wszelki wypadek jednak jest to w żaden sposób niezmodyfikowany example skech SetTime z biblioteki DS1307RTC: Kod: #include <Wire.h> próbowałem już odinstalować i zainstalować od nowa całe środowisko, jednak otrzymuję dokładnie ten sam efekt. podłączone jest raczej prawidłowo SCL do SCL, SDA do SDA, GDN do GDN, VCC do 5V. środowisko: OS: Xubuntu 22.04.3 LTS x86_64 Arduino: UNO R3 moduł RTC: DS1307 zainstalowana wersja arduino CLI: 1.8.19 wcześniej korzystałem z vscode i uploadowałem program przy pomocy CLI jednak jak nie mogłem sobie poradzić z tym błędem to uznałem, że wszystko usuwam i zainstalowałem od nowa Arduino IDE. poza modułem RTC do arduino podłączone są analogowy czujnik temperatury LM35, trzy przyciski oraz LCD 2x16, całość poprzez płytki stykowe. czy macie jakieś pomysły co jeszcze mógłbym spróbować zrobić żeby móc normalnie ustawić czas w module RTC (a potem go odczytywać)? RE: Problem z wbudowaną biblioteką Wire - kaczakat - 15-02-2024 Znajdź sobie takie szkic i2c_scanner i sprawdź czy wykrywa Ci ten zegarek. Na zrzucie ekranu masz przecież komunikat, że nie wykrywa zegara. Linie I2C muszą być podciągnięte do Vcc przez rezystor o odpowiedniej wartości, typowo są używane 5-10k, nic o nich nie wspomniałeś. Jeśli to jest jakiś moduł, może mieć wbudowane, ale warto wziąć do ręki multimetr i zmierzyć (bez napięcia) jaka jest rezystancja między liniami DATA i CLK a VCC. No i gdzie masz podłączone te pozostałe rzeczy, linie I2C są na pinach A4 i A5. RE: Problem z wbudowaną biblioteką Wire - Iicytower - 15-02-2024 dzięki wielkie za odpowiedź. to co mam to dokłądnie ten moduł. czyli było źle podłączone. teraz jest SDA do 5v oraz A4 SCL do 5v oraz A5 jak podłączałem do VCC poprzez rezystory 10k (tak sugerował jakiś filmik na yt) to był identyczny efekt jak bez tego. próbowałem również podłączyć do SDA i SCL na płytce Arduino (z rezystowami i bez nich) i był identyczny efekt efekt: wgrałem i2c_scanner i dostawałem: Kod: I2C Scanner we wszystkich przypadkach, które wyżej opisywałem. i tak wisi sobie bez dalszgo efektu przez kilka/kilkanaście minut. multimetru niestety nie mam żeby nim zweryfikować. masz może jakieś jeszcze podpowiedzi? RE: Problem z wbudowaną biblioteką Wire - Jarewa0606 - 15-02-2024 A bateria w nim jest sprawna? RE: Problem z wbudowaną biblioteką Wire - Iicytower - 15-02-2024 (15-02-2024, 15:53)Jarewa0606 napisał(a): A bateria w nim jest sprawna?tak, nowa, świeżo kupiona razem z modułem. Edit.: jak podłączyłem poprzez rezystor 10k SCL do A5 i SDA do A4 to dostaję w Serial monitorze Kod: Scanning... Edit2.: sprawdziłem to samo z rezystorami 4.7k i mam to samo. z tego co zrozumiałem z internetu to piny SCL i SDA w Arduino odpowiadają A5 i A4. RE: Problem z wbudowaną biblioteką Wire - Jarewa0606 - 15-02-2024 To albo uwalone UNO R3 albo DS1307 RE: Problem z wbudowaną biblioteką Wire - kaczakat - 16-02-2024 Nie wiem co tam miałeś źle podłączone, jak masz na płytce piny oznaczone SCL I DTA od I2C to do nich też się można podłączyć, to te same piny co A4 i A5, chodzi o to by jednocześnie do A4 i A5 nic nie podłączać, bo one są połączone na płytce i to będzie się gryzło. No jednak coś się zmieniło. Niestety nie można podłączać pod piny wyjściowe VCC czy GND bezpośrednio, gdy zamierzasz tam wystawiać sygnał cyfrowy 0/1=GND/5V, podłączasz bez rezystora 5V, uC wystawia 0, robisz zwarcie, pin leci z dymem w atmosferę. Na pinach I2C ma się pojawiać "słabe" 5V dostarczane przez rezystor z VCC, zwarciem do GND zamieniane na 0V. Odłącz wszystko, podłącz pod piny A4 i A5 ledy, przez rezystory oczywiście, 200-500om, wgraj prosty szkic do migania na pinach A4 i A5, sprawdzisz czy jeszcze żyją. W ogóle to nie napisałeś, czy Blink się wgrywał i działał poprawnie, zawsze przy nowej płytce, programie, konfigu należy wgrać taki prosty program, by sprawdzić na pewnym kodzie, że wszystko działa jak należy, a dopiero potem martwić się, czy masz magistralę I2C dobrze przygotowaną, adresy w bibliotece są poprawne. Arduino to połączenie elektroniki z programowaniem, coś takiego jak multimetr to niezbędne wyposażenie, dalej analizator logiczny Saleae (klon za parę dyszek) - tu by się bardzo przydał, programator do AVR, lutownica, itp. Na koniec, ale to jak już skanerem wykryjesz adresy na magistrali, w linku do botland masz przykład biblioteki, w Arduino IDE pewnie jeszcze parę, warto sprawdzać inne |