multiplexor i2C para usar múltiples sensores del mismo tipo

0

Me gustaría conectar varios sensores del mismo tipo (temperatura, presión, etc.). El problema es que cada sensor solo puede tener 2 valores únicos diferentes para el registro, por lo que no puede poner más de 2 en un solo bus I2C.

Me gustaría multiplexar el canal I2C; así puedo enchufar más sensor; aunque no lo sé

  • ¿Qué tipo de placa para obtener (encuentra pocas tiendas en línea que tienen multiplexores analógicos; está bien para mi caso?)

  • ¿Qué tipo de código debo escribir? ¿Tengo que hacer ping a cada sensor de forma secuencial? ¿Hay un ejemplo sobre cómo hacer un ciclo a través de varios sensores usando un multiplexor?

Uso un tablero clon de Arduino, llamado Teensy; pero también vi un buen clon llamado Trinket pro; ambos están programados a través del lenguaje de programación Arduino; por lo que cualquier ejemplo sería realmente apreciado.

    
pregunta rataplan

1 respuesta

2

Puede usar un par de muxes analógicos o un mux I2C (por ejemplo, PCA9544A) para seleccionar un sensor (o par de sensores). Solo puede acceder a un sensor a la vez a menos que se encuentren en buses completamente separados, así que lo que deberá hacer es seleccionar un bus, leer cada sensor en ese bus, luego seleccionar el siguiente bus y leer los sensores, etc. hasta que todos Se leen los valores. Para cambiar el mux, utilizará pines de E / S (mux analógico) o el propio bus I2C (mux I2C). Solo asegúrese de que el mux esté configurado correctamente antes de intentar leer desde los sensores. Dos anidados para bucles funcionarán bien, el bucle externo establecerá el mux, y luego el bucle interno accederá a cada sensor en el segmento.

    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas