Programação

Segue abaixo o Código que utilizamos para fazer o nosso projeto funcionar:




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