SENSOR-LUZ

O que é um sensor de luz?

fotorresistencia O sensor de luz, também chamado fotorresistência ou sensor fotoelétrico, é um sensor que, como o próprio nome indica, deteta luz. Uma fotorresistência responde às alterações de intensidade da luz e modifica a sua resistência quando esta varia. Quanto maior for a intensidade da luz, mais baixa será a resistência à passagem da corrente.

Este componente tem numerosas aplicações em aparelhos que estão presentes na nossa vida quotidiana, como por exemplo:

  • Portas de garagem.
  • Alarmes antirroubo.
  • Computadores, telefones e televisores (para controlar o brilho do ecrã).
  • Leitores de código de barras.

O sensor de luz do ZUM Kit devolve valores compreendidos entre 0 (quando a escuridade é total) e 800 (a plena luz do sol, um dia de céu limpo). Se tiver um sensor de luz do Meu Primeiro Kit de Robótica, este valor oscilará entre 0 e 500, aproximadamente. Trata-se de um componente analógico, visto que devolve um intervalo de valores, ao contrário dos sensores digitais, que apenas podem devolver dois valores, como um botão (“carregado” ou “não carregado”). Por isso, deverá ser conectado à barra de pinos analógicos, numerados como A0, A1, A2, etc. Este sensor é um dispositivo de entrada, porque serve para introduzir dados no programa, ao contrário de um LED ou de um buzzer, que são dispositivos de saída.

Como pode ver, o sensor de luz é um componente muito interessante.Queres aprender a programá-lo? Vamos lá! Vai precisar de:
1. ZUMBloq Sensor de luz2. ZUMBloq LED

3. Uma placa controladora ZUM BT 328 ou compatível com Arduino UNO

4. Um cabo USB

G003522
zumbloqLED

A seguir vamos ver vários exemplos para aprenderes a utilizar este componente. Mão à obra!

Exemplo 1

Acender um LED quando o sensor de luz detetar pouca quantidade de luz

A partir de agora, vamos utilizar mais do que um componente em cada exercício, conectados simultaneamente na placa.

Antes de conectar o sensor de luz, relembramos que ao tratar-se de um componente analógico, deve ser conectado a um dos pinos analógicos, por exemplo, o A0. O esquema seguinte irá guiar-nos:
ZUM-9-5

Programa agora a placa controladora com o bitbloq, para que o LED se acenda quando houver pouca luz. O primeiro passo é medir a quantidade de luz. Para isso, vamos atribuir a leitura do sensor de luz a uma variável. As variáveis são “lugares” onde podemos guardar dados. Como estamos a utilizar uma variável pela primeira vez, é preciso declará-la, ou seja, dar-lhe um nome que iremos utilizar durante o resto do programa.

sensordeluz

Temos agora de verificar que há pouca luz. Dissemos que este sensor de luz dá um valor entre 0 e 800. Se tiver um sensor de luz do Meu Primeiro Kit de Robótica, este valor oscilará entre 0 e 500. Podemos portanto considerar que já está escuro quando a variável quantidade_de_luz é inferior a 200.

si_luz_menor_200

Nesse caso, devemos acender o LED, que está conectado ao pino digital 3.

encender_LED

Mas não acaba aqui. Tenta programar a placa e verás que não funciona exatamente como esperavas.

O que falta? O LED não se apaga quando volta a haver luz. Tenta acabar sozinho o programa e vê a solução mais abaixo.

reloj-de-arena-10375

É preciso dizer ao programa que no caso de a luz ser superior a 200, o LED deve apagar-se. Faz-se da seguinte forma:

elseComo podes ver na imagem anterior, o bloco se …então pode ter mais opções como no caso contrário, que será executada quando não se cumprir a condição (neste caso, quando a quantidade de luz for igual ou superior a 200). Para acrescentar a opção no caso contrário, clica na estrela do bloco e adiciona-a:

Acertaste? De certeza que sim, e se ainda tiveres alguma dúvida, pergunta-nos. Podes carregar o programa completo no bitbloq procurando o projeto da bq Lâmpada noturna.

Atreve-te a modificar o programa, para que a lâmpada noturna se acenda quando está escuro e se apague depois de 1 minuto? Depois não deve voltar a acender-se até ser outra vez de dia. Experimenta! Encontrarás a solução no projeto Lâmpada noturna avançada na bitbloq.