miércoles, 24 de enero de 2024

Puerta de Garaje con sensor de distancia

Puerta de Garaje con sensor de distancia


Vídeo Demostrativo




Alumna: Nihal Aarabou Ibn Ajiba
Asignatura: Innovación Docente de la Especialidad de Tecnología.
Máster: Máster Universitario en Profesor de Educación Secundaria Obligatoria y Bachillerato, Formación Profesional y Enseñanza de Idiomas
Centro: Universidad de Salamanca.
Curso: 2023/24

Descripción del proyecto




Este prototipo tiene la finalidad de simular el funcionamiento de una puerta de garaje, que se abre y se cierra cuando detecta que hay un coche. Una vez que el coche llega a la puerta del garaje, se detecta con un ultrasonidos su presencia, y en ese momento, se abre la puerta, se enciende la led verde y pita el zumbador y cuando entra el coche se cierra la puerta del garaje y al mismo tiempo se enciende la luz roja y pita el zumbador con otra frecuencia.

El programa utiliza un sensor ultrasónico SR04 para medir la distancia entre un objeto y el sensor y mostrarla en el monitor serie.. El sensor SR04 emite un pulso ultrasónico y mide el tiempo que tarda en regresar el eco. A partir de este tiempo, puede calcular la distancia al objeto.

El programa se ejecuta continuamente en un bucle principal. En cada iteración del bucle, el programa lee la distancia del sensor SR04. Si la distancia es inferior a 5 centímetros, el programa simula la apertura y el cierre de una puerta mediante un servomotor.

Para abrir la puerta, el programa gira el servomotor de 90° a 0°. Para cerrar la puerta, el programa gira el servomotor de 0° a 90°.

Alumnos para los que está dirigido

Este proyecto esta pensado y adaptado perfectamente para las asignaturas de Tecnología y Digitalización de 1º de Bachillerato y de 4º de ESO.

Aprendizaje Transversal

Este proyecto puede utilizarse para el aprendizaje transversal con asignaturas como Educación Física.

Componentes

  • Placa de Arduino ELEGOO UNO R3 
  • Protoboard
  • Passive Buzzer 1PC
  • LED rojo 25 PCS
  • LED verde 25 PCS          
  • 2 resistencias 220Ω
  • sensor ultrasónico SR04 para medir la distancia entre el sensor y un objeto.
  • Cables para circuito de diferentes longitudes
  • Cable puerto USB.
  • 1 Servo Motor SG90
  • 1 barrera roja simula a una puerta de garaje (hecha con la impresora 3D).


Esquema 



Código:

#include<Servo.h>

#include "SR04.h"
#define TRIG_PIN 12
#define ECHO_PIN 11
SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);
long a;
Servo myServo;
int verde = 2;
int rojo= 3;
int tiempo;
int distancia;
int buzzer=6;
void setup() {
   pinMode(verde,OUTPUT);
   pinMode(rojo,OUTPUT);
   pinMode(buzzer,OUTPUT);
   myServo.attach(5);
   onOffLeds();
  Serial.begin(9600);
}
void loop() {
 leerDistancia();
 if(a<5){
  abrirPuerta();
  delay(2000);
  cerrarPuerta();
  delay(2000);
  }
}


void leerDistancia(){
  a=sr04.Distance();
   Serial.print(a);
   Serial.println("cm");
   delay(100);
  }

void onOffLeds(){
  digitalWrite(verde,HIGH);
  digitalWrite(rojo,HIGH);
  delay(2000);
  digitalWrite(verde,LOW);
  digitalWrite(rojo,LOW);
  delay(2000);
  digitalWrite(verde,HIGH);
  digitalWrite(rojo,HIGH);
  delay(2000);
  digitalWrite(verde,LOW);
  digitalWrite(rojo,LOW);
  }

void cerrarPuerta(){
  digitalWrite(verde,LOW);
  digitalWrite(rojo,HIGH);
    tone(buzzer,8000,2000);
  int angulo=0;
  do{
    angulo=angulo+1;
    myServo.write(angulo);
    delay(50);
    }while(angulo<90);
  digitalWrite(verde,LOW);
  digitalWrite(rojo,LOW);
       noTone(buzzer);
}

void abrirPuerta(){
  digitalWrite(verde,HIGH);
  digitalWrite(rojo,LOW);
  tone(buzzer,5000,2000);
  int angulo =90;
  do{
    angulo=angulo-1;
    myServo.write(angulo);
    delay(50);
    }while(angulo>0);  
  digitalWrite(verde,LOW);
  digitalWrite(rojo,LOW);
  noTone(buzzer);
  }

Comentarios

No hay comentarios:

Publicar un comentario