int LedVerm = 8;
int LedVerd = 9;
int Buzz = 10;
int pinD0 = 7;
int pinA2 = A2;
int NivelSensor = 250;
void setup(){
pinMode(pinD0, INPUT);
pinMode(pinA2, INPUT);
pinMode(LedVerm, OUTPUT);
pinMode(LedVerd, OUTPUT);
pinMode(Buzz, OUTPUT);
Serial.begin(9600);
}
void loop(){
int ValorDigital = digitalRead(pinD0);
int ValorAnalogico = analogRead(pinA2);
Serial.print("Pino D0 : ");
Serial.print(ValorDigital);
Serial.print(" Pino A2 : ");
Serial.println(ValorAnalogico);
if (ValorAnalogico > NivelSensor){
digitalWrite(LedVerm, HIGH);
digitalWrite(LedVerd, LOW);
tone(Buzz, 1000);
}
else
{
digitalWrite(LedVerm, LOW);
digitalWrite(LedVerd, HIGH);
noTone(Buzz);
}
delay(100);
}
Explicação das etapas da programação:
Definições dos pinos dos Leds e Buzzer (Linhas 1, 2 e 3)
Definições dos pinos ligados ao sensor (Linhas 4, 5, 6 e 7)
Define os pinos de leitura do sensor como entrada (Linhas 8 e 9)
Define pinos Leds e Buzzer como saída (Linhas 10, 11 e 12)
Inicializa a serial (Linhas 13 e 14)
Lê os dados do pino digital D0 do sensor (Linha 15)
Lê os dados do pino analógico A2 ao sensor (Linha 16)
Mostra os dados no serial monitor (Linhas 17, 18, 19 e 20)
Verifica o nível de gás/fumaça detectado (Linha 21)
Liga o Buzzer e o Led vermelho, e desliga o Led Verde (Linhas 22, 23, 24 e 25)
Desliga o Buzzer e o Led vermelho, e liga o Led Verde (Linhas 26, 27, 28 e 29)
OBS: Depois de atualizarmos nosso projeto colocando um
Visor LCD,tivemos que mudar o código e ele ficou mais ou
menos assim:
#include <LiquidCrystal.h>
int LedVerm = 8;
int LedVerd = 9;
int Buzz = 10;
int pinD0 = 7;
int pinA2 = A2;
int NivelSensor = 250;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup(){
pinMode(pinD0, INPUT);
pinMode(pinA2, INPUT);
pinMode(LedVerm, OUTPUT);
pinMode(LedVerd, OUTPUT);
pinMode(Buzz, OUTPUT);
lcd.begin(16, 2);
Serial.begin(9600);
}
void loop(){
int ValorDigital = digitalRead(pinD0);
int ValorAnalogico = analogRead(pinA2);
Serial.print("Pino D0 : ");
Serial.print(ValorDigital);
Serial.print(" Pino A2 : ");
Serial.println(ValorAnalogico);
if (ValorAnalogico > NivelSensor){
digitalWrite(LedVerm, HIGH);
digitalWrite(LedVerd, LOW);
tone(Buzz, 1000);
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("GAS");
lcd.setCursor(3, 1);
lcd.print("DETECTADO");
}
else{
digitalWrite(LedVerm, LOW);
digitalWrite(LedVerd, HIGH);
noTone(Buzz);
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("GAS");
lcd.setCursor(1, 1);
lcd.print("NAO DETECTADO");
}
delay(100);
}
Nenhum comentário:
Postar um comentário