#include <Servo.h>
Servo servoMotor;
int trigPin = 7; // Pin del TRIG del sensor de ultrasonidos
int echoPin = 6; // Pin del ECHO del sensor de ultrasonidos
int LedRojo = 12; // Pin del LED rojo
int LedVerde = 9; // Pin del LED verde
long duration;
int distance;
void setup() {
servoMotor.attach(3); // Pin del servo motor
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LedRojo, OUTPUT);
pinMode(LedVerde, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Enviar pulso ultrasónico
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Leer duración del pulso de respuesta
duration = pulseIn(echoPin, HIGH);
// Calcular distancia
distance = duration * 0.034 / 2;
// Imprimir distancia por Serial (opcional)
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// Mover servo y controlar LEDs según la distancia medida
if (distance < 10) { // Distancia umbral de 10 cm
// Mueve el servo a 90 grados
servoMotor.write(90);
digitalWrite(LedRojo, LOW);
digitalWrite(LedVerde, HIGH);
} else {
// Mueve el servo a 0 grados
servoMotor.write(0);
digitalWrite(LedRojo, HIGH);
digitalWrite(LedVerde, LOW);
}
delay(500); // Espera medio segundo antes de la siguiente lectura
}