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.

arduino

arduino

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

arduino

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

void setup() {
servo1.attach(PINSERVO);
pinMode(LED_PIN, OUTPUT);
posicion_inicial();
}

void loop() {
unsigned int duration, distance;

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);
}
}

void posicion_inicial() {
servo1.write(0);
delay(5000);
}

Video Instructivo

Contenido

Recomendados:

Windows

Un día como hoy 26/06/2026

Nakamatsu es un inventor prolífico que afirma tener el récord mundial de número de invenciones con más de 4.000 patentes.

proforma

Peso Ideal según la altura

Escribe tu altura en metros y podrás conocer tu peso ideal. Además puedes obtener el margen mínimo y máximo.

Calculadoras OnLine | Proyectos Electrónicos | Vista Satelital | Radio y TV | Magazin Digital

Política de Privacidad | Partner: depositphotos | Contáctanos

www.viasatelital.com