Sensor de luz TEMT6000 com Arduino

sensor-de-luz-TEMT6000
Font Size

Olá, tudo bem? Hoje veremos como os sensores de luz funcionam, mas precisamente o sensor de luz TEMT6000. Não quero fazer você dormir com a vasta leitura, por isso quero ser o mais simples e direto possível, combinado? Então vamos nessa!

Alguns exemplos dos sensores de luz

Os sensores de luz tem diversos tipos de usabilidade nos tempos modernos. Exemplo disso são o flash automático das câmeras digitais. Aquele sensor de luminosidade dos celulares mais atuais que controla a intensidade do brilho da tela e também do flash. Enfim, eles tem como objetivo voltado para experiência do usuário em um ambiente mais escuro.

Entendendo o funcionamento do sensor de luz TEMT6000

Dito isso, vamos começar a entender como o nosso personagem do dia trabalha e poder compreender melhor toda essa teoria. De início como nome sugere, o sensor TEMT6000 irá detectar a intensidade de brilho do ambiente (ou que incidimos sobre ele).

Assim, embora tenha algumas propriedades da luz que auxiliam na categorização do brilho lido, o TEMT6000 usa a iluminância (medida em lux). Ela basicamente, analisa o quanto de luz (analisando as ondas) está sendo incidida sobre o metro quadrado daquela superfície (no nosso caso o sensor).

Em suma é o seguinte, quanto mais brilhante o ambiente = mais corrente, quanto menos brilho = menos corrente. Ele segue uma relação proporcional como podemos ver, beleza?

Descoberto um pouco mais sobre este sensor, vamos começar a nossa construção do projeto de hoje que será colocar um led para representar visualmente essa leitura do sensor e que vai auxiliar você nos projetos que seja preciso analisar a quantidade de luz no ambiente.

Conhecendo os pinos do TEMT6000

Sensor TEMT6000

Como é possível observar na imagem acima, o sensor é bem simples (e pequeno). Ele possui apenas três pinos que são facilmente compreendidos, basicamente cada pino funciona da seguinte forma:

Pino Descrição
SIG Tensão de saída do circuito divisor
GND GND (0V)
VCC Tensão do coletor (não deve exceder 6V, fique atento!)

Conhecendo mais sobre o conceito

Maravilha, mas então como ele consegue trabalhar calculando essa intensidade de luz? Isso vem da sua configuração interna, a qual é composta por um fototransistor. Mas, que raios é isso?

Vamos lá com muita calma. Fototransistor é um cara muito falado na eletrônica chamado de transistor, para quem nunca ouviu falar dele, imagine uma torneira (isso você já viu). Agora no transistor temos três pinos: base, coletor e emissor.

Trazendo para a nossa torneira temos: válvula = base, entrada da torneira = coletor, por fim, temos a saída da água = emissor.

Feito essa analogia vamos voltar ao fototransistor. Como o nome sugere Foto = fótons = luz. Assim podemos assumir que fototransistor se trata de um transistor que é ativado (ou aberto no caso da torneira) através de luz.

Mas como ativamos o fototransistor? Para isso vamos voltar a nossa torneira, para poder girar a sua válvula, temos que realizar uma certa força sobre ela correto? Assim, no transistor também temos que realizar essa força na válvula dele (ou seja, a base). Normalmente fazemos isso com corrente, mas como ele depende de luz, iremos fazer isso com luz 🙂

Portanto, ao incidirmos luz sobre o fototransistor, a “válvula é aberta” e a corrente do circuito flui do coletor ao emissor. Porém, temos que tomar cuidado pois somente a luz que cai dentro do espectro visível (390 a 700 nm) altera a base. Ou seja, infravermelho, ultravioleta ou qualquer outra luz que não possamos ver diretamente não terá efeito no sensor.

Para finalizar, onde conectar o pino SIG? Simples, para ler essa tensão, basta conectar o pino SIG do TEMT6000 a qualquer pino de conversão analógico para digital no seu microcontrolador. Os famosos “pinos especiais” da minha apostila!

Componentes do Projeto

Montagem do Circuito

Sensor apresentado, pinagem estudada e conceito aprendido. Está na hora então de colocar a mão na massa e fazer o nosso projeto de hoje. Assim, basta realizar as conexões da imagem abaixo

Esquema de ligação no Arduino

Código do Projeto Comentado

Então, agora que você já realizou todas as ligações do projeto, basta realizar o upload do código abaixo no Arduino e verificar com o flash do seu celular o funcionamento do projeto!

<code>#define LS_PIN A0     // Pino do sensor
#define LED_PIN  9    // Pino do led
#define POWER    4   

#define TIME  1500 // Tempo (delay) para recomeçar a execução do código.

uint16_t  _max =  0;  
byte      count = 0;
float     ratio = 0;  // Variável para armazenar o quantidade de luz lido pelo sensor

void setup() {
  pinMode(LS_PIN,  INPUT);  
  pinMode(LED_PIN,  OUTPUT);
  Serial.begin(9600); // Iniciando o Monitor Serial
}

void loop() {
  float reading = analogRead(LS_PIN); // Realiza a leitura do sinal do sensor
  if (reading &gt; _max) _max = reading; 
  
  /* A ideia do if acima é de sempre armazenar o 'último valor lido' para utilizar
    na fórmula abaixo.
  */
  
  ratio = (ratio + pow(1.0 - reading / float(_max), POWER)) / 1.5;
  
  /*
  Aqui estamos fazendo uma proporção variado o valor lido de 0 a 2, então dentro desse
  intervalo, vamos controlar o brilho do led.
  */

  if (ratio &gt; 1.4)    // Verifica se o sensor esta captando um valor &gt; 1.4 (quanto + próximo de 2 = + escuro)
  digitalWrite(LED_PIN, 1); // acenda o led
  
  else digitalWrite(LED_PIN, 0);  // caso contrário, apaga!

  // Mostrando na serial o valor lido
   Serial.print(ratio);
   Serial.println("");

  if (!(millis() % TIME)) count++;
}</code>

Resultado do Projeto

Por fim, confira o resultado do projeto em nosso canal do Youtube!

https://youtu.be/v27C_bLkU8A

Gostou do post? Caso tenha ficado algo incompleto para você, comente abaixo 📝

Dicas? Dúvidas? 🤔 Críticas? 😱 Só comentar abaixo! 👇

Forte abraço e compartilha se gostou! 🤘

Posts relacionados

Conhecendo o Circuito Integrado LM324N

por Luan Fernandes
3 anos ago

Como Instalar a Arduino IDE no Ubuntu ?

por autocore
6 anos ago

Conhecendo o Protocolo I2C com Arduino

por Danilo Nogueira
5 anos ago
Sair da versão mobile