Skocz do zawartości

I2C na dodatkowych pinach w ESP32 DEVKID


marcinmajczak

Pomocna odpowiedź

Witam

Posiadam ESP32 DevKid z złączem 30 pinowym które posiada według producenta dwa interface I2C. Posiadam kilka czujników które mają  ten sam adres i chce w jednym momencie czytania wartości z wszystkich czujników ponieważ urządzenie musi być bardzo szybkie i dokładne a nie chce używać ekspanderów.I teraz moje pytanie czy jest możliwość Software-owo stworzyć  dodatkowych złącz I2C?

Pozdrawiam

Link do komentarza
Share on other sites

Pewnie że jest moźliwe napisanie "software"owego interfejsu. Często używany na Arduino jest UART w bibliotece SoftwareSerial. Podobnie jest też I2C dostępny na Arduino Playground.

Nie wiem tylko, czy takie podejście jest tym czego potrzebujesz, bo komunikacja taka będzie najpewniej blokować główą pętlę programu i spowalniać wykonanie programu.

Jeżeli chodzi o te 2 interfejcy hardwareowe, to sprawdź czy któryś z nich nie jest do czegoś związanego z płytka devkit. Jeden wiem, że jest bo sam kiedyś testowałem.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Jest możliwość podpięcia kilku urządzeń z tym samym adresem do jednej magistrali, tylko musiałbyś mieć możliwość wyboru - coś jak pin Chip Enable/Select w SPI. Jakie są te czujniki? Bo może posiadają właśnie takie wyprowadzenia które je aktywują, wiem że niektóre akcelerometry takie maja. Jeżeli nie mają, to możesz spróbować kluczować albo zasilanie albo dostęp do magistrali.

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

Wygląda jak coś w tym temacie. PDF

Zastanawia mnie dlaczego na płytce jest dodatkowe wyprowadzenie magistrali. Jest tam też dodatkowy pin INT - zgaduje przerwanie, ale co robi to nie doczytałem. Może to będzie to coś do wyzwalania. Choć patrząc na to co jest w ww. pdf to chyba nie ma innego wyjścia.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

ESP32 ma 2 interfejsy a potrzebujesz 5, więc aktywacja drugiego wiele Ci nie da. Podłączenie programowe do różnych pinów uC urządzeń I2C tylko pogorszy sprawę. W uC nie ma czegoś takiego jak "w tym samym czasie" (przynajmniej bez wykorzystywania specjalnych mechanizmów uC), z punktu widzenie człowieka uC może zrobić co prawda miliony operacji "w tym samym czasie", ale tak na prawdę jest to milion operacji wykonanych jedna po drugiej w czasie mrugnięcia oka. Możesz użyć modułu z CD74HC4067 do zwielokrotnienia interfejsów I2C o tym samym adresie, lub czegoś w ten deseń.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

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