// Incluye la librería para el sensor de ultrasonido
#include <NewPing.h>
// Define los pines para el sensor de ultrasonido
#define TRIGGER_PIN 9 // Pin de disparo del sensor
#define ECHO_PIN 10 // Pin de eco del sensor
// Define el pin para el LED
#define LED_PIN 13
// Define la distancia máxima para la detección (en centímetros)
#define MAX_DISTANCE 200
// Inicializa el sensor de ultrasonido
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
// Inicializa el LED como salida
pinMode(LED_PIN, OUTPUT);
// Inicializa la comunicación serial para ver las mediciones en el monitor serial
Serial.begin(9600);
}
void loop() {
// Realiza una medición de distancia
int distancia = sonar.ping_cm();
// Imprime la distancia en el monitor serial
Serial.print("Distancia: ");
Serial.print(distancia)
Serial.println(" cm");
// Comprueba si la distancia es menor o igual a 10 cm
if (distancia <= 10) {
// Si la distancia es menor o igual a 10 cm, enciende el LED
digitalWrite(LED_PIN0, HIGH);
} else {
// De lo contrario, apaga el LED
digitalWrite(LED_PIN, LOW);
}
// Espera un breve período de tiempo antes de realizar otra medición
delay(100);
}
int pirPin = 2; // Pin digital al que está conectado el sensor PIR
int led = 13; // Definimos la variable para el pin del LED
void setup() {
Serial.begin(9600); // Inicializar la comunicación serial
pinMode(pirPin, INPUT); // Configurar el pin del sensor PIR como entrada
pinMode(led, OUTPUT); // Configuramos el pin del LED como salida
}
void loop() {
int movimiento = digitalRead(pirPin); // Leer el valor del sensor PIR
if (movimiento == HIGH) { // Si se detecta movimiento
Serial.println("Objeto detectado"); // Imprimir el mensaje en el monitor serial
digitalWrite(led, HIGH); // Encendemos el LED
delay(5000); // Esperar 1 segundo para evitar múltiples detecciones rápidas
}
digitalWrite(led, LOW); // Encendemos el LED
Serial.println("---------------"); // Imprimir el mensaje en el monitor serial
}
#include <Servo.h>
Servo myservo;
#define TRIG_PIN 3
#define ECHO_PIN 5
int led = 13; // Definimos la variable para el pin del LED
int BZ = 10; //
void setup() {
pinMode(led, OUTPUT); // Configuramos el pin del LED como salida
pinMode(BZ, OUTPUT);
myservo.attach(4);
Serial.begin(9600);
}
void loop() {
long duration, distancia;
// Generar un pulso de 10 microsegundos en el pin Trig
pinMode(TRIG_PIN, OUTPUT);
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Medir la duración del pulso en el pin Echo
pinMode(ECHO_PIN, INPUT);
duration = pulseIn(ECHO_PIN, HIGH);
// Calcular la distancia en centímetros
distancia = duration * 0.034 / 2;
//Serial.print(distancia);
// Serial.print("cm");
// Serial.println();
delay(500);
if (distancia <= 40 )
{
myservo.write(170);
digitalWrite(led, HIGH); // Encendemos el LED
digitalWrite(BZ, HIGH); //
delay(100);
digitalWrite(BZ, LOW); //
delay(100);
digitalWrite(BZ, HIGH); //
delay(100);
digitalWrite(BZ, LOW); //
delay(100);
digitalWrite(BZ, HIGH); //
delay(100);
}
if (distancia <= 70 && distancia >=41 )
{digitalWrite(led, HIGH); // Encendemos el LED
myservo.write(100);
digitalWrite(BZ, HIGH); //
delay(50);
digitalWrite(BZ, LOW); //
delay(50);
digitalWrite(BZ, HIGH); //
delay(50);
digitalWrite(BZ, LOW); //
}
if (distancia <= 120 )
{digitalWrite(led, HIGH); // Encendemos el LED
delay(50);
digitalWrite(BZ, HIGH); //
delay(50);
digitalWrite(BZ, LOW); //
myservo.write(20);
}
else{
digitalWrite(led, LOW); // Encendemos el LED
digitalWrite(BZ, LOW); //
myservo.write(0);
//delay(50);
}
}