Komunikacja GPIO-UART-Arduino


12

Próbowałem bez powodzenia, aby Raspberry Pi rozmawiało z Arduino. Używam konwertera 3,3 V na 5 V do zamiany napięć. Umieściłem diodę LED na pinie UART TX i wygląda na to, że odwraca dane. Jeśli to prawda, jaki obwód jest mi potrzebny do komunikacji z Arduino?

Używam konwertera poziomów logiki Cool Components . Jest to tranzystor dla napięcia od 3,3 V do 5 V i rezystor dla napięcia od 5 V do 3,3 V.

Odpowiedzi:




2

Używam CD4050 do konwersji poziomu z 5 V na 3,3 V, a także do działania jako bufor do ochrony mojego Raspberry Pi. Arduino powinien widzieć 3,3 V jako logiczne maksimum, więc nie powinieneś musieć konwertować z 3,3 V na 5 V (stoję tutaj, zgodnie ze stroną Arduino, każde napięcie powyżej 3 V jest uważane za logicznie wysokie).

Oto krótki przykład użycia CD4050, Raspberry Pi GPIO UART i Arduino: http://www.andremiller.net/content/raspberry-pi-and-arduino-via-gpio-uart

Wszelkie komentarze są mile widziane, działa, ale mogłem zrobić to źle :)


1

Właściwie natknąłem się na ten sam problem i rozwiązałem go, uruchamiając atmega328 barebone z bootloaderem Arduino na 3,3 wolta, ale na 8 MHz. 8 MHz może powodować problemy, jeśli masz ścisłe wymagania dotyczące czasu. Ja sam planuję używać Arduino tylko do generowania PWM dla taśmy led rgb, więc jest w porządku, jeśli częstotliwość PWM wynosi połowę normalnej. Moje dotychczasowe testy wykazały, że Arduino może dobrze odebrać wiadomość.


1

Jest jedno proste rozwiązanie, w którym możesz usunąć dowolne zewnętrzne źródło zasilania Arduino i podłączyć pin GPIO Raspberry Pi 1 do 5 V pin Arduino za pomocą przewodu połączeniowego, w ten sposób główne zasilanie Arduino wyniesie 3,3 V, a wszystkie jego piny będą miały 3,3 V zamiast 5 V. Teraz możesz bezpośrednio podłączyć piny Uart do Pi i Arduino. Pracował dla mnie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.