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