Projecto de Alarme de Incêndio do Sensor de Chama Arduino

Projecto de Alarme de Incêndio do Sensor de Chama Arduino

Projecto de Alarme de Incêndio do Sensor de Chama Arduino O projecto consiste na construção de um sistema básico de alarme de incêndio utilizando um Arduino com interface para um módulo de sensor de chama (para detectar a presença de uma chama), um módulo de campainha activa (para produzir um som audível) e um módulo de LED de duas cores (para uma indicação visual). Em termos do funcionamento deste projecto, quando o sensor de chama detecta a presença de uma chama próxima, activa um sinal sonoro que emite um bip repetitivo e faz piscar o LED até deixar de ser detectada uma chama. Relativamente ao funcionamento de um sensor de chama, existem vários mecanismos que dependem do tipo de sensor de chama, incluindo sensores de chama ultravioleta (UV), infravermelhos (IR), ultravioleta/infravermelhos (UV/IR), infravermelhos multiespectro (MSIR) e imagem visual de chama. 

O sensor de chama específico utilizado neste Placa PCBA DIY é o tipo IR (HW-491), que é também o tipo mais comum de sensores de chama compatíveis com o Arduino. Essencialmente, os sensores IR funcionam detectando a radiação infravermelha que é emitida de forma muito distinta pelas chamas e quando o fotodíodo incorporado detecta essa gama específica de comprimentos de onda, envia um sinal digital (1) para a placa Arduino. Quando o microcontrolador Arduino recebe esse sinal ALTO do sensor de chama, este projecto está programado para activar o sinal sonoro activo, que emitirá um sinal sonoro a cada 150 ms, e o módulo de LED de 2 cores, que piscará uma cor vermelha a cada 150 ms para indicar a presença de uma chama. Na ausência de chama, o sinal sonoro não será emitido e o LED ficará verde. Um ponto importante a ter em conta é que se o seu sensor de chama estiver a detectar incorrectamente a presença de uma chama, pode ser necessário calibrar a sua sensibilidade rodando o potenciómetro incorporado no módulo.

Este projecto reflecte uma aplicação muito prática de um módulo sensor de chama como parte de um circuito de alarme de incêndio, que tem muitas aplicações domésticas e comerciais. & PCBA industrial utilizações. Muitas vezes, os alarmes de incêndio fabricados comercialmente podem basear-se numa tecnologia semelhante em termos de ter um sensor de chama como dispositivo de entrada que está ligado a um dispositivo de saída (altifalante, LEDs, sistemas de supressão de chamas, etc.) que, quando accionado, informa os consumidores da presença de uma chama. Assim, integrar um projecto como este numa placa de circuito impresso para ser colocado numa pequena caixa como um alarme de incêndio portátil que pode ser montado em várias superfícies de um edifício residencial é definitivamente uma ideia útil e viável. A compacidade deste circuito numa placa de ensaio pode ainda ser melhorada quando se concebe uma placa de circuito impresso personalizada para este projecto, utilizando componentes de montagem em superfície (SMT), em que este circuito pode assumir a forma de um produto autónomo. Actualmente, muitos produtos comerciais são montados (PCBA) utilizando Montagem SMT uma vez que permitem um formato muito mais pequeno e, consequentemente, uma maior densidade eléctrica numa placa PCBA. Estes são os componentes necessários para construir este projecto:

  • Arduino Nano (outras placas compatíveis com Arduino também funcionam)
  • Cabo USB (compatível com a placa Arduino)
  • Prancheta
  • Fios de ligação macho-macho (8)
  • Módulo do sensor de chama HW-491
  • Módulo de campainha activa HW-512
  • Módulo LED vermelho/verde de 2 cores HW-480 (cátodo comum)
  • Resistências de 220Ω (2)

Diagrama de cablagem do circuito do projecto de alarme de incêndio com sensor de chama

Dependendo da sua placa Arduino, pode ou não necessitar de uma placa de ensaio para a ligar. Neste exemplo, é utilizado um Arduino Nano, pelo que é necessária uma placa de ensaio, mas se estiver a utilizar um Arduino Uno, por exemplo, os fios de ligação em ponte podem ser ligados dos componentes na placa de ensaio directamente aos pinos da placa. 

Os componentes necessários para este projecto específico são muito semelhantes a alguns outros projectos, uma vez que os módulos constituem a maior parte do projecto. Relativamente à pinagem do módulo do sensor de chama, a maioria dos modelos tem uma configuração de 4 pinos com uma saída digital (DO) e um pino de saída analógica (AO). Para este projecto de bricolage, o pino de saída digital (DO) só será utilizado, uma vez que o principal objectivo do sensor é enviar um sinal ALTO ou BAIXO, dependendo da detecção ou não de uma chama. Se o seu sensor tiver uma configuração de 3 pinos, utilize o pino de saída/sinal padrão. Relativamente ao módulo LED utilizado, a razão pela qual duas resistências de 220Ω estão ligadas em série com as duas saídas deste módulo é para evitar que os LEDs se queimem quando se aplica uma tensão de alimentação de +5 volts. Se, em vez do módulo LED, for utilizado um LED normal, a resistência também é necessária para proteger o LED de um curto-circuito. Um diagrama de circuito da cablagem também é apresentado abaixo.

  • Módulo de Sensor de Chama HW-491: Ligar o pino de saída digital (DO)/sinal a D3 na placa Arduino, o pino positivo (+) a +5v e o pino GND (G) a GND.
  • Módulo LED vermelho/verde de 2 cores HW-480: Insira uma resistência de 220Ω na placa de ensaio em série com o pino de saída do sinal do LED vermelho (R) e insira outra resistência de 220Ω em série com o pino de saída do sinal do LED verde (G). Ligar o pino de saída da cor vermelha (R) a D5 e o pino de saída da cor verde (G) a D6. Ligue o pino negativo (-) do módulo LED ao GND do seu Arduino.
  • Módulo de campainha activa HW-512: Ligue o pino positivo (+) a D4 e o pino negativo (-) a GND no seu Arduino.

