#include <LiquidCrystal.h>
LiquidCrystal lcd( 9, 6, 1, 2, 4, A2 );
#include <Servo.h>
Servo sabao;
void setup()
{
lcd.begin(16,2);
lcd.print("Bem vindo");
delay(2000);
lcd.clear();
lcd.print("Escolha o Nivel ");
lcd.setCursor(0,1);
lcd.print("precione o botao");
delay(2000);
sabao.attach (8);// Servo sabao
sabao.write (0);
pinMode(13, OUTPUT);//Valvula de entrada (agua)
pinMode(12, OUTPUT);//Valvula de saida (agua)
pinMode(5, OUTPUT);//Motor
pinMode(11, INPUT);// NIVEL ALTO
pinMode(7, INPUT);// NIVEL MEDIO
pinMode(10, INPUT);// NIVEL BAIXO
pinMode(3, INPUT);// LIGA MAQUINA
analogRead(A0);//ESCOLHE O NIVEL DA AGUA
}
void loop()
{
int escolha_nivel_agua = analogRead(A0);
Serial.print("valor da entrada analogica");
Serial.println(escolha_nivel_agua);
int entrada_agua = digitalRead(13);
int saida_agua = digitalRead(12);
int motor = digitalRead(5);
int nivel_alto = digitalRead(11);
int nivel_medio = digitalRead(7);
int nivel_baixo = digitalRead(10);
int liga_maquina = digitalRead(3);
//Escollha de Nivel de água
if (escolha_nivel_agua <=50){
analogRead(A0);
lcd.begin(16,2);
lcd.print("Escolha o nivel");
lcd.setCursor(0,1);
lcd.print("precione o botao");
delay(2000);
}
//Escollha de Nivel baixo
if ((escolha_nivel_agua >=50)&&(escolha_nivel_agua <= 340)){
analogRead(A0);
lcd.begin(16,2);
lcd.print("Nivel baixo");
delay(1000);
}
//Escollha de Nivel de medio
if((escolha_nivel_agua >= 350)&&(escolha_nivel_agua <= 740)){
analogRead(A0);
lcd.begin(16,2);
lcd.clear();
lcd.print("Nivel medio");
delay(1000);
}
//Escollha de Nivel de alto
if((escolha_nivel_agua >= 750)&&(escolha_nivel_agua <= 1023)){
analogRead(A0);
lcd.begin(16,2);
lcd.clear();
lcd.print("Nivel alto");
delay(1000);
}
//1º Progamação de Nivel baixo
if (((liga_maquina == HIGH)&&(escolha_nivel_agua >50)
&&(escolha_nivel_agua <340))){
while(nivel_baixo == LOW){
lcd.clear();
digitalWrite(13, HIGH);// Entrada de agua
lcd.print("Enxendo de Agua");
delay(2000);
nivel_baixo = digitalRead (10); // nivel baixo
}
lcd.clear();
digitalWrite(13, LOW);// Para de entrar agua
sabao.write (90);// Joga sabão
delay(1000);
lcd.print("SABAO");
delay(2000);
sabao.write (0); // volta a posição inicial
delay(1000);
lcd.clear();
lcd.print("LAVANDO");
delay(100);
digitalWrite (5,HIGH);//Liga o motor
delay(5000);
digitalWrite (5,LOW);// Desliga o motor
delay(5000);
digitalWrite (5,HIGH);//Liga o motor
delay(5000);
digitalWrite (5,LOW);// Desliga o motor
lcd.clear();
do {
lcd.print("SAIDA DE AGUA");
delay(1000);
digitalWrite (12,HIGH);// saida de agua
nivel_baixo = digitalRead (10); //nivel baixo
lcd.clear();
}
while (nivel_baixo == HIGH);
digitalWrite (12,LOW);
delay(500);
lcd.print("CENTRIFUGANDO");
delay(1000);
digitalWrite (5,HIGH);//Liga o motor CENTRIFUGA
delay(10000);
digitalWrite (5,LOW);// Desliga o motor
lcd.clear();
lcd.print("PRONTO");
delay (2000);
lcd.clear();
lcd.print("PRONTO");
delay (2000);
}
//2º Progamação de Nivel medio
if (((liga_maquina == HIGH)&&(escolha_nivel_agua >350)
&&(escolha_nivel_agua <740))){
while((nivel_medio == LOW)){
lcd.clear();
digitalWrite(13, HIGH);// Entrada de agua
lcd.print("Enxendo de Agua");
delay(2000);
nivel_medio = digitalRead (7); // nivel medio
}
lcd.clear();
digitalWrite(13, LOW);// Para de entrar agua
sabao.write (90);// Joga sabão
delay(1000);
lcd.print("SABAO");
delay(2000);
sabao.write (0); // volta a posição inicial
delay(1000);
lcd.clear();
lcd.print("LAVANDO");
delay(100);
digitalWrite (5,HIGH);//Liga o motor
delay(5000);
digitalWrite (5,LOW);// Desliga o motor
delay(5000);
digitalWrite (5,HIGH);//Liga o motor
delay(5000);
digitalWrite (5,LOW);// Desliga o motor
lcd.clear();
do {
lcd.print("SAIDA DE AGUA");
delay(1000);
digitalWrite (12,HIGH);// saida de agua
nivel_baixo = digitalRead (10); //nivel baixo
lcd.clear();
}
while (nivel_baixo == HIGH && nivel_medio == HIGH);
digitalWrite (12,LOW);
delay(500);
lcd.print("CENTRIFUGANDO");
delay(1000);
digitalWrite (5,HIGH);//Liga o motor CENTRIFUGA
delay(10000);
digitalWrite (5,LOW);// Desliga o motor
lcd.clear();
lcd.print("PRONTO");
delay (2000);
lcd.clear();
lcd.print("PRONTO");
delay (2000);
}
//3º Progamação de Nivel cheio
if (((liga_maquina == HIGH)&&(escolha_nivel_agua >=750)
&&(escolha_nivel_agua <=1023))){
while(nivel_alto == LOW){
lcd.clear();
digitalWrite(13, HIGH);// Entrada de agua
lcd.print("Enxendo de Agua");
delay(2000);
nivel_alto = digitalRead (11); // nivel alto
}
lcd.clear();
digitalWrite(13, LOW);// Para de entrar agua
sabao.write (90);// Joga sabão
delay(1000);
lcd.print("SABAO");
delay(2000);
sabao.write (0); // volta a posição inicial
delay(1000);
lcd.clear();
lcd.print("LAVANDO");
delay(100);
digitalWrite (5,HIGH);//Liga o motor
delay(5000);
digitalWrite (5,LOW);// Desliga o motor
delay(5000);
digitalWrite (5,HIGH);//Liga o motor
delay(5000);
digitalWrite (5,LOW);// Desliga o motor
lcd.clear();
do {
lcd.print("SAIDA DE AGUA");
delay(1000);
digitalWrite (12,HIGH);// saida de agua
nivel_baixo = digitalRead (10); //nivel baixo
lcd.clear();
}
while (nivel_baixo == HIGH && nivel_alto == HIGH);
digitalWrite (12,LOW);
delay(500);
lcd.print("CENTRIFUGANDO");
delay(1000);
digitalWrite (5,HIGH);//Liga o motor CENTRIFUGA
delay(10000);
digitalWrite (5,LOW);// Desliga o motor
lcd.clear();
lcd.print("PRONTO");
delay (2000);
lcd.clear();
lcd.print("PRONTO");
delay (2000);
} }
Comments