/**************************************************************************************/
/* ** Prueba de control Domotico para habitacion de matrimonio
/* ** Encendemos/Apagamos luces con control de sensores en la entrada
/* ** SENSOR A (Sensor de entrada) ----> RB0
/* ** SENSOR B (Sensor de salida) ----> RB1
/* ** LUCES ----> RA6
/* ** Autor: Miquel Servera
/* ** Fecha: 30-Abril-2011
/* ** Modelo de Micro: PIC16F88
/*************************************************************************************/
/* ** Archivo con definicion de registros y bits del microcontrolador elegido ** */
#include <16F88.h>
/* ** Configuracion de los Fuses del microcontrolador ** */
#fuses INTRC,NOWDT,PUT,NOBROWNOUT,NOLVP,NOCPD,NOWRT,NODEBUG,NOPROTECT,MCLR
/* ** Frecuencia del oscilador ** */
#use delay(clock=4000000)
/* ** Configuracion de puertos ** */
#use fast_io(a)
#use fast_io(b)
/* ** Include para el USART ** */
//#use rs232(baud=19200,xmit=PIN_B5,rcv=PIN_B2)
/* ** Variables de uso global ** */
int Personas; // Variable personas que entran o salen.-
void main()
{
set_tris_a(0x00);
set_tris_b(0b00000011);
do
{
if(input(PIN_B0)==0) // Exploramos sensor de entrada.-
{
output_a(0b10000000); // Si entra alguien encendemos la luz.-
++Personas; // y contamos la gente que entra.-
}
if(input(PIN_B1)==0) // Exploramos sensor de salida.-
{
Personas--; // Contamos la gente que sale.-
if(Personas ==0) // Si no queda nadie.-
output_a(0b00000000); // Apagamos luces.-
}
}
while(1);
}