La forma más segura de conectar Raspberry Pi a Arduino Uno R3

13

Estoy trabajando en un robot que utiliza un Arduino Uno R3 y quería tener la capacidad de controlar el Arduino de forma inalámbrica, como detener el Arduino sin tener que desconectar el enchufe cada vez.

Quiero saber la forma más segura de conectar mi Raspberry Pi al Arduino, sin un gran riesgo de que el voltaje vaya en ambos sentidos.

Observé el uso de i2c y Serial, según estas páginas: http://blog.oscarliang.net/raspberry-pi-arduino-connected-i2c/ & http://blog.oscarliang.net/connect-raspberry-pi- y-arduino-usb-cable / . Todavía tengo que buscar USB. La razón por la que hago esta pregunta es que en la publicación de i2c decía que debería buscar la diferencia de voltaje:

¿Como funciona? ¿Es seguro?

El Raspberry Pi funciona a 3.3 voltios mientras que el Arduino funciona a 5 voltios. Hay tutoriales que sugieren usar un convertidor de nivel para la comunicación I2C. Esto NO es necesario si Raspberry Pi se está ejecutando como "maestro" y Arduino se está ejecutando como "esclavo".

¿Cómo puedo conectar con seguridad el RPi como maestro y el Arduino como esclavo?

RPiAwesomeness
fuente
2
Simplemente conéctese a través de USB. Para apagar el arduino, puede agregar un transistor (NPN) a uno de los puertos GPIO que tirará el pin de reinicio del arduino a tierra, manteniendo el arduino en un estado de `` apagado '' hasta que se restablezca la línea de reinicio.
Gerben

Respuestas:

5

Absolutamente más seguro sería Bluetooth serie. Con un dispositivo USB compatible en Raspberry Pi y algo así como un Bluefruit EZ-Link en Arduino, puede programar y controlar Arduino desde Raspberry Pi sin conexión física.

El siguiente mejor probablemente sería a través de USB. Existe un protocolo "estándar" ( Firmata ) para interactuar con Arduino y sensores, pero podría no ser ideal para la robótica.

scruss
fuente
Hoo! $ 22, no exactamente barato, ¡pero está bien! Se verá en esto!
RPiAwesomeness
2
Pruebe eBay para alternativas más baratas si el costo es un factor
Jervelund
Cuando dices serie Bluetooth, ¿funcionaría esto? foxytronics.com/products/…
RPiAwesomeness
Sí, el JY-MCU probablemente funcionaría después de mucho violín. El más caro al que vinculé maneja todas las etapas complejas de configuración. Eso vale la diferencia de precio para mí.
scruss
Ok genial. Me gusta tocar el violín y este es más barato, y el servicio es excelente, así que creo que iré con este. ¡Gracias!
RPiAwesomeness
11

La respuesta breve a su pregunta, cómo conectar de manera segura el RPi a un Arduino, se encuentra en el primer enlace que publicó: http://blog.oscarliang.net/raspberry-pi-arduino-connected-i2c/ . He utilizado el método dado allí con gran éxito y sin dañar ningún componente.

Pero su pregunta sugiere que no confía en ese método, y creo que la clave para confiar en él es comprender por qué es seguro. Esto se explica en el párrafo posterior al que citó, pero quizás con demasiados detalles. La clave es la falta de una resistencia "pull-up" en el Arduino de 5V. Sin él, el único suministro de voltaje es del 3.3V RPi, que afortunadamente es lo suficientemente alto para que el Arduino lo reconozca.

Lauren
fuente
7

Si no desea ahorrar su puerto USB de su Rpi, puede usar GPIO Serial para comunicarse con su Arduino. Hay un gran tutorial de Conor O'Neill para conectar Rpi con un Arduino Pro Mini. El procedimiento es el mismo con tu Arduino Uno.

Todo lo que necesita es un LLC (convertidor de nivel lógico) para poder conectar estos dos dispositivos. Como ya ha mencionado, estos dispositivos funcionan a diferentes niveles de voltaje.

bcan
fuente