martes, 25 de enero de 2022

ALARMA DETECTORA DE INTRUSOS

 DATOS 

Alumno: Javier Navarro Arenas

Asignatura: Innovación Docente de la Especialidad de Tecnología.

Master: 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: 2021/2022.


DESCRIPCIÓN

El proyecto consiste en una alarma que suena (Buzzer) y se enciende (LED) cuando el intruso se acerca a menos de 5 cm, si el intruso se aleja a mas de 5 cm el LED se apaga y el BUZZER deja de sonar. Para calcular la distancia se utilizará un sensor de ultrasonidos.

La pantalla LCD indicará la distancia a la que se encuentra el intruso y si se acerca a menos de 5 cm pondrá "intruso detectado". El circuito también consta de un potenciómetro para regular la pantalla LCD.

El proyecto tiene 2 entradas (Sensor de ultrasonidos y potenciómetro) y 3 salidas (Pantalla LCD, LED y BUZZER).

La ODS que he tratado en este proyecto es Industria, Innovación e Infraestructura.



COMPONENTES UTILIZADOS

  • Placa Arduino UNO
  • Protoboard
  • 1 LED
  • 1 Resistencia de 220 Ω
  • Cables
  • 1 Potenciómetro
  • Pantalla LCD
  • BUZZER
  • Sensor de ultrasonidos
ESQUEMA DEL CIRCUITO













VIDEO




CÓDIGO

// include the library code:
//Libreria de la pantalla LCD
#include <LiquidCrystal.h>

//Librería del sensor de ultrasonidos
#include "SR04.h"

//Definimos pines del sensor de ultrasonidos
#define TRIG_PIN 4  
#define ECHO_PIN 3

#define BUZZER_ACTIVO 2

// incializamos la biblioteca con los pines de la pantalla LCD
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

//Declaramos la variable del sensor de ultrasonidos
SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);
long a;

//La variable LED la declaramos en el pin 6
const int LED=6;



void setup() {
  // configuramos el número de filas y columnas de la pantalla LCD
  lcd.begin(16, 2);
  // Imprimimos en la pantalla LCD el mensaje "intruso a".
  lcd.print("Intruso a:");

   Serial.begin(9600);
   delay(1000);

//Dejamos el BUZZER inactivo en un primer momento
   pinMode (BUZZER_ACTIVO, OUTPUT);
}

//Este es el bucle infinito
void loop() {


  // set the cursor to column 0, line 1Ponemos el cursor en columna 0, fila 1
  // (nota: fila 1 es la segunda fila, ya que comienza en 0 el conteo):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
   
   a=sr04.Distance();     //Decimos que la variable a sea igual a la distancia del objeto al sensor
   Serial.print(a);           // imprimimos por consola la variable a
   Serial.println("cm");
   delay(1000);              //Delay de 1 segundo para que imprima por consola cada 1 segundo

//Aquí hacemos lo mismo pero para que lo imprima en la pantalla LCD
   lcd.setCursor(0, 1);
   lcd.print("    ");
   lcd.setCursor(0, 1);
   lcd.print(a);
   lcd.print(" cm     ");


//Si la distancia es menor de 5 cm imprime por pantalla intruso detectado, enciende el LED y suena el BUZZER
   if(a<5){
      lcd.begin(16, 2);
      // Print a message to the LCD.
      lcd.print("Intruso detectado  ");

      digitalWrite(LED,HIGH);
  
    digitalWrite(BUZZER_ACTIVO, HIGH);
    delay(500);
    digitalWrite(BUZZER_ACTIVO, LOW);
   }
   else{
    digitalWrite(LED,LOW);
   }

}

No hay comentarios:

Publicar un comentario