const int temperatureSensorPin = A0;
const int fanPin = 12;
const int greenLEDPin = 11;
const int redLEDPin = 10;
void setup() {
pinMode(temperatureSensorPin, INPUT);
pinMode(fanPin, OUTPUT);
pinMode(greenLEDPin, OUTPUT);
pinMode(redLEDPin, OUTPUT);
Serial.begin(9600);
digitalWrite(greenLEDPin, HIGH);
digitalWrite(redLEDPin, LOW);
analogWrite(fanPin, 0);
}
void loop() {
int temperature = analogRead(temperatureSensorPin);
float temperatureVoltage = (temperature / 1023.0) * 1.5;
float temperatureCelsius = temperatureVoltage * 100.0;
Serial.print("Temperature: ");
Serial.print(temperatureCelsius);
Serial.print("°C | Fan PWM: ");
if (temperatureCelsius > 100) {
Serial.println("100%");
analogWrite(fanPin, 255);
blinkRedLED();
} else if (temperatureCelsius <= 100 && temperatureCelsius > 30) {
Serial.println("50%");
analogWrite(fanPin, 128);
digitalWrite(redLEDPin, HIGH);
digitalWrite(greenLEDPin, LOW);
} else {
Serial.println("0%");
analogWrite(fanPin, 0);
digitalWrite(greenLEDPin, HIGH);
digitalWrite(redLEDPin, LOW);
}
delay(1000);
}
void blinkRedLED() {
for (int i = 0; i < 5; i++) {
digitalWrite(redLEDPin, HIGH);
delay(500);
digitalWrite(redLEDPin, LOW);
delay(500);
}
}