#define BUZZER_PIN D8
const float TEMP_THRESHOLD = 35.0;
const float HUM_THRESHOLD = 70.0;
const int GAS_THRESHOLD = 400;
float temp = 0, hum = 0;
int gas = 0;
void setup() {
Serial.begin(115200);
pinMode(BUZZER_PIN, OUTPUT);
digitalWrite(BUZZER_PIN, LOW);
Serial.println("STM32 + Manual Input Alarm System");
Serial.println("---------------------------------");
Serial.println("Enter values as: temp humidity gas");
Serial.println("Example: 30 50 200");
}
void loop() {
if (Serial.available() > 0) {
temp = Serial.parseFloat(); // Read temperature
hum = Serial.parseFloat(); // Read humidity
gas = Serial.parseInt(); // Read gas value
// Clear input buffer (optional safety)
while (Serial.available()) Serial.read();
if (temp == 0 && hum == 0 && gas == 0) {
Serial.println("Invalid input! Example: 30 50 200");
delay(1000);
return;
}
Serial.print("Temperature: ");
Serial.print(temp);
Serial.print(" °C | Humidity: ");
Serial.print(hum);
Serial.print(" % | Gas: ");
Serial.print(gas);
Serial.print(" ppm");
if (temp > TEMP_THRESHOLD || hum > HUM_THRESHOLD || gas > GAS_THRESHOLD) {
Serial.println(" --> ALERT!");
digitalWrite(BUZZER_PIN, HIGH);
} else {
Serial.println(" --> Normal");
digitalWrite(BUZZER_PIN, LOW);
}
delay(1000);
}
}