El sensor luz ambiental TEMT6000 es sensible al espectro visible. La salida de este sensor es analógica por lo que lo se puede medir con cualquier ADC de un Arduino o microcontrolador. Por lo tanto el módulo puede ser utilizado como un excelente contacto controlado por luz solar. La domótica podría ser una opción para utilizarlo. En este caso la luz solar será la variable a medir con el modulo, cuando el modulo no detecte la suficiente luz solar se emitirá una señal de al Arduino para encender el LED o en caso de lo contrario, que la luz solar sea suficientemente fuerte se emitirá otra señal que indique al Arduino que apague el LED con la medición del TEMT6000.
El modulo “sensor de luz ambiental” ó TEMT6000 tiene la capacidad para muchas más aplicaciones. El límite es tu imaginación.
Lista de materiales:
Enlaces de interes:
Conexión TEMT6000:

En la imagen mostramos la conexión correspondiente del sensor al Arduino. En este ejemplo utilizaremos el pin análogo 0 para hacer la lectura del sensor y el pin 8 para nuestra salida al led, también se usaran los pines de 5v y GND para alimentar el modulo y aterrizar el led a tierra.
Arduino | Sensor de luz ambiental TEMT6000 |
Analog in 0 | S |
GND | GND |
5v | VCC |
Arduino | Led |
GND | Pata negativa |
Pin 8 | Pata positiva |
Código para el TEMT6000:
Como inicio declaramos los puertos de entrada y salida en el microcontrolador. Los rangos que se utilizaran para la variable “luz solar” (esta es ajustable dependiendo al entorno donde se desea trabajar), por cierto, un punto muy importante es declarar el valor con qué iniciara a trabajar el modulo TEMT6000 al momento de dar arrancar a el programa. Por ello lo ponemos en 0 para que el sensor envié la señal de apagar el LED al microcontrolador una vez que detecte luz.
[code language=»cpp»]
int sense01 = 0; //Pin analógico 0
int led01 = 8; //Pin digital 8
int val01 = 0; //Valor del sensor de luz TEMT6000
int light=250; //Intervalo de luz. Testear y cambiarlo por el de nuestro entorno
[/code]
En la siguiente línea se asigna el pin que controlara el LED como salida.
[code language=»cpp»]
Serial.begin(9600);//Iniciamos el puerto serie
pinMode(led01,OUTPUT);//Definimos el led 8 como salida
[/code]
En las líneas siguientes procedemos a condicionar el sensor de luz ambiental TEMT6000 para que trabaje con los rangos que se requiera, es decir la intensidad luminosa que activara la señal para encender o apagar el LED.
Estas líneas indican el apagado del LED. Cuando el sensor está detectando luz suficiente enviara la señal al microcontrolador para que el LEDse apague.
[code language=»cpp»]
if (val01>=45)
{
Serial.println(val01);
Serial.println("ENCENDIDA");
Serial.println("LED APAGADO");
digitalWrite(8, LOW);
}
[/code]
Las líneas siguientes hacen lo contrario al apagado del foco. Cuando el sensor no registre luz suficiente en el ambiente enviara la señal al microcontrolador para que encienda el foco o led.
[code language=»cpp»]
else
{
Serial.println(val01);
Serial.println("LUZ APAGADA");
Serial.println("LED ENCENDIDO");
digitalWrite(8, HIGH);
}
[/code]
Código completo TEMT6000:
[code language=»cpp»]
int sense01 = 0;//Pin analógico
int led01 = 8;//Pin digital 8
int val01 = 0;//Valor del sensor de luz
int light=250;//Intervalo de luz. Ajustar y cambiarlo por el de nuestro entorno
void setup()
{
Serial.begin(9600);//Inicializa el puerto serie
pinMode(led01,OUTPUT);//se define el pin 8 como salida
}
void loop()
{
val01 = analogRead(sense01);
if (val01>=45)
{
Serial.println(val01);
Serial.println("ENCENDIDA");
Serial.println("LED APAGADO");
digitalWrite(8, LOW);
}
else
{
Serial.println(val01);
Serial.println("LUZ APAGADA");
Serial.println("LED ENCENDIDO");
digitalWrite(8, HIGH);
}
delay(1000);
}
[/code]