Arduino датчик газа

Очередная поделка на arduino:), на этот раз датчик газа. Вместо контроллера arduino uno а датчик MQ-2 и MQ-7.

2016-08-02-06-31-44 2016-08-28-15-19-57 2016-09-03-12-31-40 2016-09-03-12-31-58

Получилось не очень аккуратно…

#include <OneWire.h>

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define go 2
OneWire ds(10);
LiquidCrystal_I2C lcd(0x27,16,2); // Устанавливаем дисплей
int gaz;
int co2;
int zumer = 6;
void setup()
{
pinMode (zumer,OUTPUT);
pinMode(go, INPUT);
lcd.init();
}
void loop()
{
byte data[2];
ds.reset();
ds.write(0xCC);
ds.write(0x44);
delay(750);
ds.reset();
ds.write(0xCC);
ds.write(0xBE);
data[0] = ds.read();
data[1] = ds.read();
int Temp = (data[1]<< 8)+data[0];
Temp = Temp>>4;
// Устанавливаем датчик движения, на включение дисплея.
int goVal=digitalRead(go);
if(goVal==HIGH)
{lcd.backlight();
}
else
{
lcd.noBacklight();
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(«Temp.=»);
lcd.print (Temp);
lcd.setCursor(0, 1);
co2=analogRead(0);
lcd.print («CO2=»);
lcd.print (co2);
lcd.setCursor(8, 1);
gaz=analogRead(1);
lcd.print («GAZ=»);
lcd.print (gaz);
/*if ((gaz>170)||(co2>90))
{tone (zumer,1000);
}
else
{
noTone (zumer);
}*/
if (gaz>150)
{tone(zumer,1200);
}

else
{noTone(zumer);
}

}

Порог включение зуммера подбирал экспериментально. Изначально применении датчика движения и температуры планировалась по другому, но пока вот так.

Добавить комментарий