#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <SPI.h>
#include <Wire.h>
#define DHTPIN 2 // DHT22 sensörü için bağlantı pinini belirtin
#define DHTTYPE DHT22 // DHT tipini belirtin
#define GREEN_LED 7 // Yeşil LED pinini belirtin
#define RED_LED 8 // Kırmızı LED pinini belirtin
#define BLUE_LED 6 // Mavi LED pinini belirtin
#define MIN_TEMP 18 // Minimum sıcaklık limiti
#define MAX_TEMP 22 // Maksimum sıcaklık limiti
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); // LCD 16x2 I2C modülünün adresini ve satır sütun sayısını belirtin
void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
dht.begin();
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
}
void loop()
{
delay(2000);
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Sicaklik: ");
lcd.print(temperature);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Nem: ");
lcd.print(humidity);
lcd.print("%");
// Sıcaklık kontrolü
if (temperature < MIN_TEMP)
{
digitalWrite(GREEN_LED, LOW); // Yeşil LED'i kapat
digitalWrite(RED_LED, LOW); // Kırmızı LED'i kapat
digitalWrite(BLUE_LED, HIGH); // Mavi LED'i aç
}
else if (temperature >= MIN_TEMP && temperature <= MAX_TEMP)
{
digitalWrite(GREEN_LED, HIGH); // Yeşil LED'i aç
digitalWrite(RED_LED, LOW); // Kırmızı LED'i kapat
digitalWrite(BLUE_LED, LOW); // Mavi LED'i kapat
}
else
{
digitalWrite(GREEN_LED, LOW); // Yeşil LED'i kapat
digitalWrite(RED_LED, HIGH); // Kırmızı LED'i aç
digitalWrite(BLUE_LED, LOW); // Mavi LED'i kapat
}
}