Escolar Documentos
Profissional Documentos
Cultura Documentos
Este sensor possui 4 pinos: 1 para 5 volts (VCC), 1 para ground (GND), 1 para
DO (Digital Output) e 1 para AO (Analogic Output). Há um potenciômetro no qual
você pode ajustar a sensibilidade do sensor. Há também dois LED's: um indica o
funcionamento do sensor e o outro a captação do gás.
Análise do circuito
A base do programa é o MQ-2 (sensor de gás) que precisa ser alimentado por uma
voltagem de 5 volts. O sensor possui uma carcaça de proteção, pois aquece uma
substância sensível aos gases inflamáveis e, por isso, evita inflamá-los. A presença de
oxigênio no ar impede que a substância se torne condutível. Com a presença de gases,
reduz a proporção de oxigênio no sensor, permitindo a condução. Isso eleva o pino DO
para HIGH e aumenta o valor de tolerância para AO (de acordo com o potenciômetro
presente nele). Mas, vamos utilizar somente a saída DO.
A fonte desse programa é https://blogmasterwalkershop.com.br/arduino/como-
usar-com-arduino-sensor-detector-de-gas-inflamavel-fumaca-mq-2
Análise do programa
const int pinoLed = 12; //PINO DIGITAL UTILIZADO PELO LED
const int pinoSensor = 3; //PINO DIGITAL UTILIZADO PELO SENSOR
void setup(){
pinMode(pinoSensor, INPUT); //DEFINE O PINO COMO ENTRADA
pinMode(pinoLed, OUTPUT); //DEFINE O PINO COMO SAÍDA
digitalWrite(pinoLed, LOW); //LED INICIA DESLIGADO
}
void loop(){
if(digitalRead(pinoSensor) == LOW){
//SE A LEITURA DO PINO FOR IGUAL A LOW, FAZ
digitalWrite(pinoLed, HIGH); //ACENDE O LED
}else{ //SENÃO, FAZ
digitalWrite(pinoLed, LOW); //APAGA O LED
}
}
Variáveis
const int pinoLed = 12; //PINO DIGITAL UTILIZADO PELO LED
const int pinoSensor = 3; //PINO DIGITAL UTILIZADO PELO SENSOR
SETUP
void setup(){
pinMode(pinoSensor, INPUT); //DEFINE O PINO COMO ENTRADA
pinMode(pinoLed, OUTPUT); //DEFINE O PINO COMO SAÍDA
digitalWrite(pinoLed, LOW); //LED INICIA DESLIGADO
}
Neste setup, definimos o pino 3 para o sensor, onde o arduino avaliará
a presença de energia. O pino 12 será usado para fornecer energia ao
LED (OUPUT). O autor desse programa já colocou o pino 12, do LED,
desligado, mas, não havia essa necessidade, por causa das instruções
constantes do LOOP.
LOOP
void loop(){
if(digitalRead(pinoSensor) == LOW){
//SE A LEITURA DO PINO FOR IGUAL A LOW, FAZ
digitalWrite(pinoLed, HIGH); //ACENDE O LED
}else{ //SENÃO, FAZ
digitalWrite(pinoLed, LOW); //APAGA O LED
}
}