Baixe o app para aproveitar ainda mais
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
Compartilhar