Buscar en este blog

martes, 20 de junio de 2017

KIT RIEGA DOMESTICO ARDUINO (PROGRAMA)

#include <Wire.h>
#include <LiquidCrystal_I2C.h>


LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
int suelo=A0;
int bomba=2;
int rojo=3;
int verde=4;
int azul=5;


void setup()
{
  Serial.begin(9600);
  lcd.begin(16,2);
  pinMode(suelo, INPUT);
  pinMode(bomba, OUTPUT);
  pinMode(rojo, OUTPUT);
  pinMode(verde, OUTPUT);
  pinMode(azul, OUTPUT);
}

void loop()
{
  int valorSuelo = analogRead(suelo);
  Serial.print(valorSuelo); Serial.print(" - ");
 
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print(valorSuelo);

  if(valorSuelo >= 880) {
   Serial.println("El sensor no esta en la tierra");
   digitalWrite(bomba,LOW);
   lcd.setCursor(0,1);//se coloca en la seguna fila con el 0.1
   lcd.print("error");//mensaje de error
   digitalWrite(azul,HIGH);
   digitalWrite(rojo,LOW);
   digitalWrite(verde,LOW);
  }
  if(valorSuelo < 880 && valorSuelo >= 600) {
   Serial.println("La tierra esta seca");
   digitalWrite(bomba,HIGH);
   lcd.setCursor(0,1);
   lcd.print("Regando");
   digitalWrite(azul,LOW);
   digitalWrite(rojo,LOW);
   digitalWrite(verde,HIGH);
  }
  if(valorSuelo < 600 && valorSuelo >= 430) {
   Serial.println("La tierra esta humeda");
   digitalWrite(bomba,LOW);
   lcd.setCursor(0,1);
   lcd.print("parado");
   digitalWrite(azul,LOW);
   digitalWrite(rojo,HIGH);
   digitalWrite(verde,LOW);
  }
  if(valorSuelo < 430) {
   Serial.println("El sensor esta empapado");
   digitalWrite(bomba,LOW);
   lcd.setCursor(0,1);
   lcd.print("empapado");
   digitalWrite(azul,LOW);
   digitalWrite(rojo,HIGH);
   delay(500);
   digitalWrite(rojo,LOW);
   delay(500);
   digitalWrite(verde,LOW);
  }
  delay(50);
}

No hay comentarios:

Publicar un comentario