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.
Odpowiedzi:
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.
źródło
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ć.
źródło
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.
źródło