Sensor de aire contaminado con CO (monóxido). Código fuente para montaje Arduino UNO
Codigo fuente en leguaje C++
#include <LiquidCrystal_I2C.h>
//ESTE PROYECTO ES PARA DOS SENSORES SIMULTANEOS, A1 PARA MONOXIDO DE CARBONO y A2 PARA GAS NATURAL.
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int SENSOR1 = (A0);
int SENSOR2 = (A1);
void setup()
{
lcd.clear();
Serial.begin(9600);
pinMode(A0,INPUT);
pinMode(A1,INPUT);
pinMode(2,OUTPUT);//led verde
pinMode(3,OUTPUT);//Led rojo
pinMode(4,OUTPUT);//buzzer activo en pin 4
lcd.init();
//lcd.backlight();
lcd.clear();
lcd.print("Lolog 198-2023 ");
delay(1000);
lcd.print(SENSOR1-14);
delay(300);
lcd.print(SENSOR2-340);
delay(300);
lcd.clear();
}
void loop()
{
lcd.clear();
SENSOR1 = analogRead(A0);
//Serial.print(SENSOR1);
SENSOR2 = analogRead(A1);
//Serial.println(SENSOR2-340);
if(SENSOR1 >15||SENSOR2 >400)
{
digitalWrite(4,HIGH);
delay(100);
digitalWrite(3,HIGH);
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
delay(100);
digitalWrite(4,LOW);
delay(100);
Serial.print(" MO: ");
Serial.print(SENSOR1);
Serial.print(" GN: ");
Serial.println(SENSOR2);
digitalWrite(4,HIGH);
delay(200);
digitalWrite(4,LOW);
{
lcd.backlight();
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("MO=");
lcd.print(SENSOR1-14);
delay(300);
lcd.print(" GN=");
digitalWrite(4,HIGH);
delay(200);
digitalWrite(4,LOW);
lcd.print(SENSOR2-340);
lcd.print(" OJO");
delay(300);
lcd.setCursor(0,1);
lcd.print(" ALARMA DE GAS");
delay(500);
lcd.noBacklight();
}
}
//lcd.clear();
else
{
digitalWrite(3,LOW);
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
delay(100);
Serial.print("MO:");
Serial.print(SENSOR1);
Serial.print(" Sin problemas");
Serial.print(" ");
Serial.print("GN:");
Serial.print(SENSOR2);//
Serial.print(" Sin problemas");//
Serial.println(" ");
lcd.begin(16,2);//
lcd.setCursor(0,0);//columna 0 de la primera fila [x columna - y fila]
lcd.print("MO=");
lcd.print(SENSOR1-14);
lcd.print(" GN=");
lcd.print(SENSOR2-340);
lcd.print(" OK");
delay(2000);
lcd.clear();
lcd.setCursor(0,1);//
lcd.print("SIN PROBLEMAS");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SIN PROBLEMAS EN");
delay(500);
lcd.setCursor(0,1);
lcd.print("CASA");
delay(2000);
lcd.clear();
lcd.setCursor(0,1);//columna 0 de la primera fila [x columna - y fila]
lcd.print("A0 ");
lcd.print(SENSOR1);
lcd.print(" A1 ");
lcd.print(SENSOR2);
lcd.print(" VR");
delay(600);
lcd.clear();
}
}
