¿Quiere saber por qué sus facturas mensuales de electricidad son “tan altas”? Esto se debe a que cuando una persona que está dentro de la habitación sale apurada, sin saberlo, deja las luces y los ventiladores encendidos.
Entonces, ¿qué sigue? La única forma de solucionar esto es utilizar un sistema de iluminación doméstico automatizado inteligente. En este sistema, cuando una persona entra en la habitación, las luces fluorescentes se encienden automáticamente y se apagan automáticamente cuando no hay ningún cuerpo dentro de la habitación. Esto implica que todo el sistema se encuentra ahora en la cima de su movimiento.
Aquí utilizamos el microcontrolador 8051 junto con dos sensores. Se trata de sensores de infrarrojos o luz LED que inciden en el LDR y que trabajan en conjunto para detectar movimiento dentro de la habitación, mientras que el microcontrolador actúa como un contador de personas y aumenta o disminuye según la cantidad de personas dentro de la habitación. Si la habitación está vacía, lámparas, fluorescentes, ventiladores, etc. Se apagan automáticamente cuando se va la última persona que estuvo allí.
Diagrama de bloques:

Figura 1: Descripción general del sistema de iluminación doméstica automática
Descripción del componente del circuito
Antes de explicar cómo funcionan, conozcamos qué son los Sensores LDR:
• Cuando el nivel de luz es menos intenso, la resistencia LDR es alta
• Pero cuando la luz incide sobre el LDR, la resistencia cae

Figura 2: Imagen típica de resistencia dependiente de la luz
Explicación del diagrama de bloques de cada LDR funcionando.

Figura 3: Diagrama de bloques que representa el principio de funcionamiento del LDR con microcontrolador

Figura 4: Diagrama de bloques que representa la respuesta del microcontrolador a las señales del circuito LDR
Sensor funcionando
Como ya están indicadas las propiedades.
Caso 1
Cuando nadie interrumpe la luz que cae sobre el LDR:
La resistencia del LDR es baja y por lo tanto la base del transistor no recibe suficiente voltaje para encender el transistor y por lo tanto el voltaje del colector es casi igual al voltaje de suministro que es 5V en este caso .
Caso 2
Cuando una persona interrumpe la luz que incide sobre el LDR:
La resistencia del LDR es alta y, por lo tanto, el transistor se enciende y el voltaje del colector casi llega a ser igual a cero.
Estos diferentes voltajes del colector son captados por los pines del microcontrolador que deciden si la persona entra o sale de la habitación.
El sensor LDR se utiliza únicamente con fines experimentales. En realidad, se deben utilizar fototransistores como los sensores IR debido a su buena sensibilidad.
Como este:

Fig. 5: Imagen típica de transmisor y receptor de infrarrojos
Características del microcontrolador 8051
1) 8051 tiene 128 bytes de RAM
2) 8051 tiene 128 indicadores definidos por el usuario
3) Consta de un bus de direcciones de 16 bits.
4) También consta de 3 interrupciones internas y dos externas.
5) Menos consumo de energía en 8051 en comparación con otros microcontroladores
6) Consta de un contador de programa de 16 bits y un puntero de datos.
7) 8051 puede procesar 1 millón de instrucciones de un ciclo por segundo
8) También consta de 32 registros de propósito general, cada uno con 8 bits.
9) La ROM del 8051 tiene un tamaño de 4 Kbytes
10) También consta de dos temporizadores/contadores de 16 bits.

Fig. 6: Diagrama de bloques del microcontrolador 8051
Encontrar: Hay dos tipos:
Ánodo común y cátodo común
Utilicé un cátodo común en este proyecto. Por lo tanto, para que el display se ilumine es necesario enviar un “1” lógico.
Imagen final con todos los componentes del circuito.

Fig. 7: Imagen que muestra el circuito para detectar la entrada o salida de visitantes en acción
Detectar si una persona entra o sale de la habitación
Caso 1:
Cuando la persona ingresa a la habitación – cuando la persona ingresa a la habitación, primero se interrumpe el sensor 1 y luego el sensor 2
La decodificación de estas dos señales se realiza de la siguiente manera: Si se detecta un primer mínimo debido al sensor-1, entonces el segundo mínimo detectado por el microcontrolador debido al sensor-2 indicará que una persona está ingresando a la habitación y por lo tanto el contador aumente en uno y la lámpara se encenderá.
Caso 2:
Cuando la persona sale de la habitación, detendrá el sensor 2 y luego el sensor 1.
La decodificación de estas dos señales se produce de la siguiente manera: si se detecta un puño bajo debido al sensor 2, entonces el segundo puño bajo detectado por el microcontrolador debido al sensor 1 indicará que la persona está saliendo de la habitación y, por lo tanto, el contador disminuirá. por uno y la lámpara se apagará si el valor del contador llega a cero.
Descripción general del software y del proyecto
Descripción general del software

