Datos
Alumno: Pablo Lorenzo Hernandez
Asignatura: Innovación Docente de la Especialidad de Tecnología
Titulación: 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: 2022/23
ALARMA DE AVISO SALA DE SOLDADURA
Descripción del proyecto
La cantidad de usos y aplicaciones que se le pueden dar a Arduino es infinita, puedes hacer desde la programación de un encendido de una bombilla hasta domotizar una casa entera.
Para la asignatura de Innovación Docente de la Especialidad de Tecnología se ha programado un Arduino para proteger y avisar a los trabajadores de una industria de soldadura. El Arduino programado consiste en el aviso mediante un zumbador cuando la temperatura exceda una cierta cantidad (para la demostración del video, se ha simulado con 23ºC, para poder llegar fácilmente a esa temperatura y así demostrar su funcionamiento). Además del zumbador, también se activa un ventilador para la extracción del calor fuera de la sala.
Para medir la temperatura se ha usado un termistor, que dependiendo la temperatura deja pasar mas o menos flujo de electricidad.
Otra función que tiene el Arduino es la capacidad de decir si es de día o es de noche, para que el Arduino no trabaje por las noches ya que la sala estará vacía ya que los trabajadores no estarán en su puesto de trabajo. Esto se consigue con un foto resistor, que varia su flujo de electricidad dependiendo de la luz que le incida.
Para tener en cuenta todos los datos que ofrece Arduino, se le ha acoplado una pantalla LCD1602MODULE que indica la temperatura de la sala en todo momento y si es de día o es de noche.
Esquema del proyecto
El esquema se ha realizado con el programa online TinkerCad
Componentes usados en el proyecto
Codigo del Arduino
// DEFINICIÓN DE LOS PINES DE CADA ELEMENTO
#include <LiquidCrystal.h>
#define ZUMBADOR 6
#define MOTOR 3
#define TEMP 0
//CONFIGURACIÓN DE LA PANTALLA LCD
// BS E D4 D5 D6 D7
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup()
{
// DEFINIMOS LOS PINES A UTILIZAR
pinMode(ZUMBADOR, OUTPUT);
pinMode(MOTOR, OUTPUT);
lcd.begin(16, 2);
Serial.begin(9600);
}
void loop()
{
// SE LEE LA TEMPERATURA Y SE CALCULA LA TEMPERATURA EN ºC,
ºF Y KELVIN
int tempReading = analogRead(TEMP);
double tempK = log(10000.0 * ((1024.0 / tempReading - 1)));
tempK = 1 / (0.001129148 + (0.000234125 +
(0.0000000876741 * tempK * tempK )) * tempK ); //Temp Kelvin
float tempC = tempK - 273.15;
// Convert Kelvin to Celcius
float tempF = (tempC * 9.0)/ 5.0 + 32.0;
// Convert Celcius to Fahrenheit
// EN LA PRIMERA LINEA DE LA PANTALLA SE ESCRIBE LA TEMPERATURA
EN GRADOS CENTIGRADOS
lcd.setCursor(0, 0);
lcd.print("Temp C ");
lcd.setCursor(6, 0);
lcd.print(tempC);
//EN LA SEGUNDA LINEA DE LA PANTALLA SE ESCRIBE SI ES DE DÍA O
DE NOCHE DEPENDIENDO DE LA ENTRADA QUE DE EL FOTORESISTOR (LDR),
EN FUNCIÓN DE LA TEMPERATURA Y LA LUMINOSIDAD SE ENCIENDE EL MOTOR
Y EL ZUMBADOR.
lcd.setCursor(0,1);
int lectura = analogRead(1);
if (lectura < 150){
lcd.print("Es de noche");
digitalWrite(MOTOR, LOW);
digitalWrite(ZUMBADOR, LOW);
} else {
lcd.print("Es de dia ");
if(tempC > 23){
digitalWrite(MOTOR, HIGH);
digitalWrite(ZUMBADOR, HIGH);
delay(500);
digitalWrite(ZUMBADOR, LOW);
} else {
digitalWrite(ZUMBADOR, LOW);
digitalWrite(MOTOR, LOW);
}
}
delay(500);
}
Video demostración del proyecto
No hay comentarios:
Publicar un comentario