0% encontró este documento útil (0 votos)
22 vistas9 páginas

Control de Alarma de Fuego con Arduino

El documento describe un sistema de control de alarma de incendios que utiliza un sensor infrarrojo para detectar llamas y un Arduino para activar una alarma visual y de sonido. La detección de llamas también enciende un ventilador a través de un relé. El estado del sistema se muestra en una interfaz HMI que incluye imágenes y datos en tiempo real.

Cargado por

Raúl Mendoza
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
22 vistas9 páginas

Control de Alarma de Fuego con Arduino

El documento describe un sistema de control de alarma de incendios que utiliza un sensor infrarrojo para detectar llamas y un Arduino para activar una alarma visual y de sonido. La detección de llamas también enciende un ventilador a través de un relé. El estado del sistema se muestra en una interfaz HMI que incluye imágenes y datos en tiempo real.

Cargado por

Raúl Mendoza
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad Tecnológica de Puebla

Programación visual

Producto No. 3
Control de alarma de fuego con
Arduino y visualización en HMI

Profesor(a):
Loaiza Reyes Jose Ignacio

Presentan:
UTP0156584 Nava Mendoza Maximiliano Raul

Fecha

1
Universidad Tecnológica de Puebla División de Mecatrónica
Producto III. Control de alarma de fuego con Arduino y visualización en HMI

Control de alarma de fuego con Arduino y


visualización en HMI

1. Introducción
En la práctica desarrollada se implementó un sistema de control para una alarma de
temperatura utilizando un sensor infrarrojo para detectar la llama. Cuando se detecta
la llama, el sistema activa un LED rojo, un buzzer para la alerta y un relevador que
enciende un ventilador para apagar la llama. El sistema no se detiene hasta que la
llama se haya apagado por completo. Todo este proceso se visualiza en un HMI que
muestra tres imágenes para representar los estados: ventilador activado, alarma
activada y usuario activado. Además, muestra la fecha y la hora, indica cuánto tiempo
lleva activa la alarma y envía un mensaje indicando que el ventilador está activo.

Para que el sensor infrarrojo pueda detectar la llama, es necesario que emita y reciba
radiación infrarroja. Cuando la llama está presente, emite radiación infrarroja en una
longitud de onda específica. El sensor está diseñado para detectar esta radiación y
activar la alarma en consecuencia.

Esta aplicación es de suma importancia ya que,en entornos industriales, es


fundamental mantener la temperatura dentro de rangos específicos para garantizar la
calidad del producto y la eficiencia del proceso. La automatización de este proceso
mediante este sistema proporciona eficiencia y precisión en el control de temperatura,
detectando rápidamente cambios y activando dispositivos de control como ventiladores
para mantener la temperatura deseada. Esto reduce costos laborales, mejora la
seguridad y ofrece una interfaz intuitiva para monitorear y controlar el sistema, lo que
lo hace accesible incluso para usuarios no técnicos.

La inclusión del protocolo de comunicación USB entre el Arduino y el HMI, que se


conecta mediante el puerto serial, es crucial para el intercambio de datos y el
monitoreo remoto del sistema. Este protocolo permite una comunicación eficiente y
confiable entre los dispositivos, facilitando el envío de información sobre la
temperatura, el estado de la alarma y la activación de dispositivos como el ventilador.
Además, el uso de Visual Studio como interfaz de control proporciona una
representación gráfica clara de los datos en tiempo real, lo que facilita la
identificación de tendencias y patrones. En conjunto, el protocolo de comunicación USB
y la interfaz gráfica mejoran la eficiencia y la eficacia del sistema de control de
temperatura, lo que lo hace ideal para aplicaciones industriales donde se requiere un
control preciso y rápido de la temperatura.

Universidad Tecnológica de Puebla División de Mecatrónica


2
Producto III. Control de alarma de fuego con Arduino y visualización en HMI

2. Objetivos

Implementar un sistema de control de seguridad contra incendios utilizando un sensor


infrarrojo para detectar la presencia de llama y un Arduino para activar un LED rojo, un
buzzer de alerta y un relé para encender un ventilador para apagar la llama. Establecer
una comunicación USB entre el Arduino y un programa en Visual Studio para mostrar el
estado de la alarma en tiempo real, incluyendo la fecha y hora de activación, y
controlar la visualización de imágenes en un HMI que representen los estados: alarma
activada, ventilador activado y usuario activado, demostrando así el funcionamiento
del sistema de control basado en la detección de llama.

3. Equipo y Materiales
○ Arduino
○ Led rojo
○ Cable de comunicación serial
○ Jumpers
○ Sensor infrarrojo
○ Fuente de alimentación externa
○ Ventilador de 12v
○ Relevador
○ Buzzer

4. Desarrollo

Diagrama de conexión:

Universidad Tecnológica de Puebla División de Mecatrónica


3
Producto III. Control de alarma de fuego con Arduino y visualización en HMI

Interfaz HMI:

Codigo en arduino:

Universidad Tecnológica de Puebla División de Mecatrónica


