Sensor de lluvia con pantalla de cristal líquido

 





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

const int rainSensorPin = A0; // Pin del sensor de lluvia
const int ledPin = 7; // Pin del LED
LiquidCrystal_I2C lcd(0x27, 16, 2); // Dirección I2C de la pantalla LCD

void setup() {
  pinMode(ledPin, OUTPUT); // Configura el pin del LED como salida
  lcd.begin(); // Inicia la pantalla LCD
  lcd.backlight(); // Enciende la luz de fondo de la pantalla LCD
  Serial.begin(9600); // Inicia la comunicación serial
}

void loop() {
  int sensorValue = analogRead(rainSensorPin); // Lee el valor del sensor de lluvia
  Serial.println(sensorValue); // Imprime el valor del sensor en el monitor serial

  lcd.setCursor(0, 0); // Establece el cursor en la primera fila
  lcd.print("Sensor: ");
  lcd.print(sensorValue); // Muestra el valor del sensor en la pantalla LCD

  if (sensorValue < 500) { // Si el valor del sensor es menor a 500, hay agua
    digitalWrite(ledPin, HIGH); // Enciende el LED
    lcd.setCursor(0, 1); // Establece el cursor en la segunda fila
    lcd.print("Lluvia detectada");
  } else {
    digitalWrite(ledPin, LOW); // Apaga el LED
    lcd.setCursor(0, 1); // Establece el cursor en la segunda fila
    lcd.print("No hay lluvia   ");
  }

  delay(1000); // Espera 1 segundo antes de leer el sensor nuevamente
}

Comentarios

Entradas populares de este blog

Arduino sencillo