int Buzzer = 12; //Variável para o pino do Buzzer. int LED_Fogo = 10; //Variável para o LED de aviso Amarelo. int LED_Fumo = 11; //Variável para o LED de aviso Vermelho. int Sensor_Fogo = A6; //Variável para o pino do sensor de fogo. int Sensor_Fumo = A7; //Variável para o pino do sensor de fumo. int Valor_Sensor_Fogo = 0; //Variável para a leitura do sensor de fogo. int Valor_Sensor_Fumo = 0; //Variável para a leitura do sensor de fumo. int Valor_Alerta_Fogo = 800; //Variável para ajuste alarme de fogo. int Valor_Alerta_Fumo = 450; //Variável para ajuste de alarme de fumo. //Correr a função SETUP apenas uma vez após ser pressionado Reset: void setup() { //Iniciar a Communication Serial a 9600b/s: Serial.begin(9600); //Definição do tipo de pino (Saída ou Entrada): pinMode(Buzzer, OUTPUT); pinMode(LED_Fogo, OUTPUT); pinMode(LED_Fumo, OUTPUT); } //Correr a função LOOP repetidamente: void loop() { //Leitura do Sensor de Fogo: Valor_Sensor_Fogo = analogRead(Sensor_Fogo); //Escreve no Monitor Serial o valor da variável: Serial.println("Sensor de Fogo: "); Serial.println(Valor_Sensor_Fogo); //Se o valor da variável do Sensor de Fogo for maior que o valor da variável Alerta Fogo: if (Valor_Sensor_Fogo < Valor_Alerta_Fogo){ //Liga o LED (LOW é nível baixo): digitalWrite(LED_Fogo, LOW); delay(2000); } else { //Desliga o LED (HIGH é nível alto): digitalWrite(LED_Fogo, HIGH); } //Leitura do Sensor de Fumo: Valor_Sensor_Fumo = analogRead(Sensor_Fumo); //Escreve no Monitor Serial o valor da variável: Serial.println("Sensor de Fumo: "); Serial.println(Valor_Sensor_Fumo); //Se o valor da variável do Sensor de Fumo for maior que o valor da variável Alerta Fumo: if (Valor_Sensor_Fumo < Valor_Alerta_Fumo){ //Liga o LED (LOW é nível baixo): digitalWrite(LED_Fumo, LOW); delay(2000); } else { //Desliga o LED (HIGH é nível alto): digitalWrite(LED_Fumo, HIGH); } //Se a leitura dos Sensores Fogo e Fumo forem maiores que o valor das variáveis de Alerta: if (Valor_Sensor_Fogo > Valor_Alerta_Fogo & Valor_Sensor_Fumo > Valor_Alerta_Fumo){ //Liga o Buzzer (LOW é nível baixo): digitalWrite(Buzzer, LOW); } else { //Desliga o Buzzer (LOW é nível baixo): digitalWrite(Buzzer, HIGH); } delay(1000); }