Actualizaciones de las valvulas, el sensor de ph y la bomba de agua

This commit is contained in:
Frannell Foti 2021-04-10 00:18:22 -04:00
parent d97cb1f9b0
commit d89bf5b0a6
1 changed files with 224 additions and 0 deletions

View File

@ -0,0 +1,224 @@
#include <RTClib.h>
#include <Wire.h>
float calibration_value = 21.34;
int phval = 0;
unsigned long int avgval;
int buffer_arr[10], temp;
int relePin1 = 2;
int relePin2 = 3;
RTC_DS3231 rtc;
bool inicio_bombeo = true;
bool fin_bombeo = true;
void setup()
{
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 10; i++)
{
buffer_arr[i] = analogRead(A0);
delay(30);
}
for (int i = 0; i < 9; i++)
{
for (int j = i + 1; j < 10; j++)
{
if (buffer_arr[i] > buffer_arr[j])
{
temp = buffer_arr[i];
buffer_arr[i] = buffer_arr[j];
buffer_arr[j] = temp;
}
}
}
avgval = 0;
for (int i = 2; i < 8; i++)
avgval += buffer_arr[i];
float volt = (float)avgval * 5.0 / 1024 / 6;
float ph_act = -5.70 * volt + calibration_value;
if (ph_act >= 6.50){
digitalWrite (relePin1, HIGH);
}else {
digitalWrite (relePin1, LOW);
DateTime horario = rtc.now();
//Riego de las 00:00
if (relePin1, LOW && horario.hour() == 0 && horario.minute() == 0){
if (inicio_bombeo = true){
digitalWrite (relePin2, HIGH);
Serial.println("00:00 ON");
inicio_bombeo = false;
}
}
if (relePin1, LOW && horario.hour() == 0 && horario.minute() == 5){
if (fin_bombeo = true){
digitalWrite (relePin2, LOW);
Serial.println("00:05 OFF");
fin_bombeo = false;
}
}
//Riego de las 06:00
if (relePin1, LOW && horario.hour() == 6 && horario.minute() == 0){
if (inicio_bombeo = true){
digitalWrite (relePin2, HIGH);
Serial.println("06:00 ON");
inicio_bombeo = false;
}
}
if (relePin1, LOW && horario.hour() == 6 && horario.minute() == 5){
if (fin_bombeo = true){
digitalWrite (relePin2, LOW);
Serial.println("06:05 OFF");
fin_bombeo = false;
}
}
//Riego de 08:00
if (relePin1, LOW && horario.hour() == 8 && horario.minute() == 0){
if (inicio_bombeo = true){
digitalWrite (relePin2, HIGH);
Serial.println("08:00 ON");
inicio_bombeo = false;
}
}
if (relePin1, LOW && horario.hour() == 8 && horario.minute() == 5){
if (fin_bombeo = true){
digitalWrite (relePin2, LOW);
Serial.println("08:05 OFF");
fin_bombeo = false;
}
}
//Riego de 10:00
if (relePin1, LOW && horario.hour() == 10 && horario.minute() == 0){
if (inicio_bombeo = true){
digitalWrite (relePin2, HIGH);
Serial.println("10:00 ON");
inicio_bombeo = false;
}
}
if (relePin1, LOW && horario.hour() == 10 && horario.minute() == 5){
if (fin_bombeo = true){
digitalWrite (relePin2, LOW);
Serial.println("10:05 OFF");
fin_bombeo = false;
}
}
//Riego de 11:00
if (relePin1, LOW && horario.hour() == 11 && horario.minute() == 0){
if (inicio_bombeo = true){
digitalWrite (relePin2, HIGH);
Serial.println("11:00 ON");
inicio_bombeo = false;
}
}
if (relePin1, LOW && horario.hour() == 11 && horario.minute() == 5){
if (fin_bombeo = true){
digitalWrite (relePin2, LOW);
Serial.println("11:05 OFF");
fin_bombeo = false;
}
}
//Riego de 12:00
if (relePin1, LOW && horario.hour() == 12 && horario.minute() == 0){
if (inicio_bombeo = true){
digitalWrite (relePin2, HIGH);
Serial.println("12:00 ON");
inicio_bombeo = false;
}
}
if (relePin1, LOW && horario.hour() == 12 && horario.minute() == 5){
if (fin_bombeo = true){
digitalWrite (relePin2, LOW);
Serial.println("12:05 OFF");
fin_bombeo = false;
}
}
//Riego de 13:00
if (relePin1, LOW && horario.hour() == 13 && horario.minute() == 0){
if (inicio_bombeo = true){
digitalWrite (relePin2, HIGH);
Serial.println("13:00 ON");
inicio_bombeo = false;
}
}
if (relePin1, LOW && horario.hour() == 13 && horario.minute() == 5){
if (fin_bombeo = true){
digitalWrite (relePin2, LOW);
Serial.println("13:05 OFF");
fin_bombeo = false;
}
}
//Riego de 14:00
if (relePin1, LOW && horario.hour() == 14 && horario.minute() == 0){
if (inicio_bombeo = true){
digitalWrite (relePin2, HIGH);
Serial.println("14:00 ON");
inicio_bombeo = false;
}
}
if (relePin1, LOW && horario.hour() == 14 && horario.minute() == 5){
if (fin_bombeo = true){
digitalWrite (relePin2, LOW);
Serial.println("14:05 OFF");
fin_bombeo = false;
}
}
//Riego de 15:00
if (relePin1, LOW && horario.hour() == 15 && horario.minute() == 0){
if (inicio_bombeo = true){
digitalWrite (relePin2, HIGH);
Serial.println("15:00 ON");
inicio_bombeo = false;
}
}
if (relePin1, LOW && horario.hour() == 15 && horario.minute() == 5){
if (fin_bombeo = true){
digitalWrite (relePin2, LOW);
Serial.println("15:05 OFF");
fin_bombeo = false;
}
}
//Riego de 17:00
if (relePin1, LOW && horario.hour() == 17 && horario.minute() == 0){
if (inicio_bombeo = true){
digitalWrite (relePin2, HIGH);
Serial.println("17:00 ON");
inicio_bombeo = false;
}
}
if (relePin1, LOW && horario.hour() == 17 && horario.minute() == 5){
if (fin_bombeo = true){
digitalWrite (relePin2, LOW);
Serial.println("17:05 OFF");
fin_bombeo = false;
}
}
//Riego de 20:00
if (relePin1, LOW && horario.hour() == 20 && horario.minute() == 0){
if (inicio_bombeo = true){
digitalWrite (relePin2, HIGH);
Serial.println("20:00 ON");
inicio_bombeo = false;
}
}
if (relePin1, LOW && horario.hour() == 20 && horario.minute() == 5){
if (fin_bombeo = true){
digitalWrite (relePin2, LOW);
Serial.println("20:05 OFF");
fin_bombeo = false;
}
}
delay(1000);
}
}