Actualizaciones de las valvulas, el sensor de ph y la bomba de agua
This commit is contained in:
parent
d97cb1f9b0
commit
d89bf5b0a6
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue