Buscar

Projeto Reservatório de Água

Prévia do material em texto

Centro Universitário Senac - Santo Amaro
BEC – Bacharel em Engenharia da Computação
 Amanda Pereira 
Barbara Cardoso
Elizabeth Aparecida 
Projeto Integrador I
SÃO PAULO
2018
 
Amanda Pereira da Silva
(amanda209.pereira@gmail.com)
Barbara Cardoso
(6abi.cardoso@gmail.com)
Elizabeth Aparecida Cavalcanti
 (elizabeth.cavalcanti00@gmail.com)
Professor Orientador:Marcello Marcelino Correia
Programação do Projeto – Código
/*PROJETO PI 1 RESERVATÓRIO DE AGUA*/
 
#include <LiquidCrystal.h>
 
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
//nomeando os pinos
 #define rele_bomba 13 //o rele liga a bomba
 #define sensor1 8 // sensor de nível máximo
 #define sensor2 9 //sensor de nível mínimo
 #define bomba_led 11 //bomba d'agua 
/*VARIÁVEL QUE ARMAZENA O VALOR LIDO NA PORTA DIGITAL 
(0 = desligado 1 = ligado) Sensor Alto = 0 e baixo = 1*/
 
 int estadoSensor1 = 0; 
 int estadoSensor2 = 0;
 int estadoRele = 0;
 
 
 void setup()
 {
 //monitor 
 lcd.begin(16, 2);
 lcd.setCursor( 0, 0);
 lcd.println(" Nivel Agua ");
 lcd.setCursor( 0, 1);
 lcd.println(" caixa D'Agua ");
 delay(3000);
 lcd.clear();
 
 //definindo os pinos
 pinMode(rele_bomba, OUTPUT);
 pinMode(sensor1, INPUT);
 pinMode(sensor2, INPUT);
 pinMode(bomba_led, OUTPUT); //OBS: ESSA PARTE SERÁ REPRESENTADA POR UM LED NA SIMULACAO
 
 }
 
 void loop(){
 
 //leitura dos sensores
 
 estadoSensor1 = digitalRead(sensor1);
 estadoSensor2 = digitalRead(sensor2);
 
 //Checa o nivel do reservatorio 
 
 if ((estadoSensor1 == 0) && (estadoSensor2 == 0) && (estadoRele == 1))
 { // se o valor lido for 
 digitalWrite(rele_bomba, HIGH);// o estado está invertido, então desliga a bomba
 digitalWrite(bomba_led, LOW); 
 estadoRele = 0; // relé desligado
 
 delay(5000);
 
 //mostra o valor no lcd
 lcd.setCursor( 0, 0);
 lcd.println();
 lcd.setCursor( 0, 1);
 lcd.println("---> Cheio! <---");
 
 }
 
 if ((estadoSensor1 == 1) && (estadoSensor2 == 0) && (estadoRele == 0))
 {
 
 digitalWrite(rele_bomba, HIGH);// o estado está invertido, então desliga a bomba
 digitalWrite(bomba_led, LOW);
 estadoRele = 0; // relé desligado
 
 delay(5000);
 
 //mostra o valor no lcd 
 lcd.setCursor( 0, 0);
 lcd.println();
 lcd.setCursor( 0, 1);
 lcd.println("---> Cheio! <---");
 //delay(500);
 }
 
 if ((estadoSensor1 == 0) && (estadoSensor2 == 1) && (estadoRele == 0))// se o valor lido for 
 {
 
 digitalWrite(rele_bomba, HIGH);// o estado está invertido, então desliga a bomba
 digitalWrite(bomba_led, LOW);
 estadoRele = 0; // relé desligado
 
 delay(5000);
 
 //mostra o valor no lcd 
 lcd.setCursor( 0, 0);
 lcd.println();
 lcd.setCursor( 0, 1);
 lcd.println("---> Cheio! <---");
 //delay(500);
 }
 
 else if ((estadoSensor1 == 1) && (estadoSensor2 == 1) && (estadoRele == 0))// se o valor lido for 
 {
 
 digitalWrite(rele_bomba, LOW);// o estado está invertido, então liga a bomba
 digitalWrite(bomba_led, HIGH);
 estadoRele = 1; // relé ligado
 
 delay(5000);
 
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.println(" Caixa Vazia ");
 lcd.setCursor(0, 1);
 lcd.println("--> Enchendo <--");
 digitalWrite(rele_bomba, HIGH);
 //delay(500);
 }
 
 else if ((estadoSensor1 == 1) && (estadoSensor2 == 0) && (estadoRele == 1))// se o valor lido for 
 {
 
 digitalWrite(rele_bomba, LOW);// o estado está invertido, então liga a bomba
 digitalWrite(bomba_led, HIGH);
 estadoRele = 1; // relé ligado
 
 delay(5000);
 
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.println(" Caixa Vazia ");
 lcd.setCursor(0, 1);
 lcd.println("--> Enchendo <--");
 digitalWrite(rele_bomba, HIGH);
 //delay(500);
 }
}
 
1

Continue navegando