// Ultrasonido + Servo
#include <Servo.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
Servo servo13;
int trigger = 2;
int echo = 3;
void setup()
{
Serial.begin(9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
digitalWrite(trigger, LOW);
servo13.attach(13);
servo13.write(75);
//
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("LOS");
lcd.setCursor(0,1);
lcd.print("SPEAKERS");
delay(2000);
}
void loop()
{
int dist = ultra();
if (dist<=290 && dist>=10){
Serial.print("Distancia = ");
Serial.print(dist);
Serial.print(" cm");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("La distancia es ");
lcd.setCursor(5,1);
lcd.print(dist);
lcd.print(" cm");
delay(1000);
if (dist<=140 && dist>=10){
servo13.write(10);
Serial.println("; Estoy a 10*");
}
else{
servo13.write(150);
Serial.println("; Estoy a 150*");
}
}
else{
Serial.println("Fuera de Rango");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Fuera de Rango");
servo13.write(0);
delay(1000);
}
}
int ultra(){
digitalWrite(trigger, HIGH);
delayMicroseconds(10);
digitalWrite(trigger, LOW);
long t = pulseIn(echo, HIGH);
long d = t/59;
return d;
}