Conectando microcontroladores a través de GPIO

2

Esta es probablemente una pregunta básica para la mayoría de las personas aquí, pero soy nuevo en electrónica y tiendo a aprender con el ejemplo, ¡así que pensé que era una buena pregunta!

Tengo una placa llamada Nano Pi Neo Plus 2 que es muy similar a una Raspberry Pi, solo que con un factor de forma más pequeño y más barato. Piense en ello como una imitación china;)

También tengo un Arduino Nano.

Quiero enviar valores booleanos desde el Nano Pi al Arduino Nano, y después de investigar diferentes protocolos de comunicación, decidí usar GPIO simple y encenderlos y apagarlos para representar el verdadero / falso booleano.

Todo bien hasta ahora: encontré algunos ejemplos aproximados en Internet y conecté todo. ¡Desafortunadamente, ya he volado un par de Arduino Nanos en el proceso!

Aquí es donde mi conocimiento de electrónica es muy limitado. No estoy seguro de si necesito resistencias en los pines GPIO (supongo que lo hago para evitar que explote) pero no sé si deberían levantarse, bajarse y qué valores (no tengo idea de cómo calcularlos) .

Estoy alimentando ambas placas utilizando una sola fuente de alimentación de 5V. He medido el voltaje en los pines Nano Pi GPIO y la caída de voltaje fue de ~ 3.3v.

¿Podría alguien explicarme qué está mal con el circuito y los pasos que tomaría para establecer la configuración y los valores de la resistencia?

Este es el diseño de tablero que estoy usando actualmente. No pude encontrar una pieza de Nano Pi en Fritzing, así que usé una Raspberry Pi para mostrar cómo se conecta entre sí.

Aquí está el diseño del tablero de Fritzing si eso ayuda

    
pregunta richwol

2 respuestas

2

Como se menciona en el comentario, un esquema ayudaría. Además de eso: en cuanto leí 'Arduino' y 'Pi' en la misma pregunta, todo mi cabello comienza a levantarse porque usan diferentes voltajes de E / S. Los Pis son 3.3 voltios, los arduinos son 5 voltios. Estoy más sorprendido de que su Pi no explotara.
En general, no hace daño conectar controladores con resistencias. La impedancia de entrada de un controlador es muy alta, por lo que agregar una resistencia de 2.2K no importará durante la operación. Pero sí protege sus controladores si tiene dos salidas conectadas.
Volviendo a la diferencia de voltaje: puede conectar de manera segura una salida del Pi a una entrada en su Arduino, pero como se menciona, agregar una resistencia en serie es una precaución de seguridad. .
Al revés tienes que reducir el voltaje. Lo más simple y barato es usar dos resistencias como divisor de voltaje. Tienes que pasar de 5V a 3.3V que es una reducción de 0.66. Yo recomendaría 1200 Ohm más 2200 Ohm.

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Oldfart
1

La mejor manera de hacer esto en general es usar un traductor de voltaje Vdd dual como el SN74AVC4T245 . Existen muchas partes diferentes, pero recomiendo una con suministros Vdd dobles que cubran los rangos que necesita y aquellos con una entrada para controlar la dirección (las bidireccionales que están disponibles con el cambio automático, pero dependen de la unidad de salida alta para forzar el cambio).

Conectar la salida de 5V de su Arduino a las entradas de 3.3V de la Pi puede causar daños permanentes o varios tipos interesantes de operación incorrecta.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas