¿Cómo extiendo la cantidad de pines analógicos (de entrada) disponibles para mí?

Ya sé cómo extender la cantidad de pines digitales en un Arduino usando un multiplexor.

Quiero aumentar la cantidad de canales de entrada analógica que tengo. Una solución es agregar otro Arduino como esclavo.

¿Cómo aumentaría el número de canales de entrada analógica? (Supongo que algunos MUXing y ADC están involucrados). Si es demasiado complicado escribir una respuesta, también estaría bien un esquema general del circuito/código.

También estoy abierto a sugerencias de protección, aunque preferiría que hubiera una solución de hardware no demasiado difícil.

Respuestas (3)

Si ya está familiarizado con los chips multiplexores digitales, ¡buenas noticias! También se pueden utilizar para señales analógicas.

http://playground.arduino.cc/Learning/4051

La premisa básica es exactamente igual que con la multiplexación de señales digitales. Usas el chip 4051 como un "cambiador de carril" y lees la señal de cualquier carril al que le digas al chip que cambie. el 4051 usa 3 pines digitales y 1 pin analógico (o digital) adicional en el arduino para crear hasta 8 carriles de entrada. Algunos multiplexores se pueden encadenar, por lo que puede agregar con bastante facilidad 8 señales más sin necesidad de quitarlas del propio arduino.

Es exactamente como la técnica que ya conoce para las señales digitales, simplemente conecte el canal desde el que lee a un pin analógico en lugar de uno digital, luego recorra los estados binarios y lea los valores analógicos.

Hice un gif animado para ti.

ingrese la descripción de la imagen aquí

Si bien el enlace responde a la pregunta, ¿podría elaborar un poco? Escribir sobre el circuito en resumen? (Se desaconsejan las respuestas de solo enlace en la red)
Bueno. Respuesta ampliada.
Una aclaración, el 4051 que menciona es un mux analógico, no un mux digital, lo aclararía en su respuesta porque definitivamente hay muxes digitales que no pueden lograr esto porque sus controladores de salida y entrada no están diseñados para una respuesta lineal. Tal vez valga la pena agregar que el encadenamiento de muxes analógicos puede afectar la señal dependiendo de las características de mux
Vale la pena señalar que los multiplexores analógicos no son triviales de seleccionar, el diseñador debe considerar la oscilación de voltaje (la mayoría solo opera dentro del rango de suministro, como amplificadores operacionales), ancho de banda, resistencia en ON, diafonía, etc. etc., siendo la oscilación de voltaje el mayor potencial Mostrar tapón.
Creo que también puede usar un pin digital para alimentar un sensor, así que solo encienda un pin digital con respecto al sentido de VCC y comparta el mismo análogo.
Sería algo así: blueberryde.com/shop/24-channel-analog-expander-shield/… ? ¿Y serían problemas de rendimiento?

Puede ser importante recordar que el propio chip ATmega de Arduino utiliza un MUX analógico. Los chips basados ​​en Uno (ATmega328) solo tienen un único ADC. Las 6 entradas analógicas son en realidad un MUX que se conecta a ese ADC.

Es por eso que solo puede leer 1 entrada analógica a la vez.

Al expandir las entradas analógicas, puede ser necesario considerar cuánto tiempo lleva hacer todo este MUXing y si se necesitan o no ADC externos adicionales en su aplicación.

Considere esto: agregue ATtiny 85 con comunicación serial con el Arduino, usa 2 pines para Rx, Tx, y tiene 3 pines más que se pueden usar como analógicos. Este aay puede desarrollar su propio protocolo, el ATtiny puede procesar el algoritmo y enviar la información procesada a Arduino, también es muy barato, lo probé yo mismo, creo que es una buena arquitectura.

Buenos días