Está en la página 1de 2

#include<LiquidCrystal.

h> // Incluye la librer�a para el LCD


LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Define los pines de Arduino que se van
a usar con el LCD
#define Pecho 6 // Define los pines de Arduino que se van
a usar con el Sensor HC-SR04
#define Ptrig 7
float duracion, distancia;

void setup() {
pinMode(Pecho, INPUT); // Define el pin 6 como entrada (echo)
pinMode(Ptrig, OUTPUT); // Define el pin 7 como salida (triger)
lcd.begin (16, 2); // Inicializa el LCD como 2 filas de 16
caracteres
lcd.setCursor(0,0); // Escribir en primera l�nea
lcd.print(" ");
lcd.print("SENSOR HC-SR04"); // Inicio o presentaci�n
lcd.print(" ");
lcd.setCursor(0,1); // Escribir en segunda l�nea
lcd.print(" ");
lcd.print("ULTRASONIDOS");
lcd.print(" ");
delay(2000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.print("PRECISION");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.print("95%");
lcd.print(" ");
delay(2000);

void loop() {

digitalWrite(Ptrig, LOW);
delayMicroseconds(1);
digitalWrite(Ptrig, HIGH); // genera el pulso de triger por 10ms
delayMicroseconds(10);
digitalWrite(Ptrig, LOW);

duracion = pulseIn(Pecho, HIGH); // Recibe se�al de Triger


//distancia = (duracion/2) / 29; // Calcula la distancia en
centimetros
distancia = float (duracion*0.017);

if (distancia >= 500 || distancia <= 0){ // Si la distancia es mayor a 500cm o


menor a 0cm
lcd.setCursor(0,0); // Determina d�nde escribir (segunda
l�nea)
lcd.print(" ");
lcd.print("FUERA DE RANGO"); // No mide nada, env�a mensaje de
fuera de rango, o no hay sensor
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("O NO HAY SENSOR!!");
delay(1000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.print("ACERQUESE");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("O CONECTE SENSOR");
delay(1000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.print("LUEGO REINICIE");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
delay(1000);
}
else {
lcd.setCursor(0,0); // Determina d�nde escribir (primera l�nea)
lcd.print(" "); // Decoraci�n
lcd.print(distancia); // Env�a el valor de la distancia por el LCD
lcd.print("cm"); // Pone "cm" al lado del valor
lcd.print(" "); // Decoraci�n
lcd.setCursor(0,1);
lcd.print(" "); // Segunda l�nea vac�a (Necesario, porque sino
se quedar�a escrito alg�no de los textos de m�s adelante)
delay(2000);
}
if (distancia <= 499 && distancia >= 21){
lcd.setCursor(0,1);
lcd.print("lejos"); // envia texto a LCD (segunda l�nea)
delay(2000);
}
if (distancia <= 20 && distancia >= 15){
lcd.setCursor(0,1);
lcd.print("ESTA CERCA"); // envia texto a LCD (segunda l�nea)
delay(2000);
}
if (distancia <= 14 && distancia >= 10){
lcd.setCursor(0,1);
lcd.print("ESTA MAS CERCA"); // envia texto a LCD (segunda l�nea)
delay(2000);
}
if (distancia <= 9 && distancia >= 5){
lcd.setCursor(0,1);
lcd.print("ESTA MUY CERCA"); // envia texto a LCD (segunda l�nea)
delay(2000);
}
if (distancia <= 4 && distancia >= 1){
lcd.setCursor(0,1);
lcd.print("DELANTE SENSOR"); // envia texto a LCD (segunda l�nea)
delay(2000);
}

También podría gustarte