Índice:

Sistema de alerta de segurança contra incêndio Arduino LCD: 9 etapas
Sistema de alerta de segurança contra incêndio Arduino LCD: 9 etapas

Vídeo: Sistema de alerta de segurança contra incêndio Arduino LCD: 9 etapas

Vídeo: Sistema de alerta de segurança contra incêndio Arduino LCD: 9 etapas
Vídeo: Projeto Arduíno - Sistema de Alerta com sensor ultrassônico (TINKERCAD) 2024, Julho
Anonim
Sistema de alerta de segurança contra incêndio Arduino LCD
Sistema de alerta de segurança contra incêndio Arduino LCD
Sistema de alerta de segurança contra incêndio Arduino LCD
Sistema de alerta de segurança contra incêndio Arduino LCD
Sistema de alerta de segurança contra incêndio Arduino LCD
Sistema de alerta de segurança contra incêndio Arduino LCD

Este é um projeto realizado por estudantes que combina as funções de Tela LCD, Buzzer, Sensor de temperatura RGB e DHT.

A temperatura ambiente atual é exibida e atualizada na tela LCD.

A mensagem impressa na tela LCD informa ao usuário o nível de “perigo de incêndio”.

A tela escurece e pisca para alertar o usuário sobre o perigo.

A campainha fica mais alta e mais rápida para alertar o usuário sobre o perigo, dependendo do nível de risco atual.

O RGB muda para verde, amarelo, laranja e vermelho dependendo do nível de risco atual.

Pode ser colocado em um gabinete impresso em 3D para uma aparência mais profissional.

Isso resolve um problema do mundo real em que as pessoas não sabem quando há risco de incêndio até que seja tarde demais

Etapa 1: Reúna os materiais

Reúna materiais
Reúna materiais
Reúna materiais
Reúna materiais
Reúna materiais
Reúna materiais

Materiais usados neste projeto:

1x display LCD

1x sensor de temperatura DHT_11

1x RGB

1x Piezo Passive Buzzer 1.0v

2 tábuas de pão pequenas

3 resistências padrão

1x placa de ensaio de tamanho normal

1x Arduino UNO

Bluetack para travar os fios no lugar.

Uma variedade de fios com terminação diferente, tanto com terminação aberta quanto com terminação simples.

Um dispositivo para executar o código

Acesso a uma impressora 3D se desejar o revestimento externo e uma aparência mais polida

Etapa 2: Configurando as placas de ensaio

Configurando as placas de ensaio
Configurando as placas de ensaio
Configurando as placas de ensaio
Configurando as placas de ensaio

1. Conecte o fio laranja do pino identificado como "GND" na placa Arduino e conecte-o ao lado negativo (azul) da placa de ensaio. Deste ponto em diante, se precisarmos usar GND para qualquer dispositivo externo, vamos simplesmente colocá-los na mesma coluna que esta na placa de ensaio.

2. Conecte o fio vermelho do pino identificado como "5V" na placa Arduino e conecte-o ao lado positivo (vermelho) da placa de ensaio. A partir deste ponto, se precisarmos usar 5V para quaisquer dispositivos externos, vamos simplesmente colocá-los na mesma coluna que esta na placa de ensaio.

Etapa 3: Configurando a tela LCD

Configurando a tela LCD
Configurando a tela LCD
Configurando a tela LCD
Configurando a tela LCD
Configurando a tela LCD
Configurando a tela LCD

1. Vire a placa de forma que fique de cabeça para baixo com todos os pinos do lado esquerdo.

2. Conecte um fio 5 da parte superior esquerda na linha superior de pinos e conecte-o ao pino número 4 no Arduino UNO.

3. Conecte um fio 6 da parte superior esquerda na linha superior de pinos e conecte-o ao pino número 5 no Arduino UNO.

4. Conecte um fio 7 da parte superior esquerda na linha superior de pinos e conecte-o ao pino número 6 no Arduino UNO.

5. Conecte um fio 8 da parte superior esquerda na linha superior de pinos e conecte-o ao pino número 7 no Arduino UNO.

6. Conecte um fio 9 da parte superior esquerda na linha superior de pinos e conecte-o ao pino número 8 no Arduino UNO.

7. Conecte um fio 10 da parte superior esquerda na linha superior de pinos e conecte-o ao pino número 9 no Arduino UNO.

8. Conecte um fio 3 da parte inferior direita e conecte-o ao 5V Row na placa de ensaio

9. Conecte um fio 4 da parte inferior direita e conecte-o ao GND Row na placa de ensaio

VEJA AS IMAGENS COMO O DIAGRAMA DO CIRCUITO MOSTRA O LCD DIFERENTE

Etapa 4: Configurando o Piezo Buzzer

Configurando o Piezo Buzzer
Configurando o Piezo Buzzer
Configurando o Piezo Buzzer
Configurando o Piezo Buzzer
Configurando o Piezo Buzzer
Configurando o Piezo Buzzer
Configurando o Piezo Buzzer
Configurando o Piezo Buzzer

