Labview
Projeto de Monitoramento Microcontrolado
Professor: Afonso Celso Martini
Alunos:
Alimentador automático para animais
Objetivo
Solução para alimentar animais domésticos sem a necessidade da presença dos donos.
Funcionamento
Monitora o nível de água e ração nos reservatórios, acionando um alarme quando algum estiver baixo.
Permite seleção do tempo de intervalo de 1 a 8 horas entre cada refeição.
O nível da água no bebedouro e controlado por gravidade e o microcontrolador monitora apenas o nível do reservatório.
A quantidade de ração entregue a cada acionamento se deve ao giro de um cilindro que possui uma abertura ajustável.
O intervalo entre as refeições e feito através de um botão e o seu valor é exibido em um display.
Código fonte void main()
{
unsigned char Valor_disp[] = {0x5F,0x06,0x3B,0x2F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x80}; unsigned int sensor_nivel, sensor_motor, set_tempo=1, cont=0, espera; // Variável de armazenamento do contador unsigned int intervalo; // Variável auxiliar para exibição do contador TRISB.RB6=0; // Define o pino RB6 do PORTB como saída(Seleção Display 3). TRISB.RB7=0; // Define o pino RB6 do PORTB como saída(Seleção Display 4). TRISD = 0; // Define todos os pinos Do PORTD como saída TRISA.RA4 = 0;// Define PORTA.RA4 como saida. ADCON1=0x0F; //Define todos canais como digital TRISB=0b00000111; //2 bit como entrada PORTB=0x00; //zera portb while(1) { //Logica do controle de tempo if(PORTB.RB0==0) { delay_ms(1000); set_tempo++; } if(set_tempo>8) { set_tempo=1; } intervalo=set_tempo; //Logica sensor de nivel dos reservatorios if(PORTB.RB1==0) { sensor_nivel=1; } else {