Fig. 8: Diagrama de flujo del código C utilizado para la detección de visitantes y el encendido automático de luces
Otras características que se pueden incluir
1) Durante el día, cuando la persona ingresa a la habitación, las luces (lámparas) no deben encenderse automáticamente.
2) Si la persona que se encuentra dentro de la habitación desea invertir intencionalmente el estado de la habitación, puede hacerlo utilizando el control remoto conectado al microcontrolador.
Descripción del proyecto

Fig. 9: Resumen del algoritmo de funcionamiento del Sistema Automático de Iluminación
organización 0000h
ljmp principal
organización 0100h
main:mov p0,#00h //hacer p0 como puerto o/p LA BOMBILLA ESTÁ CONECTADA AQUÍ
mov p3,#0ffh //hacer p3 como puerto i/p LOS SENSORES LDR ESTÁN CONECTADOS AQUÍ
mov p2,#00h //hacer p2 como puerto o/p FND ESTÁ CONECTADO AQUÍ
movimiento r0,#00h
movimiento p2,#0ffh
arriba:
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
f2:jb p3.0,f1 // COMPRUEBE CONTINUAMENTE SI HAY BAJO EN EL SENSOR-1 Y EL SENSOR-2 ALTERNATIVAMENTE
retraso de llamada
//
lcall delay // DEMORA PARA CAPTURAR ESTE EVENTO CORRECTAMENTE
retraso de llamada //
retraso de llamada //
retraso de llamada //
k2:jb p3.2,k2 // DESPUÉS DE QUE OCURRA UNA CAÍDA EN EL SENSOR-1, COMPRUEBE EN EL SENSOR-2 SI LA PERSONA REALMENTE ESTÁ ENTRANDO A LA HABITACIÓN
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
inc r0
establecer p0.0
retraso de llamada
retraso de llamada
retraso de llamada
sjmp fnd1 // MUESTRA EL VALOR AUMENTADO EN FND
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
f1:jb p3.2,f2 // COMPRUEBE CONTINUAMENTE SI HAY BAJO EN EL SENSOR-1 Y EL SENSOR-2 ALTERNATIVAMENTE
retraso de llamada //
lcall delay // RETRASO PARA CAPTURAR EL EVENTO
retraso de llamada //
retraso de llamada //
retraso de llamada //
k1:jb p3.0,k1 //DESPUÉS DE QUE Ocurrió LA CAÍDA EN EL SENSOR-2, COMPRUEBE EN EL SENSOR-1 SI LA PERSONA REALMENTE ESTÁ SALIENDO DE LA HABITACIÓN.
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
diciembre r0
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
retraso de llamada
ljmp fnd2 // MOSTRAR RECUENTO DISMINUIDO
c2:
cjne r0,#00h,j1
clrp0.0
levantarse
j1:ljmp arriba
encontrar1:
cjne r0,#01h,a1
movimiento p2,#0f9h
levantarse
a1:cjne r0,#02h,a2
movimiento p2,#0a4h
levantarse
a2:cjne r0,#03h,a3
movimiento p2,#0b0h
levantarse
a3:cjne r0,#04h,a4
movimiento p2,#7pm
levantarse
a4:cjne r0,#05h,a5
movimiento p2,#92h
levantarse
a5:cjne r0,#06h,a6
movimiento p2,#82h
levantarse
a6:cjne r0,#07h,a7
movimiento p2,#0f8h
levantarse
a7:cjne r0,#08h,a8
movimiento p2,#00h
levantarse
a8:cjne r0,#09h,a9
movimiento p2,#10h
a9: levantarse
encontrar2:
cjne r0,#00h,ac1
movimiento p2,#0ffh
ljmp c2
ac1:cjne r0,#01h,b1
movimiento p2,#0f9h
ljmp c2
b1:cjne r0,#02h,b2
movimiento p2,#0a4h
ljmp c2
b2:cjne r0,#03h,b3
movimiento p2,#0b0h
ljmp c2
b3:cjne r0,#04h,b4
movimiento p2,#7pm
ljmp c2
b4:cjne r0,#05h,b5
movimiento p2,#92h
ljmp c2
b5:cjne r0,#06h,b6
movimiento p2,#82h
ljmp c2
b6:cjne r0,#07h,b7
movimiento p2,#0f8h
ljmp c2
b7:cjne r0,#08h,b8
movimiento p2,#00h
ljmp c2
b8:cjne r0,#09h,b9
movimiento p2,#10h
ljmp c2
b9:ljmp c2
retraso:mov r2,#128
arriba1:mov r1,#0ffh
aquí:djnz r1, aquí
djnz r2, arriba1
retirado
fin