1. Conecte um fio do pino GND na campainha à coluna GND (azul) na placa de ensaio

2. Conecte um fio do pino VCC na campainha à coluna 5V (vermelha) na placa de ensaio

3. Conecte um fio do pino SIG na campainha ao pino numerado "10" na placa Arduino UNO

VEJA AS IMAGENS ACIMA, COMO O DIAGRAMA DO CIRCUITO MOSTRA O BUZZER DIFERENTE

Etapa 5: Configurando o Sensor de Temperatura DHT

Configurando o sensor de temperatura DHT
Configurando o sensor de temperatura DHT
Configurando o sensor de temperatura DHT
Configurando o sensor de temperatura DHT
Configurando o sensor de temperatura DHT
Configurando o sensor de temperatura DHT
Configurando o sensor de temperatura DHT
Configurando o sensor de temperatura DHT

1. Configure o sensor DHT na placa de ensaio como mostrado acima

2. Conecte o primeiro pino à esquerda do sensor DHT (identificado como VCC no diagrama de peças) à coluna de 5 V (vermelho) na placa de ensaio

3. Conecte o segundo pino à esquerda do sensor DHT (DADOS rotulados no diagrama de peças) à porta A0 no Arduino UNO

4. Conecte o primeiro pino à direita do sensor DHT (etiquetado como GND no diagrama de peças) à coluna GND (azul) na placa de ensaio

5. Assista a um tutorial e adicione a biblioteca dht.h encontrada no final do instrutível para o Arduino. (Isso é obrigatório)

Etapa 6: Configurando o RGB

Configurando o RGB
Configurando o RGB
Configurando o RGB
Configurando o RGB
Configurando o RGB
Configurando o RGB
Configurando o RGB
Configurando o RGB

1. Coloque o RGB em uma pequena placa de ensaio como mostrado acima, com ênfase na segunda perna da esquerda do RGB sendo um slot mais próximo do que os outros três

2. Coloque resistores padrão no primeiro, terceiro e quarto pinos. Deixando espaço para pelo menos mais um fio (conforme mostrado acima).

3. Conecte um fio de trás do resistor no pino esquerdo do RGB ao pino etiquetado 2 no Arduino UNO

4. Conecte um fio por trás do segundo periférico do pino esquerdo do RGB à coluna GND (azul) da placa de ensaio.

5. Conecte um fio atrás do resistor no segundo do pino direito do RGB ao pino rotulado 1 no Arduino UNO

6. Conecte um fio de trás do resistor no pino direito do RGB ao pino etiquetado 3 no Arduino UNO

Etapa 7: Caixa de impressão 3D opcional

Caixa de impressão 3D opcional
Caixa de impressão 3D opcional
Caixa de impressão 3D opcional
Caixa de impressão 3D opcional
Caixa de impressão 3D opcional
Caixa de impressão 3D opcional

1. Encontre um tutorial sobre como imprimir em 3D.

2. Imprima o desenho abaixo em anexo feito no Autodesk Fusion 360 (arquivo.stl)

3. Raspe o excesso de material 3D e alise a superfície

4. Consulte a imagem acima para obter orientação sobre onde colocar as peças do Arduino.

Etapa 8: o código e os arquivos

O Código e Arquivos
O Código e Arquivos

-A biblioteca DHT.h está anexada. (DESCOMPACTAR)

-O Código com comentários detalhados completos está em anexo, mas também está na próxima etapa.

-O arquivo.stl para a caixa 3D está anexado

-O diagrama do circuito é novamente anexado. Certifique-se de consultar as etapas reais para a tela LCD e a campainha piezoelétrica, pois diferentes componentes foram usados.

Etapa 9: Código Arduino

Código Arduino
Código Arduino
Código Arduino
Código Arduino

// LCD FIRE WARNING SYSTEM // Lê a entrada do pino de temperatura DHT e dependendo se está quente ou não, muda um rgb e alto-falante para indicar ao usuário se há perigo de incêndio. // Também exibe a temperatura na tela LCD.

// DHT SETUP

#include // Inclui a biblioteca DHT

#define dht_dpin A0 // Diz à placa que o pino DHT está na entrada analógica 0

dht DHT; // dht = DHT

// CONFIGURAÇÃO DE CRISTAL LÍQUIDO

#include // Inclui a biblioteca Liquid Crystal

LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // Encurte para LCD / diz ao Arduino quais portas o LCD ocupa

// DEFININDO RGB + BUZZER

# define redpin 1 // Define redpin de RGB na porta 1

# define greenpin 2 // Define greenpin de RGB na porta 2

# define bluepin 3 // Define bluepin de RGB na porta 3

# define buzzerpin 10 // Define buzzerpin na porta 10

// VARIÁVEL / S

int temp = analogRead (DHT.temperatura); // Estabelece "temp" inteiro, que é o valor do comando DHT.temperature

