Sensor de luz TEMT6000 com Arduino
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
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
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 > _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 > 1.4) // Verifica se o sensor esta captando um valor > 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!
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! 🤘