Quer saber por que suas contas mensais de luz são “tão altas”? Isso ocorre porque quando uma pessoa dentro da sala sai às pressas, ela, sem saber, deixa as luzes e os ventiladores ligados.
Então o que vem depois? A única maneira de resolver isso é usar um Sistema Inteligente de Iluminação Doméstica Automatizada. Neste sistema, quando uma pessoa entra na sala, as luzes fluorescentes acendem-se automaticamente e apagam-se automaticamente quando não há nenhum corpo dentro da sala. Isso implica que todo o sistema está agora no auge do seu movimento.
Aqui usamos o microcontrolador 8051 junto com dois sensores. Estes são sensores IR ou luz LED que incidem no LDR que atuam juntos para detectar o movimento dentro da sala, enquanto o microcontrolador atua como um contador de pessoas e aumenta ou diminui dependendo do número de pessoas dentro da sala. Se a sala estiver vazia as lâmpadas, lâmpadas fluorescentes, ventiladores, etc. desligam-se automaticamente na saída da última pessoa que ali esteve presente.
Diagrama de bloco:

Figura 1: Visão geral do sistema de luz automática para casa
Descrição do componente do circuito
Antes de explicar o funcionamento vamos descobrir o que são Sensores LDR:
• Quando o nível de luz é menos intensoa resistência do LDR é alto
• Mas quando a luz incide sobre o LDR, a resistência cai

Figura 2: Imagem típica de resistor dependente de luz
Explicação do diagrama de blocos de cada LDR funcionando

Figura 3: Diagrama de blocos representando o princípio de funcionamento do LDR com microcontrolador

Figura 4: Diagrama de blocos representando a resposta do microcontrolador aos sinais do circuito LDR
Sensor funcionando
Como as propriedades já estão indicadas
Caso 1
Quando ninguém interrompe a luz que incide no LDR:
A resistência do LDR é baixa e, portanto, a base do transistor não recebe tensão suficiente para ligar o transistor e, portanto, o a tensão do coletor é quase igual à tensão de alimentação que é 5V neste caso.
Caso 2
Quando uma pessoa interrompe a luz que incide no LDR:
A resistência do LDR é alta e, portanto, o transistor liga e a tensão do coletor quase se torna igual à tensão zero.
Essas diferentes tensões do coletor são captadas pelos pinos do microcontrolador que decidem se a pessoa entra ou sai da sala.
O sensor LDR é usado apenas para fins experimentais. Na realidade, fototransistores como os sensores IR devem ser usados devido à boa sensibilidade.
Como este:

Fig. 5: Imagem típica de transmissor e receptor IR
Recursos do microcontrolador 8051
1) 8051 tem 128 bytes de RAM
2) 8051 tem 128 sinalizadores definidos pelo usuário
3) Consiste em um barramento de endereços de 16 bits
4) Também consiste em 3 interrupções internas e duas externas
5) Menos consumo de energia no 8051 em relação a outro microcontrolador
6) Consiste em um contador de programa de 16 bits e um ponteiro de dados
7) 8051 pode processar 1 milhão de instruções de um ciclo por segundo
8) Também consiste em 32 registradores de uso geral, cada um com 8 bits
9) A ROM no 8051 tem 4 Kbytes de tamanho
10) Também consiste em dois temporizadores/contadores de 16 bits

Fig. 6: Diagrama de blocos do microcontrolador 8051
Fnd: Existem dois tipos:
Ânodo Comum e Cátodo Comum
Usei cátodo comum neste projeto. Portanto, para que o display acenda, a lógica “1” deve ser enviada.
Imagem Final com todos os Componentes do Circuito

Fig. 7: Imagem mostrando circuito para detecção de entrada ou saída de visitante em ação
Detecção se uma pessoa está entrando na sala ou saindo da sala
Caso 1:
Quando a pessoa entra na sala – quando a pessoa entra na sala, primeiro o sensor1 é interrompido e depois o sensor 2
A decodificação desses dois sinais ocorre da seguinte forma: se um primeiro mínimo for detectado devido ao sensor-1, então, o segundo mínimo detectado pelo microcontrolador devido ao sensor-2 indicará que uma pessoa está entrando na sala e, portanto, o contador aumentará em um e a lâmpada será ligada.
Caso 2:
Quando a pessoa sai da sala – ela interromperá o sensor2 e depois interromperá o sensor-1.
A decodificação desses dois sinais ocorre da seguinte forma: se um punho baixo for detectado devido ao sensor-2, então, o segundo baixo detectado pelo microcontrolador devido ao sensor-1 indicará que a pessoa está saindo da sala e, portanto, o contador diminuirá em um e a lâmpada será desligada se o valor do contador chegar a zero.
Visão geral do software e do projeto
Visão geral do software

