#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
#define POTENTIOMETER_PIN A0
#define BUZZER_PIN 9
#define LED_PIN 13
const float lowTempThreshold = 90.0;
const int lowFoodThreshold = 500;
float temperature;
int foodLevel;
void setup() {
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
sensors.begin();
Serial.begin(9600);
}
void loop() {
temperature = 95.0;
foodLevel = analogRead(POTENTIOMETER_PIN);
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Food Level: ");
Serial.println(foodLevel);
if (temperature < lowTempThreshold && foodLevel < lowFoodThreshold) {
Serial.println("Alert: Low Temperature and Low Food Level!");
dualAlert();
} else if (temperature < lowTempThreshold) {
Serial.println("Alert: Low Temperature!");
temperatureAlert();
} else if (foodLevel < lowFoodThreshold) {
Serial.println("Alert: Low Food Level!");
foodAlert();
} else {
digitalWrite(LED_PIN, HIGH);
noTone(BUZZER_PIN);
}
delay(1000);
}
void dualAlert() {
for (int i = 0; i < 5; i++) {
tone(BUZZER_PIN, 1000);
delay(600);
noTone(BUZZER_PIN);
delay(600);
}
}
void temperatureAlert() {
for (int i = 0; i < 3; i++) {
tone(BUZZER_PIN, 500);
delay(800);
noTone(BUZZER_PIN);
delay(800);
}
}
void foodAlert() {
for (int i = 0; i < 4; i++) {
tone(BUZZER_PIN, 800);
delay(500);
noTone(BUZZER_PIN);
delay(500);
}
}