Blog com fins acadêmicos, visando desenvolvimento de uma projeto que englobe as disciplinas do 8º semestre de engenharia elétrica
sábado, 15 de novembro de 2014
O Protótipo Finalizado - vídeo
A seguir um vídeo explicado mostrando o protótipo concluído. Nele é possível ver o sistema da cisterna e da cortina automatizada. Não é mostrado no vídeo, mas o controle da iluminação é feito por 2 sensores foto-resistivos, que verificam a luz interna e externa da residência, para abrir ou fechar a cortina e acender a iluminação do interior.
A apresentação
Finalmente chegou a apresentação, felizmente ocorreu tudo certo.
Abaixo algumas fotos tiradas no dia.
Abaixo algumas fotos tiradas no dia.
O programa do PIC
A programação do PIC foi realizada na linguagem C, abaixo você pode conferir o programa completo.
C:\Users\Tiago\Desktop\trabalho_final\14112014_com_analogica.c
//***************************************************************************//
//** Alarme Casa inteligente **//
//** **//
//** Autor: Danilo / David / Juliano / Murilo / Tiago **//
//***************************************************************************//
#include <16f877.h>
#device adc=10
#use delay (clock=4000000)
#fuses HS,NOWDT,PUT
#include <LCD_tiago.c>
// **************************** ENTRADA ***************************************
#define foto_ext pin_A1
#define foto_casa pin_A0
#define btn_emergencia pin_D1
#define btn_liga_luz pin_D0
#define sisterna_minimo pin_D5
#define cx_agua_minimo pin_D6
#define cx_agua_maximo pin_D7
//*****************************************************************************
//***************************** SAIDA *****************************************
#define led_1 pin_D4
#define led_2 pin_D5
#define led_3 pin_D6
#define led_4 pin_D7
#define janela pin_C0
#define cx_sisterna pin_C1
#define cx_rua pin_c2
#define buzzer pin_C3
//*****************************************************************************
int t;
//int16 leitura;
//int16 leitura1;
int comando_janela(){
long int x; // definição variavel local
output_high(janela);
output_high(led_1);
output_high(led_2);
output_high(led_3);
output_high(led_4);
if((input(pin_b0))==0) output_high(led_1);
lcd_pos_xy(1,1);
printf (lcd_escreve,"Comando ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"janela ");
for(x=0;x<2000;x++)
{
if (!input(cx_agua_maximo)) output_low(cx_sisterna);
if (!input(cx_agua_maximo)) output_low(cx_rua);
delay_ms(1);
}
output_low(janela);
lcd_pos_xy(1,1);
printf (lcd_escreve,"USF ITATIBA 2014");
lcd_pos_xy(1,2);
printf (lcd_escreve,"CASA INTELIGENTE ");
for(x=0;x<2000;x++)
{
if (!input(cx_agua_maximo)) output_low(cx_sisterna);
if (!input(cx_agua_maximo)) output_low(cx_rua);
delay_ms(1);
1
C:\Users\Tiago\Desktop\trabalho_final\14112014_com_analogica.c
}
}
VOID apaga_luz(){
output_low(led_1);
output_low(led_2);
output_low(led_3);
output_low(led_4);
}
VOID comando_sisterna(){
long int x; // definição variavel local
output_low(cx_rua);
output_high(cx_sisterna);
lcd_pos_xy(1,1);
printf (lcd_escreve,"Bomba ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"Sisterna ON ");
for(x=0;x<10;x++)
{
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(janela)) comando_janela();
delay_ms(10);
}
}
VOID comando_rua(){
long int x; // definição variavel local
output_low(cx_sisterna);
output_high(cx_rua);
lcd_pos_xy(1,1);
printf (lcd_escreve,"Valvula ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"rua aberta ");
for(x=0;x<2000;x++)
{
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(janela)) comando_janela();
delay_ms(1);
}
RETURN;
}
//********************* Rotina principal *************************************
void main(){
long int x,y,z;
y=70;
z=100;
lcd_ini();
delay_ms(200);
//setup_adc_ports(AN0);
//Setup_adc_ports(RA0_RA1_RA3_ANALOG);
//setup_adc_ports(RA1_analog);
//setup_adc(ADC_CLOCK_INTERNAL);
//setup_psp(PSP_DISABLED);
//setup_spi(SPI_SS_DISABLED);
//setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
//setup_timer_1(T1_DISABLED);
// set_adc_channel(0);
//leitura = read_adc(7);
// set_adc_channel(1);
//leitura1 = read_adc(7);
for (;;)
2
C:\Users\Tiago\Desktop\trabalho_final\14112014_com_analogica.c
{
if(!input(btn_emergencia)) apaga_luz();
if(!input(btn_liga_luz)) comando_janela();
lcd_pos_xy(1,1);
printf (lcd_escreve," USF ");
lcd_pos_xy(1,2);
printf (lcd_escreve," ITATIBA ");
output_high(led_1);
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," PROFESSORES ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"ANDRE ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," PROFESSORES ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"ANNET ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," PROFESSORES ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"LUIZ CARLOS ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," COORDENADOR ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"VICENTE ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," ALUNOS ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"DANILO ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
3
C:\Users\Tiago\Desktop\trabalho_final\14112014_com_analogica.c
lcd_pos_xy(1,1);
printf (lcd_escreve," ALUNOS ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"DAVID ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," ALUNOS ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"JULIANO ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," ALUNOS ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"MURILO ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," ALUNOS ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"TIAGO ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
output_high(buzzer);
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
output_low(buzzer);
for(x=0;x<z;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve,"A economia ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"comeca com voce ");
for(x=0;x<z;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
4
C:\Users\Tiago\Desktop\trabalho_final\14112014_com_analogica.c
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve,"Banhos curtos ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"use a vassoura ");
for(x=0;x<z;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
// lcd_pos_xy(1,1);
// printf (lcd_escreve,"lave toda roupa ");
// lcd_pos_xy(1,2);
// printf (lcd_escreve,"faca sua parte ");
//
// for(x=0;x<z;x++){
// if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
// if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
// if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
// if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
// if(!input(btn_liga_luz)) comando_janela();
// delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve,"Vamos mudar o ");
lcd_pos_xy(1,2);
printf (lcd_escreve," MUNDO ");
for(x=0;x<z;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
}
}
C:\Users\Tiago\Desktop\trabalho_final\14112014_com_analogica.c
//***************************************************************************//
//** Alarme Casa inteligente **//
//** **//
//** Autor: Danilo / David / Juliano / Murilo / Tiago **//
//***************************************************************************//
#include <16f877.h>
#device adc=10
#use delay (clock=4000000)
#fuses HS,NOWDT,PUT
#include <LCD_tiago.c>
// **************************** ENTRADA ***************************************
#define foto_ext pin_A1
#define foto_casa pin_A0
#define btn_emergencia pin_D1
#define btn_liga_luz pin_D0
#define sisterna_minimo pin_D5
#define cx_agua_minimo pin_D6
#define cx_agua_maximo pin_D7
//*****************************************************************************
//***************************** SAIDA *****************************************
#define led_1 pin_D4
#define led_2 pin_D5
#define led_3 pin_D6
#define led_4 pin_D7
#define janela pin_C0
#define cx_sisterna pin_C1
#define cx_rua pin_c2
#define buzzer pin_C3
//*****************************************************************************
int t;
//int16 leitura;
//int16 leitura1;
int comando_janela(){
long int x; // definição variavel local
output_high(janela);
output_high(led_1);
output_high(led_2);
output_high(led_3);
output_high(led_4);
if((input(pin_b0))==0) output_high(led_1);
lcd_pos_xy(1,1);
printf (lcd_escreve,"Comando ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"janela ");
for(x=0;x<2000;x++)
{
if (!input(cx_agua_maximo)) output_low(cx_sisterna);
if (!input(cx_agua_maximo)) output_low(cx_rua);
delay_ms(1);
}
output_low(janela);
lcd_pos_xy(1,1);
printf (lcd_escreve,"USF ITATIBA 2014");
lcd_pos_xy(1,2);
printf (lcd_escreve,"CASA INTELIGENTE ");
for(x=0;x<2000;x++)
{
if (!input(cx_agua_maximo)) output_low(cx_sisterna);
if (!input(cx_agua_maximo)) output_low(cx_rua);
delay_ms(1);
1
C:\Users\Tiago\Desktop\trabalho_final\14112014_com_analogica.c
}
}
VOID apaga_luz(){
output_low(led_1);
output_low(led_2);
output_low(led_3);
output_low(led_4);
}
VOID comando_sisterna(){
long int x; // definição variavel local
output_low(cx_rua);
output_high(cx_sisterna);
lcd_pos_xy(1,1);
printf (lcd_escreve,"Bomba ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"Sisterna ON ");
for(x=0;x<10;x++)
{
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(janela)) comando_janela();
delay_ms(10);
}
}
VOID comando_rua(){
long int x; // definição variavel local
output_low(cx_sisterna);
output_high(cx_rua);
lcd_pos_xy(1,1);
printf (lcd_escreve,"Valvula ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"rua aberta ");
for(x=0;x<2000;x++)
{
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(janela)) comando_janela();
delay_ms(1);
}
RETURN;
}
//********************* Rotina principal *************************************
void main(){
long int x,y,z;
y=70;
z=100;
lcd_ini();
delay_ms(200);
//setup_adc_ports(AN0);
//Setup_adc_ports(RA0_RA1_RA3_ANALOG);
//setup_adc_ports(RA1_analog);
//setup_adc(ADC_CLOCK_INTERNAL);
//setup_psp(PSP_DISABLED);
//setup_spi(SPI_SS_DISABLED);
//setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
//setup_timer_1(T1_DISABLED);
// set_adc_channel(0);
//leitura = read_adc(7);
// set_adc_channel(1);
//leitura1 = read_adc(7);
for (;;)
2
C:\Users\Tiago\Desktop\trabalho_final\14112014_com_analogica.c
{
if(!input(btn_emergencia)) apaga_luz();
if(!input(btn_liga_luz)) comando_janela();
lcd_pos_xy(1,1);
printf (lcd_escreve," USF ");
lcd_pos_xy(1,2);
printf (lcd_escreve," ITATIBA ");
output_high(led_1);
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," PROFESSORES ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"ANDRE ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," PROFESSORES ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"ANNET ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," PROFESSORES ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"LUIZ CARLOS ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," COORDENADOR ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"VICENTE ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," ALUNOS ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"DANILO ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
3
C:\Users\Tiago\Desktop\trabalho_final\14112014_com_analogica.c
lcd_pos_xy(1,1);
printf (lcd_escreve," ALUNOS ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"DAVID ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," ALUNOS ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"JULIANO ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," ALUNOS ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"MURILO ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve," ALUNOS ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"TIAGO ");
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
output_high(buzzer);
for(x=0;x<y;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
output_low(buzzer);
for(x=0;x<z;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve,"A economia ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"comeca com voce ");
for(x=0;x<z;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
4
C:\Users\Tiago\Desktop\trabalho_final\14112014_com_analogica.c
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve,"Banhos curtos ");
lcd_pos_xy(1,2);
printf (lcd_escreve,"use a vassoura ");
for(x=0;x<z;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
// lcd_pos_xy(1,1);
// printf (lcd_escreve,"lave toda roupa ");
// lcd_pos_xy(1,2);
// printf (lcd_escreve,"faca sua parte ");
//
// for(x=0;x<z;x++){
// if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
// if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
// if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
// if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
// if(!input(btn_liga_luz)) comando_janela();
// delay_ms(10);}
lcd_pos_xy(1,1);
printf (lcd_escreve,"Vamos mudar o ");
lcd_pos_xy(1,2);
printf (lcd_escreve," MUNDO ");
for(x=0;x<z;x++){
if (input(cx_agua_minimo) && !input(sisterna_minimo)) comando_sisterna();
if (input(cx_agua_minimo) && input(sisterna_minimo)) comando_rua();
if(!input(cx_agua_maximo) && !input(cx_agua_minimo )) output_low(cx_sisterna);
if(!input(cx_agua_maximo) && !INPUT(cx_agua_minimo )) output_low(cx_rua);
if(!input(btn_liga_luz)) comando_janela();
delay_ms(10);}
}
}
sexta-feira, 14 de novembro de 2014
Nova sessão adicionada - O Projeto
Agora você pode clicar na guia acima em "O Projeto" e acompanhar todas as postagens referentes ao desenvolvimento do mesmo sem precisar ficar procurando aqui na pagina inicial.
Lembrando que na sessão descrita, somente haverá postagens referentes ao projeto, sendo excluídas curiosidades e demais postagens presentes aqui na pagina inicial, ou em suas respectivas sessões.
Lembrando que na sessão descrita, somente haverá postagens referentes ao projeto, sendo excluídas curiosidades e demais postagens presentes aqui na pagina inicial, ou em suas respectivas sessões.
Montando a parte hidráulica
A seguir, algumas fotos da parte hidráulica, explicações no nome da figura.
Fig. 1 - Encaixes das caixas de água da "rua" e da cisterna.
Fig. 2 - Pote plástico adaptado para ser usado como caixa d'água
Fig. 3 - Caixa d'água com a bomba submersa instalada
Fig. 4 - Pote utilizado para simular a caixa d'água da residência
Fig. 5 - "Encanamento" da casa
Fig. 6 - Detalhe do interior da casa
Fig. 7 - A casa por fora
Fig. 8 - A casa por fora, mostrando a torneira que será utilizada para esvaziar a caixa
Fig. 9 - Detalhe da parte interna da maquete, localizada na base da mesma, abaixo da casa
Circuito montado e teste do sensor de luz
A seguir a placa do circuito finalizado:
Fig. 1 - Circuito Pronto
E também fizemos um vídeo mostrando o teste do sensor de luminosidade, veja a seguir.
Extra - Painel Fotovoltaico
Conseguimos também um placa fotovoltaica para mostrarmos durante a apresentação do projeto, ela é capaz de gerar de 16 - 27Volts exposta ao sol (de acordo com testes feitos por nós mesmos) com uma corrente de cerca de 200 mA. Talvez podemos utiliza-la para alimentar o circuito, mas a principio a ideia é apenas mostra-la como curiosidade.
Fig. 1 - painel fotovoltaico, vista frontal
Fig. 2 - painel fotovoltaico, vista traseira
Modificando o Telhado
Nesta parte, alteramos os adesivos do telhado com o intuito de melhorar a aparência:
E também foi adicionado uma calha ao telhado, para podermos realizar a simulação de uma chuva. A água q cai no telhado vai para a calha e desce por uma mangueira até chegar à cisterna.
Fig. 1 - Começando a trocar os adesivos do telhado
E também foi adicionado uma calha ao telhado, para podermos realizar a simulação de uma chuva. A água q cai no telhado vai para a calha e desce por uma mangueira até chegar à cisterna.
Fig. 2 - Telhado, detalhe para a calha
Fig. 3 - telhado completo
Montando o sistema da Cortina
Inicialmente pensamos em fazer a cortina com um pequeno motor (Fig. 1) de um rádio antigo (para tocar fita cassete), assim teria que haver um reversor no circuito para inverter a rotação do motor, e um contrapeso para fechar a cortina.
Fig. 1 - motor de tocar fita cassete
Porém durante a montagem acabou-se quebrando a roldana do motor, e então resolvemos utilizar um driver de CD-ROM.
Fig. 2 - Driver CD-ROM
Fig. 3 - Driver, detalhe para acionamento
Com a mudança no sistema da cortina, o circuito teria q ser modificado, assim colocamos um rele na saída responsável por ligar a cortina, e quando for necessário abrir ou fechar a mesma, o sistema fecha e abre o contato em 250ms, assim simulando o pressionar do botão do driver.
segunda-feira, 10 de novembro de 2014
O novo Circuito
Para o circuito utilizaremos o PIC16F877A.
Utilizaremos um sistema simples I/O, onde usaremos como entrada os sensores de luminosidade e os "níveis" das caixas de água feitos com eletrodos. O acionamento da iluminação, cortina e bombas de água será feito com reles.
O sistema também contará com um display, para informar o que está sendo executado.
A seguir, o circuito montado no simulador Proteus:
Modelo 3D:
Simulação da Placa de circuito impresso:
Abaixo segue também a tabela com os pinos utilizados do PIC:
Utilizaremos um sistema simples I/O, onde usaremos como entrada os sensores de luminosidade e os "níveis" das caixas de água feitos com eletrodos. O acionamento da iluminação, cortina e bombas de água será feito com reles.
O sistema também contará com um display, para informar o que está sendo executado.
A seguir, o circuito montado no simulador Proteus:
Modelo 3D:
Simulação da Placa de circuito impresso:
Abaixo segue também a tabela com os pinos utilizados do PIC:
Construindo a casa a partir do modelo - parte 2
Após cortar a madeira seguindo o molde, montamos as paredes e colocamos alguns adesivos que sobraram de um trabalho de outro semestre.
Fizemos também uma base para a casa, onde poderemos colocar as caixas de água da rua e cisterna juntos com as bombas.
A seguir é possível ver o resultado:
Fizemos também uma base para a casa, onde poderemos colocar as caixas de água da rua e cisterna juntos com as bombas.
A seguir é possível ver o resultado:
Construindo a casa a partir do modelo - parte 1
Feito o modelo em isopor, foi decidido realizar o mesmo em madeira.
A seguir você pode conferir o progresso:
A seguir você pode conferir o progresso:
Assinar:
Postagens (Atom)