Skocz do zawartości
Zaloguj się, aby obserwować  
Itap88

Komunikacja dwóch płytek Arduino za pomocą UART

Pomocna odpowiedź

Witam. Zastanawia mnie, czy możliwa jest komunikacja między sobą dwóch płytek Arduino przez UART. Interesuje mnie też, co stanie się, gdy Arduino otrzyma przez UART dane z kilku źródeł jednocześnie. Sprawdziłbym sam, ale obawiam się, że mogę w ten sposób coś uszkodzić.

Udostępnij ten post


Link to post
Share on other sites

Tak możliwa jest konunikacja, musisz ustawić te same parametry transmisji i będzie śmigać. Przykładem takich układów są sterowniki serwomechanizmów na AVR.

możesz spróbować podłączyć ale UART to nie magistrala i po prostu przestanie działać.

Kiedyś miałem podłączone do Arduino 2 urządzebia z UART i nic nie działało. Dodanie przełącznika 2 torowego na lini RX i TX rozwiązało problem. Jeżeli wiesz jak sprawić by linie były odseparowane na czas transmisji innego urządzenia to możesz spróbowac połączyć kilka urządzeń. Niemniej SPI umie to samo 😁

Udostępnij ten post


Link to post
Share on other sites

A mógłbym puścić sygnał z UART przez wtórnik emiterowy? Zadziała?

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

@Itap88 myślę, że musiałbyś spróbować. Choć zastanawiam się, czy dopóki piny Arduino są w stanie wysokiej impedancji - są wejsciami, to nie musisz się przejmować. Czyli gdybyś wpiął kilka urządzeń we wspólną linię UART i wyciszał wybrane zwyczajnie wymuszając na nich stan wysokiej impedancji. Wtedy mógłbyś komunikować się z jednym wybranym, a reszta nie powinna przeszkadzać. Funkcja Serial.end() zamienia piny w zwykłe I/O.

Edytowano przez Gieneq

Udostępnij ten post


Link to post
Share on other sites

Zastanawiam się jeszcze tylko, czy połączenie przewodem pinu X ustawionego jako wyjście z pinem Y ustawionym jako wejście i ustawienie pinu X na stan wysoki nie wywoła przepływu prądu powyżej 20mA przez przewód.

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Dobre pytanie, ale po to są interfejsy żeby właśnie urządzenia się komunikowały. Tu masz np sterownik serw, który używa UART. Na płytce jest mikrokontroler PIC.

Ale daleko nie trzeba szukać, Arduino UNO jest przykładem - są tam 2 Atmegi, jedna ta w obudowie przewlekanej i druga służąca za interfejs USB-UART. Jak spojrzysz na schemat to wyprowadzania są połączone, są tam też rezystory 1k które najpewniej służą do ograniczania prądu.

To też ciekawy wniosek, podłączając coś do UNO masz tak naprawdę podłączone 3 urządzenia w magistralę, tylko że jedno (konwerter USB-UART) nie musi być aktywny.

image.thumb.png.4b30c3141cd769b439a80d2b625652d4.png

Dokładnie jak wygląda komunikacja to nie jestem w stanie powiedzieć, trzeba by prześledzić kod biblioteki, ale jest jedna dodatkowa linia, która może zapewnia arbitraż. Tego nie wiem.

Edytowano przez Gieneq

Udostępnij ten post


Link to post
Share on other sites

Problem w tym, że nie mogę mieć 2 płytek podrzędnych podłączonych do UART płytki głównej, a użycie Serial.end() w jednej z podrzędnych płytek sprawi, że nie będzie ona blokowała UART i zarazem nie będzie w stanie otrzymać przez ten interfejs informacji (np. o tym, że ma włączyć swój UART). Uznałem zatem, że mogłaby ona otrzymać tę informację przez pin cyfrowy ustawiony jako wejście. I tu pojawia się pytanie: Czy na tym połączeniu wystarczy sam przewód, czy muszę umieścić tu rezystor? Jeśli rezystor, to jaki powinien on mieć opór?

Udostępnij ten post


Link to post
Share on other sites

Dla większego porządku pytanie wydzieliłem z kursu, ponieważ nie dotyczy ono bezpośrednio omawianych tam ćwiczeń. Tutaj będzie łatwiej utrzymać porządek w dyskusji i nie będziemy mylić osób szukających informacji o programach z kursu. Źródło pytania: https://forbot.pl/forum/topic/8164-kurs-arduino-6-kontynuacja-uart-serwomechanizmy/page/10

  • Lubię! 1

Udostępnij ten post


Link to post
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!

Gość
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.

Zaloguj się, aby obserwować  

×
×
  • Utwórz nowe...