You are on page 1of 2

CÓDIGO MEDIDOR NIVEL DE AGUA

#include <LiquidCrystal.h>
LiquidCrystal lcd(11, 10, 5, 4, 3, 2);
const int rojo = 7;
const int verde = 6;
const int parlante = 9;
const int motor=8;

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

void loop() {
int distancia = 0.009 * readUltrasonicDistance(A1, A0);

if(distancia<=10)
{
distancia=10;
digitalWrite(verde, HIGH);
digitalWrite(rojo, LOW);
digitalWrite(motor, LOW);
}

if(distancia>=100)
{
distancia=100;
digitalWrite(verde, LOW);
digitalWrite(rojo, HIGH);
digitalWrite(motor, HIGH);
tone(parlante,200,200);
delay(1000);
}

int porcentaje= map(distancia,10,100,100,0);


lcd.setCursor(0, 0);
lcd.print("Medidor de Agua");
lcd.setCursor(0, 1);
lcd.print(" Nivel=");
lcd.print(porcentaje);
lcd.print("% ");
Serial.println(distancia);
}
long readUltrasonicDistance(int triggerPin, int echoPin)
{
pinMode(triggerPin, OUTPUT);
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);

digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pinMode(echoPin, INPUT);

return pulseIn(echoPin, HIGH);


}

You might also like