4
Producto III. Control de alarma de fuego con Arduino y visualización en HMI

const int pinSensor = A0;


const int pin13 = 13;
const int pin8 = 8;
int ValorSensor = 0;
int temperatura = 0;
void setup() {
pinMode(pin13, OUTPUT);
pinMode(pin8, OUTPUT);
Serial.begin(9600);
}

void loop() {
ValorSensor = analogRead (pinSensor);
int milivolts = (ValorSensor / 1023.0) * 5000;
temperatura = milivolts / 10;
Serial.print(temperatura);
if (temperatura >=20) {
digitalWrite(pin13, HIGH);
digitalWrite(pin8, LOW);
}
else {
digitalWrite(pin13, LOW);
digitalWrite(pin8, HIGH);
}
delay(5000);
}

En el código de Arduino, se implementa un sistema de control de seguridad contra


incendios que utiliza un sensor infrarrojo para detectar la presencia de llama. Para
comenzar, se definen las constantes `sensorPin`, `ledPin`, `buzzerPin` y `relayPin`
para representar los pines a los que están conectados el sensor de llama, el LED, el
buzzer y el relé respectivamente. Estas constantes se utilizan para facilitar la lectura y
escritura de los pines en el código.

En la función `setup()`, que se ejecuta una vez al inicio del programa, se configuran
los pines como entradas o salidas utilizando la función `pinMode()`. El sensor de llama
se configura como entrada, mientras que el LED, el buzzer y el relé se configuran como
salidas. Además, se inicia la comunicación serial a una velocidad de 9600 baudios
mediante la función `Serial.begin(9600)`. Esto permite enviar mensajes de texto desde
el Arduino a un programa en la computadora a través del puerto serial, lo que puede
ser útil para fines de depuración y monitoreo.

En la función `loop()`, que se ejecuta continuamente en un ciclo, se realiza la mayor


parte del trabajo del programa. Primero, se lee el estado del sensor de llama utilizando
la función `digitalRead(sensorPin)`, que devuelve `LOW` si no se detecta llama y
`HIGH` si se detecta. Esta lectura se almacena en la variable `flame`.

Universidad Tecnológica de Puebla División de Mecatrónica


5
Producto III. Control de alarma de fuego con Arduino y visualización en HMI

A continuación, se utiliza una estructura `if` para verificar el valor de `flame`. Si


`flame` es igual a `LOW`, lo que indica que se ha detectado una llama, se activan el
LED y el buzzer mediante las funciones `digitalWrite(ledPin, HIGH)` y
`digitalWrite(buzzerPin, HIGH)` respectivamente. Además, se desactiva el relé
mediante `digitalWrite(relayPin, LOW)` para activar un ventilador u otro dispositivo de
extinción de incendios. También se envía un mensaje por puerto serial utilizando
`Serial.println("Flame Detected")` para indicar que se ha detectado una llama.

Si `flame` es igual a `HIGH`, lo que indica que no se ha detectado una llama, se


desactivan el LED y el buzzer mediante `digitalWrite(ledPin, LOW)` y
`digitalWrite(buzzerPin, LOW)` respectivamente. En este caso, se activa el relé
mediante `digitalWrite(relayPin, HIGH)` para indicar que el sistema está en estado de
reposo.

Finalmente, se agrega un pequeño retardo de 100 milisegundos mediante la función


`delay(100)` para evitar lecturas erróneas del sensor de llama y permitir que el
programa se ejecute de manera más suave.

Codigo en visual basic:

Public Class Form1


Dim flameDetected As Boolean = False
Dim startTime As DateTime

Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles


MyBase.Load
' Ocultar las picture boxes que deben aparecer cuando no se detecte llama
PictureBox4.Visible = False
PictureBox5.Visible = False
PictureBox6.Visible = False

' Iniciar el Timer para actualizar la fecha y hora cada segundo


Timer1.Start()

' Inicializar el puerto serial


serialPort = New IO.Ports.SerialPort()
serialPort.BaudRate = 9600 ' Velocidad de comunicación
serialPort.PortName = "COM4" ' Cambiar al puerto COM correcto
serialPort.Open() ' Abrir el puerto serial
End Sub

Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles


Button2.Click

Universidad Tecnológica de Puebla División de Mecatrónica


6
Producto III. Control de alarma de fuego con Arduino y visualización en HMI

' Acción del botón de apagado


Application.Exit()
End Sub

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles


Timer1.Tick
' Actualizar el Label con la fecha y hora actual
Label3.Text = DateTime.Now.ToString()
End Sub
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As
System.IO.Ports.SerialDataReceivedEventArgs) Handles serialPort1.DataReceived
Dim message As String = serialPort1.ReadLine()
If message = "Flame Detected" Then

' Mostrar las picture boxes que deben aparecer cuando se detecte llama
PictureBox1.Visible = False
PictureBox2.Visible = False
PictureBox3.Visible = False
PictureBox4.Visible = True
PictureBox5.Visible = True
PictureBox6.Visible = True

