Skocz do zawartości

Jak podłączyć 2 konwertery I2c do jednego Arduino Uno?


4leksander

Pomocna odpowiedź

Dzień dobry. nie znalazłem dokładnej dla mnie odpowiedzi w żadnym z poprzednich wątku albo zrozumiałej z racji tego że dopiero zaczynam się tym tematem bawić. Planuję zrobić automatyczny system zraszania, światła do terrarium. Do tej pory wydaję mi się że dałem rade poprawnie wszystko rozplanować na schemacie jednak nie mam pojęcia jak podłączyć drugi konwerter (wbudowany w module zegarowym) do Arduino UNO gdy mam podłączony już jednym wyświetlacz. obraz.thumb.png.90ada1edcb01af3f881defc69bf88efb.png

Prosiłbym o pomoc i wytłumaczenie dlaczego jeśli byłaby taka opcja.
 

Link do komentarza
Share on other sites

Następny moduł podłączasz do tych samych pinów co wyświetlacz (linie SDA, SCL oraz zasilanie) . 

Arduino rozróżnia oba urządzenia po adresie przesyłanym po linii danych.

Link do komentarza
Share on other sites

(edytowany)

DS3231 ma stały adres 0x68, a PCF8574 w zależności od ustawienia zakres ośmiu (od 0x20 do 0x27), więc nie będzie konfliktu na tej samej linii I2C.

Z ciekawości spytam: pompka i ledy, na jaki max prąd to będzie? Teoretycznie można by zastosować moduł z mosfetami, chyba, że klikanie przekaźników nie będzie przeszkadzać. Oczywiście mosfety też mają minusy. Oprócz grzania się, przepalone mogą mieć stan nieustalony (nadal przewodzić lub nie).

Poniżej tylko gdybanie:

 

Na schemacie masz 2x DHT11, ale są też precyzyjniejsze czujniki temp/wilgotności (na I2C), np. AHT20, BME280. Z racji jednej dostępnej linii I2C w arduino uno, łatwiej (bez multiplekserów lub  przełączania czujników) byłoby podłączyć 2x BME280, ponieważ posiada 2 adresy (0x76 i 0x77 w zależności od stanu pinu SDO; domyślnie w modułach podciągnięty pod GND rezystorem 10 kOhm, więc 0x76). Tak tylko wspominam, o ile potrzebowałbyś większej precyzji w pomiarze. BME280 bywają w 2 wersjach: 3.3V i 5V, na to trzeba zwrócić uwagę.

Edytowano przez orb777
  • Lubię! 1
Link do komentarza
Share on other sites

Zrobiłem tak. Dziękuje
obraz.thumb.png.d291f5ddcca9d5613a55d2ca82bc7888.png
 

Cytat

Na schemacie masz 2x DHT11, ale są też precyzyjniejsze czujniki temp/wilgotności (na I2C), np. AHT20, BME280. Z racji jednej dostępnej linii I2C w arduino uno, łatwiej (bez multiplekserów lub  przełączania czujników) byłoby podłączyć 2x BME280, ponieważ posiada 2 adresy (0x76 i 0x77 w zależności od stanu pinu SDO; domyślnie w modułach podciągnięty pod GND rezystorem 10 kOhm, więc 0x76). Tak tylko wspominam, o ile potrzebowałbyś większej precyzji w pomiarze. BME280 bywają w 2 wersjach: 3.3V i 5V, na to trzeba zwrócić uwagę.

Co do precyzji to używam tych bo tylko z tymi miałem styczność na studiach i pewnie będę eksperymentował z innymi po skończeniu tego bo mam do zrobienia 6 takich urządzeń na wszystkie terraria. A przy pierwszym zostanę narazie tak.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.