Fig. 8: Fluxograma do Código C utilizado para Detecção de Visitantes e Comutação Automática de Luzes
Outros recursos que podem ser incluídos
1) Durante o dia, quando a pessoa entra na sala, as luzes (lâmpadas) não devem acender automaticamente
2) Se a pessoa dentro da sala quiser inverter intencionalmente o estado da sala, isso pode ser feito usando o controle remoto com interface com o microcontrolador.
Visão Geral do Projeto

Fig. 9: Visão geral do algoritmo de trabalho do Sistema de Luz Automático
Código-fonte do projeto
###
CÓDIGO: ESTÁ ESCRITO EM LÍNGUA ASM:
organização 0000h
ljmp principal
organização 0100h
main:mov p0,#00h //make p0 como porta o/p BULB ESTÁ CONECTADO AQUI
mov p3,#0ffh //torna p3 como porta i/p SENSORES LDR ESTÃO CONECTADOS AQUI
mov p2,#00h //torna p2 como porta o/p FND ESTÁ CONECTADO AQUI
movimento r0,#00h
mov p2,#0ffh
acima:
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
f2:jb p3.0,f1 // VERIFIQUE CONTINUAMENTE SE HÁ BAIXO NO SENSOR-1 E SENSOR-2 ALTERNADAMENTE
atraso de chamada
//
lcall delay // ATRASO PARA CAPTURAR ESSE EVENTO CORRETAMENTE
atraso na chamada //
atraso na chamada //
atraso na chamada //
k2:jb p3.2,k2 //APÓS OCORRIDO BAIXO NO SENSOR-1 ENTÃO VERIFIQUE NO SENSOR-2 SE A PESSOA ESTÁ REALMENTE ENTRANDO NA SALA
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
inc r0
conjunto p0.0
atraso de chamada
atraso de chamada
atraso de chamada
sjmp fnd1 //EXIBIR O VALOR INCREMENTADO NO FND
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
f1:jb p3.2,f2 //VERIFIQUE CONTINUAMENTE SE HÁ BAIXO NO SENSOR-1 E SENSOR-2 ALTERNADAMENTE
atraso na chamada //
lcall delay // ATRASO PARA CAPTURAR O EVENTO
atraso na chamada //
atraso na chamada //
atraso na chamada //
k1:jb p3.0,k1 //APÓS OCORRIDO BAIXO NO SENSOR-2, VERIFIQUE NO SENSOR-1 SE A PESSOA ESTÁ REALMENTE SAIR DA SALA.
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
dezembro r0
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
atraso de chamada
ljmp fnd2 //EXIBIR A CONTAGEM DECREMENTADA
c2:
cjne r0,#00h,j1
clr p0.0
ljmp para cima
j1:ljmp para cima
encontrar1:
cjne r0,#01h,a1
movimento p2,#0f9h
ljmp para cima
a1:cjne r0,#02h,a2
movimento p2,#0a4h
ljmp para cima
a2:cjne r0,#03h,a3
movimento p2,#0b0h
ljmp para cima
a3:cjne r0,#04h,a4
movimento p2,#19h
ljmp para cima
a4:cjne r0,#05h,a5
movimento p2,#92h
ljmp para cima
a5:cjne r0,#06h,a6
movimento p2,#82h
ljmp para cima
a6:cjne r0,#07h,a7
movimento p2,#0f8h
ljmp para cima
a7:cjne r0,#08h,a8
movimento p2,#00h
ljmp para cima
a8:cjne r0,#09h,a9
movimento p2,#10h
a9:ljmp para cima
encontrar2:
cjne r0,#00h,ac1
mov p2,#0ffh
ljmp c2
ac1:cjne r0,#01h,b1
movimento p2,#0f9h
ljmp c2
b1:cjne r0,#02h,b2
movimento p2,#0a4h
ljmp c2
b2:cjne r0,#03h,b3
movimento p2,#0b0h
ljmp c2
b3:cjne r0,#04h,b4
movimento p2,#19h
ljmp c2
b4:cjne r0,#05h,b5
movimento p2,#92h
ljmp c2
b5:cjne r0,#06h,b6
movimento p2,#82h
ljmp c2
b6:cjne r0,#07h,b7
movimento p2,#0f8h
ljmp c2
b7:cjne r0,#08h,b8
movimento p2,#00h
ljmp c2
b8:cjne r0,#09h,b9
movimento p2,#10h
ljmp c2
b9:ljmp c2
atraso:mov r2,#128
up1:mov r1,#0ffh
aqui:djnz r1, aqui
djnz r2,up1
ret
fim
###
Diagramas de circuito
Diagrama de circuito-8051-Luzes automáticas baseadas em microcontrolador |
 |
Vídeo do projeto