#include <stdio.h>
#include <stdbool.h>
#include <unistd.h>
#include "driver/gpio.h"
#define LED_PIN 22 // Output LED pin
#define PIEZO_PIN 23 // Piezo speaker pin
#define COOLER_PIN 21 // Air cooler pin
#define TEMPERATURE_SENSOR_PIN 4
#define CURRENT_SENSOR_PIN 5
void setup() {
pinMode(TEMPERATURE_SENSOR_PIN, INPUT);
pinMode(CURRENT_SENSOR_PIN,INPUT);
pinMode(LED_PIN,OUTPUT);
pinMode(PIEZO_PIN,OUTPUT);
pinMode(COOLER_PIN,OUTPUT);
printf("System Temperature & Current Flow\n");
}
void loop() {
while (true) {
int temp = digitalRead(TEMPERATURE_SENSOR_PIN);
int current = digitalRead(CURRENT_SENSOR_PIN);
printf("Temperature:%d\n",temp);
printf("Current:%d\n",current);
if (temp >= 600) {
Serial.println("FAILURE\n");
digitalWrite(LED_PIN, HIGH);
digitalWrite(PIEZO_PIN, HIGH);
usleep(2000000); // Delay for 2 seconds
while (temp > 590) {
temp = digitalRead(TEMPERATURE_SENSOR_PIN);
current = digitalRead(CURRENT_SENSOR_PIN);
printf("Temperature: %d\n", temp);
printf("Current: %d\n", current);
usleep(1000000);
Serial.println("COOLING\n");
digitalWrite(PIEZO_PIN,LOW);
digitalWrite(COOLER_PIN, HIGH);
}
}
else {
Serial.println("OK\n");
digitalWrite(LED_PIN, LOW);
digitalWrite(PIEZO_PIN, LOW);
digitalWrite(COOLER_PIN, LOW);
}
usleep(1000000); // Delay for 1 second
}
}
int main() {
setup();
loop();
return 0;
}