Buenas, aquí en el mundo que menos domino que es el del estaño y los electrones.
Estoy preparando ya las pruebas con el sensor TCS34725, el cual me va a permitir medir el color, de acuerdo a las necesidades específicas y tiempos de respuesta que yo necesito.
El las instrucciones de la librería sobre el manejo del sensor, se especifica de manera tácita (En concreto la adaptación que realiza Adafruit del mismo):
// connect LED to digital 4 or GROUND for ambient light sensing
// connect SCL to analog 5
// connect SDA to analog 4
// connect Vin to 3.3-5V DC
// connect GROUND to common ground
Primero voy a comentar lo que sí tengo claro (o creo que ya tengo controlado)
- La comunicación con el sensor es es I2C (justo lo que yo quería)
- Tengo claro que lo conectaré al SCL y SDA, sea el que use, aunque no use eso pines analógicos, eso tengo claro cómo controlarlo si esos pines no son los que al final uso.
- He estudiado todo el Datasheet del producto que está en TCS34725 pdf, TCS34725 Description, TCS34725 Datasheet, TCS34725 view ::: ALLDATASHEET :::.
- Me he decidido por este montaje porque incorpora un led, el cual es el que necesito para poder leer el color de síntesis sustractiva de color, además está controlado por un MOSFET, con lo cual, según las indicaciones de Adafruit, lo conecto a un pin cualquiera de la placa y puedo controlar encenderlo y apagarlo sin necesidad de resistencia adicional, lo cual me va a permitir medir el color de la síntesis aditiva de color.
Hasta aquí todo bien.
Mis dudas son las siguientes:
- La comunicación I2C se realiza sin poder modificar el identificador del sensor, de manera que dos sensores iguales tendrán el mismo identificador.
- Justo necesito 2 sensores, para medir en dos condiciones diferentes, eso sí, en dos momentos muy diferentes: Una dentro del aparato y otra fuera del aparato (segundo sensor conectado por cables con unos no más de 30cm de distancia).
- Cuando quiera utilizar uno, no necesitaré utilizar el otro JAMAS, es imposible e innecesario (no quiero aburrir con los detalles, pero os pido que aceptéis esto como axioma).
- Puedo utilizar un multiplexor de I2C, como el TCA9548A, el cual me permite utilizar 8 dispositivos I2C con la misma dirección, el cual cuesta unos $10 redoneados y he de importar del extranjero.
- La otra solución, que no sé si funciona y se me ocurre, es no alimentar el sensor que no deseo utilizar en el Vin, y utilizar 2 octoacopladores con 2 resistencias, que las encuentro en la tienda de la esquina, y con $10 compro como nosecuantasmil de ambas.
¿Funcionaría mi solución octoacoplada?
Adjunto un esquema no resuelto, ya que no tengo los sensores en el Frirzing, pero es para documentar la idea que surge en mi cabeza, a ver cuan errado estoy.
Agradezco ayuda al respecto, ya que, además de las implicaciones Hardware, tiene implicaciones en la librería que estoy desarrollando.
Muchas gracias
------- Corrección posterior.
Como el culombio no es lo mío, de manera muy alegre he omitido esta indicación:
// connect LED to digital 4 or GROUND for ambient light sensing
Osea, no he de conectarlo a un pin, sino a tierra. Pregunto:
¿Si quiero apagarlo y encenderlo puedo usar otro octoacoplador para controlarlo con un pin?
Gracias