terça-feira, 9 de outubro de 2012

Desafio 1.2 (Concluído)!!!!!

Ai Pessoal vai meu desafio 1.2 resolvido...


Bom esse desafio nada mais era que adicionar um display de LCD ao programa do desafio1.1.

Programa realizado no Keil...

#include <lpc213x.h>
#include <C:\Keil\ARM\lcd.h>
#define monitor1 (1<<17)
#define monitor2 (1<<18)
#define bomba (1<<20)
#define DMAE (1<<19)

void main(void)
{
IODIR1 = 0xfff1ffff;
init_lcd();
while(1)
{
if(!(IOPIN1&(DMAE))) // Se não tiver água no DMAE, a bomba será desligada//
{
IOCLR1 = (bomba);
lcd_clr();
lcd_gotoxy(1,2);
lcd_puts("Falta de Agua");
}
else
{
if(!(IOPIN1&(monitor1))) // Se tiver água no DMAE, será verificado o monitor minimo//
{
IOSET1 = (bomba); // Se não tiver água no monitor minimo a bomba é ligada//
lcd_clr();
lcd_gotoxy(0,0);
lcd_puts("Caixa Enchendo");
}
else
{
if(IOPIN1&(monitor2)) // Se tiver água no monitor minimo, então é verificado o monitor máximo//
{
IOCLR1 = (bomba); // Se o monitor máximo também tiver água a bomba é desligada//
lcd_clr();
lcd_gotoxy(0,2);
lcd_puts("Caixa Cheia");
}
else
{
lcd_clr();
lcd_gotoxy(0,2);
lcd_puts("Caixa Metade");
}
}
}
}
}


Nota-se que eu utilizei novos comandos neste programa...

utilizei os comandos que iram definir as funções do display de LCD, as funções são as seguintes:

init_lcd();  - Este comando irá iniciar o LCD;


lcd_clr(); - Neste comando o LCD será apagado para iniciar sua mensagem;


lcd_gotoxy(x,y); - Aqui você seleciona onde vai começar seu texto, dentro do parenteses você seleciona a coluna e a linha que estará a primeira letra da mensagem;


lcd_puts("Falta de Agua"); - Agora você vai escrever a mensagem a ser apresentada no display, o texto deve ser escrito dentro das aspas.

Após escrever...

Utilizei uma ferramenta chamada Proteus(ISIS), para testar meu circuito.


O circuito ficou como a imagem de cima mostra.



Acima estão todos os componentes do circuito.



Aqui encontram-se as chaves que simulam os sensores de nível de água. Quando acionadas como na imagem acima o nível lógico é 0(zero).



Com todas as minhas entradas em 0(zero), o display apresenta "Falta de Agua" e podemos ver que o LED da bomba d'água não liga.



Quando apenas a minha entrada de falta de água está em 1 o LED da bomba liga, fazendo com que meu display apresente "Caixa Enchendo".



Quando a entrada do sensor minimo esta em 1 também a bomba continua ligada e a mensagem agora é "Caixa Metade".



Quando todas as entradas forem 1, o display indica "Caixa Cheia" e a bomba desliga.



Mesmo que o sensor de máximo for desligado a bomba não liga apenas ligando quando a água passar do nível minimo.

Isso é tudo pessoal....

Nenhum comentário:

Postar um comentário