#define baixo 6
#define cheio 5
#define enche 4
#define erro 3
#define rele 2
#define bz 13
void setup() {
pinMode(baixo, OUTPUT);
pinMode(cheio, OUTPUT);
pinMode(enche, OUTPUT);
pinMode(erro, OUTPUT);
pinMode(rele, OUTPUT);
pinMode(bz, OUTPUT);
}
void Level (){
Serial.println("Nivel de agua baixo");
digitalWrite(baixo, HIGH);
delay(3000);
Serial.println("Enchendo");
digitalWrite(baixo, LOW);
digitalWrite(enche, HIGH);
delay(5000);
Serial.println("Cheio");
digitalWrite(enche, LOW);
digitalWrite(cheio, HIGH);
delay(3000);
digitalWrite(cheio, LOW);
Serial.println("Simulação:Risco");
Serial.println("Nivel de agua baixo");
digitalWrite(baixo, HIGH);
delay(5000);
//digitalWrite(bz, HIGH);
tone(bz,494);
digitalWrite(erro, HIGH);
Serial.println("Erro: Algo interrompeu o abastecimento, favor investigar");
delay(5000);
digitalWrite(erro, LOW);
digitalWrite(baixo, LOW);
digitalWrite(enche, HIGH);
noTone(bz);
Serial.println("Enchendo, o bloqueio foi resolvido");
delay(5000);
//digitalWrite(bz, HIGH);
tone(bz,494);
digitalWrite(erro, HIGH);
Serial.println("Erro a caixa não pode ser enchida completamente, por favor investigar");
delay(5000);
noTone(bz);
digitalWrite(erro, LOW);
digitalWrite(enche, LOW);
digitalWrite(cheio, HIGH);
Serial.println("Resolvido, caixa cheia");
delay(5000);
}
void Irrigar (){
Serial.println("(Rtc configurado para 10:00, ainda falta progamar-lo)");
}
void loop() {
Serial.begin(9600);
Serial.println("WaterTimer Iniciado");
Serial.println("Simulando Funcionamento");
Level ();
digitalWrite(bz, LOW);
digitalWrite(erro, LOW);
digitalWrite(enche, LOW);
digitalWrite(baixo, LOW);
digitalWrite(cheio, LOW);
Serial.println("Simulação Irrigação");
Serial.println("Finalizado");
}