Programação do código do circuito de alarme de incêndio do sensor de chama

Detalhes do código

int sensorPin = 3;

int buzzerPin = 4;

int redPin = 5;

int greenPin = 6;

 

int chama;

 

nulo configuração()

{

 Em série.começar(9600);

 pinMode(sensorPin, INPUT);

 pinMode(buzzerPin, OUTPUT);

 pinMode(redPin, OUTPUT);

 pinMode(greenPin, OUTPUT);

}

 

 

nulo laço()

{

 chama = digitalLer(sensorPin);

 se (chama == 1)

 {

   Em série.println("Chama detectada.");

   digitalWrite(redPin, ALTO);

   digitalWrite(greenPin, LOW);

   digitalWrite(buzzerPin, ALTO);

   atraso(150);

   digitalWrite(redPin, LOW);

   digitalWrite(buzzerPin, LOW);

   atraso(150);

 }

 senão

 {

   Em série.println("Nenhuma chama detectada.");

   digitalWrite(redPin, LOW);

   digitalWrite(greenPin, ALTO);

   digitalWrite(buzzerPin, LOW);

 }

 atraso(500);

}

Explicação do código

  • Este código inclui muitos conceitos que foram apresentados em projectos anteriores, especialmente a utilização de declarações if-else, funções digitalWrite() (para definir o estado de vários módulos) e comandos do monitor série.
  • Para começar, o primeiro bloco de código define os pinos digitais a que cada módulo está ligado na placa Arduino. Uma vez que estão a ser utilizados quatro pinos digitais, a cada um deles é dado um nome específico que será utilizado mais tarde (por exemplo, sensorPin que representa o pino D3 ao qual está ligado o sensor de chama). É definido um número inteiro adicional (flame) que não está definido para um valor específico, mas que actuará como espaço reservado para qualquer sinal (0 ou 1) que esteja a ser recebido do sensor de chama. Por exemplo, se o sensor de chama detectar a presença de uma chama, o sensor enviará um sinal 1 ou HIGH para o Arduino e esta informação será armazenada na variável flame, que pode sempre mudar (por exemplo, se a chama já não estiver a ser detectada).
  • Passando para a secção de configuração de nulidades, a taxa de transmissão da comunicação em série é definida para 9600 para configurar os dados em série, que serão posteriormente impressos no monitor de série no IDE do Arduino para fins de depuração. De seguida, o sensor de chama é definido como um dispositivo de entrada digital (envia sinais digitais (1 ou 0) para o Arduino na presença/ausência de uma chama). Os pinos do módulo do sinal sonoro activo e do módulo do LED de 2 cores são então definidos como dispositivos de saída digital (a placa Arduino enviará sinais digitais (1 ou 0) para estes módulos).
  • Relativamente à secção do ciclo vazio, o número inteiro da chama que foi definido anteriormente é agora atribuído a qualquer valor de entrada digital que esteja a ser recebido do sensor de chama. Isto é feito utilizando a função digitalRead() que atribui a variável de chama ao sinal de entrada de sensorPin, que é o sensor de chama. 
  • Agora, é utilizada uma instrução if-else que colocará os módulos de saída (módulos de LED de 2 cores e campainha) num estado específico sempre que a instrução if for verdadeira. Neste caso, se a variável de chama for equivalente a 1 (ou seja, quando o sensor de chama detecta uma chama), o LED muda para a cor vermelha e a campainha liga-se (produz um ruído audível). Para que o LED pisque continuamente a vermelho e a campainha emita um sinal sonoro aquando da presença de uma chama, é adicionado um intervalo de 150 ms entre os estados digitais alternados do LED e da campainha através da função delay(). É também impressa uma mensagem curta no monitor de série para efeitos de depuração (por exemplo, calibração do sensor de chama).
  • No entanto, uma vez que se trata de uma declaração if-else, sempre que a declaração if não for verdadeira (ou seja, quando o sensor de chama não detecta qualquer chama), o LED muda para a cor verde e o sinal sonoro pára. Mais uma vez, é também enviada uma mensagem rápida para o monitor de série. Por fim, há um pequeno atraso de 500ms no final do ciclo.

Próximas etapas

Agora que Tecnologia FS Se o Arduino tiver concluído este projecto, pode facilmente integrar-se e constituir a base de um projecto muito maior, como um sistema de domótica, um alarme de incêndio portátil, uma unidade de supressão de incêndios, etc. Um princípio importante que foi abordado no código foi a comunicação entre dispositivos digitais de entrada e saída, utilizando o Arduino como microcontrolador para processar/transmitir os sinais. Neste caso, o sensor de chama foi o que enviou o sinal digital para o Arduino na presença/ausência de uma chama e, depois de processar o que fazer com essa informação, o Arduino enviou o seu próprio sinal digital para os dispositivos de saída (módulo LED de duas cores e módulo de campainha activa). Como mencionado no início deste projecto, para uma aplicação mais permanente, pode considerar a migração deste projecto para uma placa de circuito impresso, o que traz muitas vantagens em termos de formato pequeno, leveza e portabilidade. Embora a utilização de montagem de PCB de furo passante pode funcionar bem, o SMT PCBA reduzirá definitivamente o custo e a dimensão global do produto acabado.

Blogue de projectos de electrónica DIY