Najbezpieczniejszy sposób na połączenie Raspberry Pi z Arduino Uno R3

13

Pracuję nad robotem za pomocą Arduino Uno R3 i chciałem mieć możliwość bezprzewodowego sterowania Arduino, jak zatrzymanie Arduino bez konieczności ciągnięcia wtyczki za każdym razem.

Chcę poznać najbezpieczniejszy sposób podłączenia mojego Raspberry Pi do Arduino, bez ogromnego ryzyka, że ​​napięcie pójdzie źle.

Patrzyłem na używanie i2c i Serial, jak na tych stronach: http://blog.oscarliang.net/raspberry-pi-arduino-connected-i2c/ & http://blog.oscarliang.net/connect-raspberry-pi- i-arduino-kabel USB / . Muszę jeszcze sprawdzić USB. Powodem, dla którego zadaję to pytanie, jest to, że w poście i2c napisano, że powinienem zwrócić uwagę na różnicę napięcia:

Jak to działa? Czy to jest bezpieczne?

Raspberry Pi działa na 3,3 wolta, podczas gdy Arduino na 5 woltów. Istnieją samouczki sugerujące użycie konwertera poziomów do komunikacji I2C. NIE jest to potrzebne, jeśli Raspberry Pi działa jako „master”, a Arduino działa jako „slave”.

Jak mogę bezpiecznie podłączyć RPi jako master i Arduino jako slave.

RPiAwesomeness
źródło
2
Wystarczy podłączyć przez USB. Aby wyłączyć arduino, możesz po prostu dodać tranzystor (NPN) do jednego z portów GPIO, który wyciągnie pin resetujący arduino do ziemi, utrzymując arduino w stanie „wyłączenia” do czasu przywrócenia linii resetowania.
Gerben

Odpowiedzi:

5

Absolutnie najbezpieczniejszy byłby szeregowy Bluetooth. Z obsługiwanym kluczem USB na Raspberry Pi i czymś takim jak Bluefruit EZ-Link na Arduino, możesz programować i kontrolować Arduino z Raspberry Pi bez fizycznego połączenia.

Następny najlepszy byłby prawdopodobnie przez USB. Istnieje „standardowy” protokół ( Firmata ) do interakcji z Arduino i czujnikami, ale może nie być idealny dla robotyki.

szum
źródło
Hoo! 22 USD, niezupełnie tanie, ale w porządku! Zajrzę do tego!
RPiAwesomeness
2
Wypróbuj eBay, aby znaleźć tańsze alternatywy, jeśli koszt jest czynnikiem
Jervelund
Gdy powiesz szeregowy Bluetooth, czy to zadziała? foxytronics.com/products/…
RPiAwesomeness
Tak, JY-MCU najprawdopodobniej zadziałałoby po wielu majstrowaniach. Droższy, który połączyłem, obsługuje wszystkie złożone etapy konfiguracji. To jest dla mnie warte różnicy cen.
scruss
Okej świetnie. Lubię majstrować, a ten jest tańszy, a usługa jest świetna, więc myślę, że pójdę z tym. Dzięki!
RPiAwesomeness
11

Krótka odpowiedź na twoje pytanie, jak bezpiecznie podłączyć RPi do Arduino, jest rzeczywiście podana na pierwszym opublikowanym linku: http://blog.oscarliang.net/raspberry-pi-arduino-connected-i2c/ . Zastosowałem podaną tam metodę z wielkim sukcesem i nie uszkadzając żadnych elementów.

Ale twoje pytanie sugeruje, że nie ufasz tej metodzie i myślę, że kluczem do jej zaufania jest zrozumienie, dlaczego jest ona bezpieczna. Jest to wyjaśnione w akapicie po cytowanym przez ciebie, ale być może ze zbyt dużą ilością szczegółów. Kluczem jest brak rezystora „pull-up” w Arduino 5 V. Bez niego jedyne źródło zasilania pochodzi z 3,3 V RPi, które na szczęście jest wystarczająco wysokie, aby Arduino mógł je rozpoznać.

Lauren
źródło
7

Jeśli nie chcesz oszczędzać portu USB swojego Rpi, możesz użyć GPIO Serial do komunikacji z Arduino. Istnieje świetny samouczek Conora O'Neilla na temat łączenia Rpi z Arduino Pro Mini. Procedura jest taka sama w przypadku Arduino Uno.

Wszystko, czego potrzebujesz, to LLC (Logic Level Converter), aby móc połączyć te dwa urządzenia. Jak już wspomniałeś, urządzenia te działają na różnych poziomach napięcia.

bcan
źródło