Hoje falaremos sobre um sensor de luz visível que é utilizado em alguns telefones celulares para detectar quando o usuário aproxima o rosto do telefone. Trata-se do TEMT6000 da Vishay Semiconductor, cujo datasheet pode ser encontrado neste link. Recentemente adquiri duas peças deste sensor na ICStation (nosso parceiro na China) para testa-lo e utiliza-lo na minha estação meteorológica (que terá um post aqui no futuro); o link para compra deste sensor está no final deste post!.
   O sensor vem montado numa pequena placa de circuito impresso, acompanhado de um resistor de polarização de 10k (10.000) ohms; este resistor é necessário porque o TEMT6000 é essencialmente um fototransistor NPN sensível á luz, que precisa ser polarizado para funcionar corretamente. A ligação na plaquinha é feita assim: 
   Para o teste deste sensor eu utilizei meu Arduino UNO, alimentando o sensor em 5V e colocando sua saída na entrada analógica A0 do Arduino. O código que eu fiz para o Arduino é basicamente igual ao “AnalogInOutSerial.ino” disponível na IDE do Arduino (e que pode ser visto abaixo). Os valores analógicos do sensor são lidos a cada 1 segundo e enviado via porta Serial (USB) para o terminal do Arduino no computador.
 // These constants won't change. They're used to give names  
// to the pins used:
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to


int sensorValue = 0; // value read from the pot

void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}

void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);


// print the results to the serial monitor:
Serial.println("sensor = " );
Serial.print(sensorValue);


// wait 2 milliseconds before the next loop
// for the analog-to-digital converter to settle
// after the last reading
delay(1000);
}
   O Teste do sensor de luz visível foi realizado em 4 condições: (1)Sem luz alguma (escuro), (2)dentro de casa á tarde sem luz artificial, (3) apontando para o céu em dia nublado e (4) debaixo de uma luminária LED. Os resultados podem ser vistos na lista abaixo; lembrando que a faixa de valores de leitura analógica do Arduino é de 0V á 5V, correspondendo á uma variação entre 0 e 1023 inteiros.
Sem luz alguma: 3
Dentro de casa sem luz artificial: 76
Apontando para o céu, dia nublado: 1008
Luminária de LED, 1000 lúmen: 1008
   A partir da análise dos dados acima, concui-se que este sensor é bem sensivel no início da faixa de medição (mais escuro), porém menos sensível á luz com intensidade mais forte (debaixo de sol ou luz artificial forte). Isto quer dizer que ele é melhor aplicado em situações de baixa luminosidade, como por exemplo detectar o rosto do usuário se aproximando do telefone celular.
   Artigos futuros utilizando este sensor podem incluir: comparação dele com um LDR (light dependente resistor) e/ou fotodiodo/fototransistor e também aplicação deste sensor em uma estação meteorológica, para detectar nascer e pôr do sol.
Para comprar este sensor em nosso Parceiro ICStation (da China), clique no texto: CJMCU-TEMT6000 Light Sensor TEMT6000 Light Sensor Module
Para comprar o Arduino UNO em nosso Parceiro ICStation (da China), clique no texto: ICStation ATMEGA328 UNO V3.0 R3 Board Compatible Arduino UNO R3
Para comprar os cabinhos coloridos (jumpers) em nosso Parceiro ICStation (da China), clique no texto: 1pcs Dupont Wire 10CM 2.54MM Female to Female 1P-1P Jumper Cable For Arduino
Sensor de luz visível TEMT6000