Puerta de garaje automática con arduino, utilizando servomotor y sensor de ultrasonido
Objetivos:
Integración de Tecnología: Utilizar Arduino y componentes electrónicos para crear un proyecto funcional.
Aprendizaje de Programación: Comprender cómo programar en Arduino para controlar sensores y actuadores.
Aplicación Práctica de Sensores: Experimentar con el uso de sensores ultrasónicos para la detección de objetos.
Desarrollo de Habilidades de Ingeniería: Aprender a diseñar, construir y probar un sistema físico interactivo.
Fomento de la Creatividad: Estimular la imaginación al crear soluciones innovadoras para situaciones cotidianas mediante la automatización.
Lista de materiales
Placa Arduino Uno.
Sensor ultrasónico (HC-SR04).
Microservo SG90.
LED.
Resistencias 220 Ω.
Cables de conexión.
Protoboard o placa de pruebas.
Fuente de alimentación para Arduino (puede ser a través del USB o una batería).
PC con el software Arduino IDE para programar la placa.
Cartones.
Descripción
El programa monitorea continuamente la distancia con el sensor ultrasónico. Si detecta un objeto dentro de un rango específico (20 centímetros o menos), activa un LED y mueve el servo para simular la apertura de una puerta de cochera. Si no hay objetos detectados, el LED se apaga y el servo vuelve a su posición inicial. Este ciclo se repite indefinidamente mientras el Arduino esté encendido.
En primer lugar, el programa incluye las bibliotecas necesarias, incluyendo la biblioteca Servo y NewPing para el manejo del servo y el sensor ultrasónico respectivamente. Se definen constantes para los pines del servo, del sensor ultrasónico, y de un LED que se utilizará para indicar la detección de objetos.
En la función setup(), se inicializa el servo y se configuran los pines como entrada o salida según sea necesario. Además, se llama a la función posicion_inicial() para asegurarse de que el servo esté en su posición inicial al inicio del programa.
En el bucle principal loop(), el programa realiza mediciones de distancia utilizando el sensor ultrasónico. Obtiene la mediana de 5 mediciones para mejorar la precisión y luego convierte el tiempo de retorno del sonido en una distancia en centímetros.
Si la distancia detectada es menor o igual a 20 centímetros y mayor o igual a 0 (lo que significa que un objeto está cerca), el LED se enciende y el servo comienza a moverse gradualmente desde 0 grados hasta 90 grados, lo que podría representar la apertura de una puerta de cochera. Luego espera 5 segundos antes de continuar.
Si no se detecta ningún objeto (la distancia es mayor a 20 cm), el LED se apaga y el servo vuelve a su posición inicial (0 grados) como si estuviera cerrando la puerta de la cochera. También se espera 5 segundos antes de continuar con la próxima iteración del bucle.
La función posicion_inicial() simplemente mueve el servo a 0 grados al inicio para garantizar que la posición inicial de la puerta de la cochera esté establecida correctamente.
Circuito
Programa
#include <Servo.h>
#include <NewPing.h>
Servo servo1;
#define PINSERVO 2
#define TRIG_PIN 10
#define ECHO_PIN 9
#define LED_PIN 3
#define MAX_DISTANCE 200 // Distancia máxima de detección en centímetros
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE); // Define el objeto sonar
duration = sonar.ping_median(5); // Realiza 5 mediciones y devuelve la mediana
distance = duration / US_ROUNDTRIP_CM; // Convierte el tiempo en distancia en cm
if (distance <= 20 && distance >= 0) {
digitalWrite(LED_PIN, HIGH);
for (int angle = 0; angle <= 90; angle++) {
servo1.write(angle);
delay(15);
}
delay(5000); // Espera 5 segundos después de mover el servo
} else {
digitalWrite(LED_PIN, LOW);
servo1.write(0); // Mueve el servo a 0 grados si no hay objeto
delay(5000);
}
}
Promulgado como el Día Internacional del Libro por la Unesco, en conmemoración de tres grandes escritores: el entierro de Miguel de Cervantes Saavedra, la muerte y probablemente también el nacimiento de William Shakespeare y la muerte de Inca Garcilaso de la Vega.
Proforma Online Gratis
Crea proformas online de manera gratuita y sencilla. Genera documentos personalizados para tu negocio y mejora la comunicación con tus clientes.