quinta-feira, 27 de setembro de 2012

Elaboração do Desafio 1.1

    O desafio 1.1, é nada mais que a incrementação do 1.0.
Então, como foi descrito todo o processo de desenvolvimento do desafio 1.0 na postagem anterior, essa postagens sera descrito apenas o que foi adicionado a mais.
    O pinos P0.2 P0.3 são os que controlam a bomba, um é o nível máximo e o outro o minimo, então incluímos  um pino a mais o P0.14, que vai ser o pino que controlara se há presença de água ou não para encher a caixa d'água como se fosse a concessionária que distribui água encanada, ou seja, se este pino estiver em nível logico 1, quer dizer que há água.. assim se o nível de água na caixa for baixo a bomba se ligara, se o nível logico for 0, representando assim a falta d'água, a bomba não liga, evitando o desperdício de energia, e também a possibilidade de danificação da bomba.
     Dei ao pino P0.14 o nome de Corsan.

Comandos:

#include (lpc213x.h>

#define max (1<<2)
#define min (1<<3)
#define bomba (1<<7)
#define corsan (1<<14)

int main (void)

iodir0 = 0xFFFFbFF3;
if(!(iopin0 & (corsan)))
{
IOCLR0 = bomba;
}
else
{
if(IOPIN0 & (max))
{
IOCLR0 = bomba;
}
else
{
if(!(IOPIN0 & (min)))
{
IOSET0 = bomba;
}
}
}
}


Ilustração do funcionamento.


Como podemos ver, o pino 14 esta acionado, representando assim a presença de água, mas a bomba não esta ligada porque o nivel máximo já foi atingido.





-Nesse, os controladores de nível max e min não estão ativos, ou seja, caixa fazia, a bomba esta ligada pois como podemos ver o pino 14 que representando a presença d'água, esta ativo.





- Nesse ultimo então, mesmo que os pinos max e min estejam representando que não há água na caixa, a bomba não ligará, pois o pino 14 acusa a falta d'água.

Nenhum comentário:

Postar um comentário