void setup () {

// SAÍDA ENTRADA

analogWrite (redpin, OUTPUT); // Declara / define redpin como saída

analogWrite (greenpin, OUTPUT); // Declara / define greenpin como saída

analogWrite (bluepin, OUTPUT); // Declara / define bluepin como saída

pinMode (buzzerpin, OUTPUT); // Declara / define buzzerpin como saída

// ECRÃ LCD

lcd.begin (16, 2); // Defina a tela LCD como 16 colunas e 2 linhas}

void loop () {

// CÓDIGO LCD SEM VARIABILIDADE

DHT.read11 (dht_dpin); // Leia a entrada de dht_dpin também (A0)

lcd.setCursor (0, 0); // Define o cursor para a coluna 0, linha 0

lcd.print ("É"); // Escreve "É" na tela LCD

lcd.print (temperatura DHT); // Imprime o valor DHT.temperature do pino DHT na coluna 0, linha 0

lcd.print (""); // Imprime um espaço após a temperatura

lcd.print ((char) 223); // imprime o sinal de grau após a temperatura

lcd.print ("C"); // Imprime um "c" após o sinal de graus para simbolizar Celsius

// LCD PISCANDO

lcd.setCursor (0, 1); // Define o cursor para a coluna 0, linha 1

lcd.noDisplay ();

lcd.print ("Sem perigo de incêndio"); // Imprime "Sem chance de fogo"

lcd.noDisplay (); // Desliga a tela LCD (parte do flash)

delay (1000); // Permanece desligado por 1 segundo

tela de LCD(); // Liga novamente o display LCD

delay (1000); // Permanece ligado por 1 segundo

// RGB + CÓDIGO BUZZER

analogWrite (redpin, 0); // Sem saída do pino vermelho

analogWrite (greenpin, 255); // 255 output from greenpin (torna RGB verde)

analogWrite (bluepin, 0); // Sem saída do pino azul

tom (campainha, 20, 20); // // Emite frequência de 20 hertz por 0,02 segundos da campainha

// SE A TEMPERATURA FOR 25-30

if ((int (DHT.temperatura)> = 25,00) && (int (DHT.temperatura) <= 30,00)) {

lcd.clear (); // Limpa a tela LCD

lcd.setCursor (0, 1); // Define o cursor para a coluna 0, linha 1

lcd.print ("Pequeno Alerta"); // Imprime "Pequeno Alerta" na Coluna 0, Linha 1

lcd.noDisplay (); // Desliga a tela LCD (parte do flash)

delay (1000); // Permanece desligado por 1 segundo

tela de LCD(); // Liga novamente o display LCD

delay (1000); // Permanece ligado por 1 segundo

analogWrite (redpin, 255); // 255 output from redpin (torna RGB amarelo)

analogWrite (greenpin, 255); // 255 output from greenpin (torna RGB amarelo)

analogWrite (bluepin, 0); // Sem saída do pino azul

tom (campainha, 200, 100); // Emite frequência de 200 hertz por 0,1 segundos da campainha

atraso (300); //.3 Segundo atraso

} // SE TEMP É 31-37 else if ((int (DHT.temperatura) = 37,00)) {

lcd.clear (); // Limpa a tela LCD

lcd.setCursor (0, 1); // Define o cursor para a coluna 0, linha 1

lcd.print ("Alerta médio"); // Imprime "Alerta médio" na coluna 0, linha 1

lcd.noDisplay (); // Desliga a tela LCD (parte do flash)

delay (500); // Permanece desligado por 0,5 segundo

tela de LCD(); // Liga novamente o display LCD

delay (500); // Permanece ligado por 0,5 segundo

analogWrite (redpin, 255); // 255 output from redpin (torna RGB laranja)

analogWrite (greenpin, 165); // 165 saída do greenpin (torna RGB laranja)

analogWrite (bluepin, 0); // Sem saída do bluepin

tom (campainha, 500, 900); // Emite frequência de 500 hertz por 0,9 segundos da campainha

atraso (300); //.3 Segundo atraso

} // SE A TEMP. FOR 38-100

else if ((int (DHT.temperatura) = 100,00)) {

lcd.clear (); // Limpa a tela LCD

lcd.setCursor (0, 1); // Define o cursor para a coluna 0, linha 1

lcd.print ("Ligar para 000"); // Imprime "Call 000" na Coluna 0, Linha 1

lcd.noDisplay (); // Desliga a tela LCD (parte do flash)

delay (250); // Permanece desligado por 0,25 segundo

tela de LCD(); // Liga novamente o display LCD

delay (250); // Permanece ligado por 0,25 segundo

analogWrite (redpin, 255); // 255 output from redpin (torna RGB vermelho)

analogWrite (greenpin, 0); // Sem saída do greenpin

analogWrite (bluepin, 0); // Sem saída do bluepin

tom (campainha, 1000, 900); // Emite frequência de 1000 hertz por 0,9 segundos da campainha

atraso (300); //.3 Segundo atraso

}}

Recomendado: