#include <LiquidCrystal.h>
// LCD ekran bağlantı pinleri
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// RGB LED bağlantı pinleri
const int R = 7;
const int G = 9;
const int B = 8;
// Fonksiyon prototipleri
void updateLEDColor(float temperature);
void setup()
{
lcd.begin(20, 4); // LCD ekranı başlat
pinMode(R, OUTPUT); // RGB LED pinlerini çıkış olarak ayarla
pinMode(G, OUTPUT);
pinMode(B, OUTPUT);
lcd.print("SICAKLIK"); // LCD ekrana "SICAKLIK" yaz
}
void loop()
{
int read = analogRead(A0); // A0 pininden analog okuma yap
float voltage = read * 5.0 / 1024.0; // Gerilim değerini hesapla
float c = (voltage - 0.5) * 100; // Celsius sıcaklığı hesapla
lcd.setCursor(0, 1); // LCD ekrana yazı yazma konumu ayarla
lcd.print("Sicaklik: ");
lcd.print(c, 1); // Sıcaklığı ekrana yaz (bir ondalıklı)
lcd.print(" C"); // Birim olarak "C" ekle
updateLEDColor(c); // RGB LED rengini güncelle
delay(500); // 500 ms gecikme
}
void updateLEDColor(float temperature) {
// Renkleri sıfırla
analogWrite(R, 0);
analogWrite(G, 0);
analogWrite(B, 0);
// Sıcaklığa göre LED rengini ayarla
if (temperature <= 0) {
analogWrite(R, 255); // Kırmızı
}
else if (temperature < 50) {
analogWrite(G, 255); // Yeşil
}
else {
analogWrite(B, 255); // Mavi
}
}