#include <OneWire.h>
#include <DallasTemperature.h>
// Pin configuration
const int DS18B20_PIN = 20; // Pin where the DS18B20 is connected
const int LED_RED_PIN = 9;
const int LED_GREEN_PIN = 4;
// Create a OneWire instance
OneWire oneWire(DS18B20_PIN);
// Pass the OneWire reference to DallasTemperature
DallasTemperature sensors(&oneWire);
// Test temperature variable (for simulation purposes)
float testTemperature = 25.0; // Initial test value
void setup() {
// Start serial communication
Serial.begin(115200);
Serial.println("System Initialized");
// Initialize the DS18B20 sensor
sensors.begin(); // Initialize DallasTemperature instance
pinMode(LED_GREEN_PIN, OUTPUT);
pinMode(LED_RED_PIN, OUTPUT);
}
void loop() {
// Simulate temperature reading for testing
float temperature = testTemperature; // Use the test temperature value
// Check the temperature and control LEDs accordingly
if (temperature > 25.0) { // Example threshold temperature (e.g., 25°C)
digitalWrite(LED_GREEN_PIN, LOW); // Turn off green LED
digitalWrite(LED_RED_PIN, HIGH); // Turn on red LED
Serial.print("High Temperature: ");
Serial.println(temperature);
} else {
digitalWrite(LED_GREEN_PIN, HIGH); // Turn on green LED
digitalWrite(LED_RED_PIN, LOW); // Turn off red LED
Serial.print("Normal Temperature: ");
Serial.println(temperature);
}
// Test different temperatures by modifying the testTemperature variable
testTemperature += 2.0; // Increment temperature for testing
if (testTemperature > 50.0) { // Reset test temperature if it exceeds a limit
testTemperature = 20.0;
}
delay(1000); // Wait for 1 second before the next loop iteration
}