#include <LiquidCrystal.h>
LiquidCrystal lcd(PB12, PB13, PB14, PB15, PA8, PA9);
#define GAS_SENSOR PA0
#define BUZZER PA5
#define THRESHOLD 2500
void setup()
{
pinMode(GAS_SENSOR, INPUT_ANALOG);
pinMode(BUZZER, OUTPUT);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("SAFE FLAME");
lcd.setCursor(0, 1);
lcd.print("SYSTEM READY");
delay(2000);
lcd.clear();
}
void loop()
{
int gasValue = analogRead(GAS_SENSOR);
if (gasValue >= THRESHOLD)
{
lcd.setCursor(0, 0);
lcd.print("!!! WARNING !!!");
lcd.setCursor(0, 1);
lcd.print("GAS LEAK !!! ");
tone(BUZZER, 1000);
}
else
{
lcd.setCursor(0, 0);
lcd.print("GAS LEVEL: ");
lcd.setCursor(0, 1);
lcd.print("NORMAL ");
noTone(BUZZER);
}
delay(300);
}Loading
stm32-bluepill
stm32-bluepill