' Mostrar mensaje de llama detectada


Label1.Text = "Llama detectada desde EL 19 DE MARZO "
Label2.Text = "Ventilador activo"

' Enviar mensaje al Arduino para activar el ventilador


serialPort.Write("1")

' Iniciar el contador de tiempo


startTime = DateTime.Now
Else
' Ocultar las picture boxes que deben aparecer cuando se detecte llama
PictureBox4.Visible = False
PictureBox5.Visible = False
PictureBox6.Visible = False

' Mostrar mensaje de llama no detectada


Label1.Text = "Llama no detectada"
Label2.Text = ""

' Enviar mensaje al Arduino para desactivar el ventilador


serialPort.Write("0")

' Detener el contador de tiempo


startTime = Nothing
' Haz lo que necesites hacer cuando se detecta una llama
End If
End Sub

Universidad Tecnológica de Puebla División de Mecatrónica


7
Producto III. Control de alarma de fuego con Arduino y visualización en HMI

End Class

En este código de Visual Basic se desarrolla la interfaz gráfica para el sistema de


control de seguridad contra incendios. Al cargar el formulario (`Form1_Load`), se
inicializan variables como `flameDetected` para controlar el estado de detección de
llama y `startTime` para almacenar la hora de inicio de detección de llama. Se ocultan
las `PictureBox` que representan el estado cuando no se detecta llama y se inicia un
`Timer` para actualizar la hora en tiempo real en el `Label3`.

Además, se configura y abre el puerto serial para la comunicación con el Arduino.


Cuando se recibe un mensaje a través del puerto serial (`SerialPort1_DataReceived`),
se verifica si el mensaje es "Flame Detected". En caso afirmativo, se muestran las
`PictureBox` correspondientes para indicar la detección de llama, se actualizan los
`Label` con mensajes indicando la detección de llama y la activación del ventilador, y
se envía un mensaje al Arduino para activar el ventilador. La hora de inicio de la
detección de llama se guarda en `startTime`.

Si el mensaje recibido no es "Flame Detected", se ocultan las `PictureBox`, se muestra


un mensaje indicando que no se detecta llama y se envía un mensaje al Arduino para
desactivar el ventilador.

4.1. Resultados

A continuación se muestra el funcionamiento de un sistema de detección de llama


utilizando un sensor infrarrojo y una interfaz gráfica de usuario (HMI). En el video, se
observa cómo al encender la llama, esta es detectada por el sensor infrarrojo, lo que
desencadena una serie de acciones.

Primero, se activa un mensaje en la HMI que indica que se ha detectado la llama. Esto
se logra mediante la comunicación entre el Arduino y la HMI a través de un protocolo
de comunicación USB. El Arduino envía una señal a la HMI cuando detecta la llama, lo
que hace que la HMI muestre el mensaje correspondiente.

Luego, cuando la llama se apaga, el sensor infrarrojo deja de detectarla y envía una
señal al Arduino. Este, a su vez, envía una señal a la HMI para indicar que la llama ha
sido apagada. La HMI actualiza el mensaje para indicar que no se detecta ninguna llama
en ese momento.

Universidad Tecnológica de Puebla División de Mecatrónica


8
Producto III. Control de alarma de fuego con Arduino y visualización en HMI

Esta práctica muestra cómo se puede utilizar un sensor infrarrojo junto con un Arduino
y una HMI para detectar y controlar la presencia de llama de manera efectiva. Este tipo
de sistema es útil en aplicaciones donde se requiere una detección rápida y precisa de
la llama, como en sistemas de seguridad contra incendios.
Evidencia:
https://drive.google.com/file/d/1bSkQoSoGiUxwkOrVP_HV80loHoFe3BBQ/view?usp=dri
vesdk

5. Conclusiones

En conclusión, la práctica ha logrado implementar de manera efectiva un sistema de


control de seguridad contra incendios utilizando un sensor infrarrojo, un Arduino y una
interfaz gráfica en Visual Basic. La detección de la llama por el sensor infrarrojo activa
correctamente los dispositivos de alerta y extinción de incendios, como el LED rojo, el
buzzer y el relé para activar un ventilador. La comunicación USB entre el Arduino y la
interfaz gráfica permite mostrar mensajes en tiempo real en la HMI, indicando la
detección y extinción de la llama. Este sistema demuestra un control eficaz y
automatizado para la seguridad contra incendios, mostrando la importancia de la
integración de hardware y software en aplicaciones industriales críticas.

6. Referencias

[1] Llamas, L. (2016, 2 junio). Detector de obstáculos con sensor infrarrojo y


Arduino. Luis Llamas.
https://www.luisllamas.es/detectar-obstaculos-con-sensor-infrarrojo-y-arduino/
[2] Cortés, A. (2023, 23 noviembre). Proyecto 14 – Módulo Sensor de llama. Acortes
Software. https://acortes.co/proyecto-14-modulo-sensor-de-llama/

Universidad Tecnológica de Puebla División de Mecatrónica


9

También podría gustarte