Descrição
O Raspberry Pi permite-nos criar uma infinidade de projetos graças aos vários sensores e periféricos que podemos acrescentar, os limites vivem na nossa imaginação. Neste artigo, quero-lhe mostrar como eu montei um detetor de fumo e gases tóxicos com Raspberry Pi.
Os Componentes
Para eu montar este projecto, usei uma Raspberry Pi modelo B (Rev 2) com Raspbian e o sensor de fumo e gases tóxicos MQ-135 que comprei em Electrofun. Este modelo em concreto é bastante versátil porque, de acordo com o que refere na sua descrição, pode detetar fumo e também sulfuretos, benzeno, álcool e gases voláteis como o gás butano e o metano.

As especificações do sensor são:
Alimentação: 5V
Sensibilidade: Regulável desde 100ppm
Saídas: TTL y Analógica
Led vermelho de Power
Led verde de trigger (ativa-se ao detectar vapores ou fumo)
Neste projecto, vou usar a saída analógica do sensor para enviar um sinal ao Raspberry Pi quando detectar uma concentração de fumo “suspeita” e um “buzzer” para que me avise mediante um sinal acústico (apito). O buzzer que eu usei neste projecto comprei também no Electrofun. Mais concretamente, este buzzer é o modelo YL-44 e é compatível com Arduino e Raspberry. Alimenta-se com 3.3V e dispõe de uma entrada de sinal I/O para ativar ou parar o apito.
Este é o buzzer:

Montagem dos componentes
Agora que conhecemos os componentes vamos ver o esquema de montagem do proecto. Como pode ver, nesta imagem, eu liguei o sensor MQ-135 à saída de 5V do Raspberry e a um pin GND para alimentá-lo e coloquei outro cabo na saída analógica e liguei-o ao pin GPIO nº4, neste porto vamos receber um sinal se o sensor detectar algum gás de escape.
Por outro lado, liguei o buzzer YL-44 à saída de 3.3V do Raspberry Pi e a um pin GND para alimentá-lo e também coloquei um cabo no pin do buzzer marcado como I/O ligado ao pin nº7 do Raspberry, do pin GPIO emitiremos um sinal que vai activar ou parar o buzzer.
Com isto, já temos o projecto montado, vê como é fácil? Agora, para que tudo isto funcione, vamos criar um pequeno script em Python que receba sinais do sensor e emita um som do buzzer ao ser activado.
Scripting com Python
Mostro aqui o código do nosso script:
import RPi.GPIO as GPIO #Importamos a libraria GPIO import time #Usaremos timer.sleep por isso temos que importar time GPIO.setmode(GPIO.BCM) #Ajustamos a placa em modo BCM GPIO.setup(4, GPIO.IN) #Indicamos que o pin 4 será de entrada GPIO.setup(7, GPIO.OUT)#Indicamos que o pin 7 será de saída GPIO.output(7,True) #Indicamos que o pin 7 esta LOW (sem sinal) try: while True: if GPIO.input(4): #Se detectamos que eo sensor activou-se devido s presença de vapores print "HUMO DETECTADO" #Sacamos pelo ecrã HUMO DETECTADO GPIO.output(7, False) #Enviamos o sinal de activação ao buzzer pin 7 HIGH time.sleep(5) #O sinal (pitido) dura 5 segundos GPIO.output(7,True) #Desligamos o sinal colocando o pin 7 em LOW e o buzzer cala-se. # Continuamos à espera de outro sinal do sensor MQ-135 except KeyboardInterrupt: print "O usuario forçou a detenção do script" GPIO.cleanup() #Com keyboardinterrupt detectamos se o utilizador pressiona CONTROL + C e se sim #desligamos o script e "limpamos" os pinos GPIO com GPIO.cleanup()
Para iniciar este script em Python, só precisa de escrever uma janela de terminal:
sudo python humo.py
Automatização
Devemos iniciar o script manualmente da consola cada vez que arranque o nosso Raspberry por isso vamos automatizar todo o processo. Abrimos uma janela de terminal e escrevemos:
sudo vi /etc/rc.local
Uma vez aberto, escrevemos “sudo python humo.py” antes de “exit 0”, o que será isto:
sudo python humo.py exit 0
A próxima vez que arranque o Raspberry, o script vai-se iniciar automaticamente.
Gostaram deste artigo ? Deixem o vosso comentário no formulário a baixo.
Não se esqueçam de fazer like na nossa página no facebook.
Todos os produtos utilizados neste artigo podem ser encontrados na loja de componentes eletrónicos ElectroFun.