Selamlar, bu yazımda ısı sensörü uygulamasını anlatacağım..

Senaryo şu: Isı arttıkça yanan led sayısı da yanacak.



..


İlk olarak devre şemamızı çizelim ki akımın geçtiği yolları bilelim.






***


Benim yaptığım:








Benim yaptığımın kodları:


********* **************** *************** ***************

int baselineTemp = 0;
int celsius = 0;

void setup()
{
  pinMode(A0, INPUT);
  Serial.begin(9600);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
}

void loop()
{
  // ledleri etkinleştirmek için min sıcaklık
  baselineTemp = 20;
  // sıcaklığı santigrad cinsinden ölçmek için
  celsius = map(((analogRead(A0) - 20) * 3.04), 0, 1023, -40, 125);
  Serial.print(celsius);
  Serial.print(" C, ");
  if (celsius < baselineTemp) {
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
  }
  if (celsius >= baselineTemp && celsius < baselineTemp + 10) {
    digitalWrite(2, HIGH);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
  }
  if (celsius >= baselineTemp + 10 && celsius < baselineTemp + 30) {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, LOW);
  }
  if (celsius >= baselineTemp + 30 && celsius < baselineTemp + 50) {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
  }
  if (celsius >= baselineTemp + 50) {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
  }
  delay(1000); // 1 sn bekletir
}





************* **************** ************** ****************


Not: Kodların orijinalinde fahrenaytla hiçbir işlem yapmamasına rağmen fahrenaytı da vermiş. Ben bu kısımları tamamen sildim. Çünkü programın çalışmasında hiçbir yerde fahrenayt fonksiyonlarına gerek olmuyordu. (Neden koydular acaba :-/ )



***


Devrenin orijinali: 

(Ben kendi devremi birazcık değiştirdim.)






Kodların orijinali ise şu:


***********   ***********    ***********    *********** 

// C++ code

//

int baselineTemp = 0;


int celsius = 0;


int fahrenheit = 0;


void setup()

{

  pinMode(A0, INPUT);

  Serial.begin(9600);

  pinMode(2, OUTPUT);

  pinMode(3, OUTPUT);

  pinMode(4, OUTPUT);

}


void loop()

{

  // set threshold temperature to activate LEDs

  baselineTemp = 40;

  // measure temperature in Celsius

  celsius = map(((analogRead(A0) - 20) * 3.04), 0, 1023, -40, 125);

  // convert to Fahrenheit

  fahrenheit = ((celsius * 9) / 5 + 32);

  Serial.print(celsius);

  Serial.print(" C, ");

  Serial.print(fahrenheit);

  Serial.println(" F");

  if (celsius < baselineTemp) {

    digitalWrite(2, LOW);

    digitalWrite(3, LOW);

    digitalWrite(4, LOW);

  }

  if (celsius >= baselineTemp && celsius < baselineTemp + 10) {

    digitalWrite(2, HIGH);

    digitalWrite(3, LOW);

    digitalWrite(4, LOW);

  }

  if (celsius >= baselineTemp + 10 && celsius < baselineTemp + 20) {

    digitalWrite(2, HIGH);

    digitalWrite(3, HIGH);

    digitalWrite(4, LOW);

  }

  if (celsius >= baselineTemp + 20 && celsius < baselineTemp + 30) {

    digitalWrite(2, HIGH);

    digitalWrite(3, HIGH);

    digitalWrite(4, HIGH);

  }

  if (celsius >= baselineTemp + 30) {

    digitalWrite(2, HIGH);

    digitalWrite(3, HIGH);

    digitalWrite(4, HIGH);

  }

  delay(1000); // Wait for 1000 millisecond(s)

}


***********   ***********    ***********    *********** 





Bu Devre Günlük Hayatta 

Ne İşimize Yarayacak?



Sıcaklık Sensörü (Analog Giriş) Açıklaması:


Bu projede Arduino’yu bir termometreye dönüştüreceksin! Bir sıcaklık sensörü kullanarak cilt sıcaklığını ölç ve çıktıyı üç LED ile göster. Arduino dijital bir araç olmasına rağmen, sıcaklık sensörü gibi analog bir girişten gelen sinyalleri, analog pinler üzerinden erişilen dahili Analog-Dijital Dönüştürücü (ADC) sayesinde yorumlayabilir.

Çalışma düzlemindeki örnek devreyi keşfetmek için simülasyonu başlat, sensöre tıkla, ardından sıcaklık kaydırıcısını sürükleyerek giriş değerini değiştir ve LED’lerde oluşan desenleri gözlemle.

Bu derste, örneğin yanında bu simüle devreyi kendin kuracaksın. Fiziksel devreyi de kurmak istersen bir Arduino Uno kartı, USB kablosu, lehimsiz breadboard, üç LED, üç adet aynı değerde direnç (100–1K arası herhangi bir değer, tercihen 220 ohm), bir TMP36 sıcaklık sensörü ve bağlantı kablolarını hazırla.


Önemi: Sıcaklık sensörü – Arduino – LED üçlemesi ilk bakışta basit bir elektronik devre gibi görünür. Ancak IoT mantığıyla düşündüğümüzde, bu devre aslında akıllı sistemlerin temelini oluşturan bir mimarinin prototipidir.



Veri işleme Süreçleri:

TMP36 sensörü → veri üretiyor (Giriş)

Arduino veriyi sayısal olarak işliyor

LED’ler → çıktı veriyor (eyleyici gibi davranıyor) (devreyi harekete geçiriyor. Çıktı üretiyor)




🌐 1. Senin Devren: IoT’ye Dönüşmeye En Uygun Çekirdek

Devren şu an şu fonksiyonları yapıyor:

  • TMP36 sensörü analog sıcaklık verisi sağlıyor

  • Arduino bu veriyi işleyip üç LED üzerinden durum analizi sunuyor

  • Kodun modüler, eşik değerleri esnek, mantık yapısı IoT için hazır

Bu devre IoT’nin edge device dediğimiz uç birimidir.

Tek eksik:
↳ İnternet bağlantısı + veri gönderecek bir protokol + bulut tarafı + dashboard

Bir ESP8266/ESP32 eklediğimiz anda sistem bir anda “akıllı cihaz” olur.



🌩️ 2. Bu Devre İnternete Bağlansaydı Ne Olurdu?

Aşağıda gerçekçi ve pedagojik + hayal gücü kombinasyonu IoT senaryoları var.



🌱 Senaryo 1: Akıllı Sera – Mikro İklim Kontrol Sistemi

Bu devre sıcaklığa göre LED yakıyor.
IoT’ye bağlansa:

  • Sıcaklık anlık olarak telefondan izlenir

  • Sıcaklık yükselirse otomatik havalandırma fanı çalışır

  • Kritik seviyede bildirim gider:
    “Sera ısı eşiğini aştı, bitki tipine uygun iklim bozuluyor!”

  • Günlük/haftalık sıcaklık grafikleri çıkartılır

  • Farklı seralardaki değerler karşılaştırılır

Gereken küçük eklemeler:
ESP32 + röle + mini fan → tam bir tarım IoT sistemi.



🧪 Senaryo 2: Laboratuvar Sıcaklık İzleme (Özellikle Okullar İçin)

Sen bir eğitimcisin, bunu çok seveceksin.

Kimya veya biyoloji laboratuvarlarında sıcaklık kritik olabilir.

Devre internete bağlı olduğunda:

  • Laboratuvarın sıcaklığı sürekli buluta gönderilir

  • Belirlediğin eşikler aşılırsa okul yönetimine SMS / e-posta uyarısı gider

  • Admin paneli üzerinden tüm geçmiş sıcaklık kayıtları görüntülenir

Bu sistem birçok okulda yok, senin devre prototip olabilir.



🏠 Senaryo 3: Ev Ortamı – Yaşlı / Bebek Takip Sistemi

Biraz duygu katalım sosyalii…

Bu sistem evde şu amaçla kullanılabilir:

  • Bebek odası aşırı ısınırsa telefon uyarı verir

  • Yaşlı bir bireyin odasında sıcaklık çok düşerse ısıtıcı otomatik açılır

  • Günlük sıcaklık profilinden “odada yaşam belirtisi var mı?” bile anlaşılır

Hatta:

Evdeki sıcaklık desenlerinden “evde kim var, hareket var mı” gibi IoT çıkarımları bile yapılabilir.

 


🏭 Senaryo 4: Fabrikalarda Makine Aşırı Isınma İzleme

Sanayi IoT’de ısı kritik bir göstergedir.

Senin devrenin IoT versiyonu:

  • Motor, kompresör, rulman, fırın gibi ekipmanlara yerleştirilebilir

  • Sıcaklık belirli bir eşiği aşarsa makine otomatik durur

  • Arıza gerçekleşmeden önce erken uyarı sistemi olur

  • Cloud üzerinden IoT analitik ile “makine sağlık raporu” çıkar

Buna predictive maintenance (öngörülü bakım) denir.

Senin devren bunun çekirdeğidir.



📚 Senaryo 5: Okul Binaları İçin Enerji Verimliliği Projesi

Ekotema, sürdürülebilirlik, okul yönetimi ile iş birliği…

Devre internetli olduğunda:

  • Okulun her sınıfına yerleştirilebilir

  • Sıcaklık haritası çıkarılır

  • Bazı sınıflar gereksiz ısınıyor mu?

  • Pencereler açık bırakılmış mı?

  • Klima/kalorifer kontrolü ne kadar verimli?

Bu IoT projesi MEB’e proje yarışmalarında bile gider.



🚑 Senaryo 6: Sağlık Alanı – Taşınabilir Termal Takip

TMP36 vücut sıcaklığına yakın değerler üretebildiği için:

  • Ateş ölçer benzeri IoT bileklik

  • Yaşlı bakım evleri için “ateş takibi sistemi”

  • Hastanelerde COVID benzeri senaryolarda temassız odalararası izleme

Tabii burada tıbbi doğruluk sınırlıdır ama prototip olarak mükemmel.



🧊 Senaryo 7: Soğuk Zincir İzleme (Market – Eczane – Nakliye)

Gerçek bir IoT çözümü:

  • Soğuk dolapların sıcaklığını sürekli takip eder

  • Bozulabilir gıdalarda kritik eşiği aşınca bildirim gönderir

  • Aşı taşımada sıcaklık kaydı tutulur

  • TIR veya kargo kutusunda veri buluta aktarılır

Bu tarz sistemler Türkiye’de yaygın ama hâlâ geliştirilebilir.



🛰️ Senaryo 8 (Hayal-Realite Harmanı): Belediyeye Bağlı Akıllı Sokak Istı Kontrolü

Biraz sosyalii tarzı fantastik gerçekçilik katalım:

  • Sokaklara gömülü küçük IoT modüller olur

  • Şehir sıcaklık haritası anlık izlenir

  • Buzlanma riski olan bölgeler otomatik tespit edilir

  • Belediye ekiplerine rota oluşturulur

  • Karla mücadele ve tuzlama işlemleri optimize edilir

İstanbul, Ankara gibi büyükşehirlerde uygulanabilir.





***




VERİLERİ GÖRSELLEŞTİRME:


🖥️ Isı Sensörü IoT Dashboard Tasarımı (Örnek Arayüz)

Dashboard = kontrol paneli.

Bu panel, devrenden gelen sıcaklık verilerini anlamlı bir şekilde gösterir.


🎨DURUM GÖSTERGELERİ

  • Sade ve okunabilir arayüz

  • Canlı güncellenen (real-time) grafik

  • Mobil uyumlu görünüm

  • Öğretmen–öğrenci ve endüstri kullanımına uygun

  •          🟢 Normal

  •         🟡 Orta Seviye

  •         🔴 Kritik Seviye

A) ANLIK SICAKLIK KARTI

Ekranın sol üstünde büyük bir kutu:

“Şu anki sıcaklık: 28.7°C”

  • Büyük font

  • Fon rengi durumuna göre değişir:

    • 0–29°C → Açık yeşil

    • 30–39°C → Sarı

    • 40°C ve üzeri → Kırmızı

  • Altta küçük bilgi:

    • Sensör: TMP36

    • Son güncelleme: 1 saniye önce

Bu kart devrenin LED’lerle verdiği bilgiyi görsel olarak yansıtır.


B) CANLI GRAFİK (Real-Time Line Chart)

Ekranın orta kısmında, Firebase’den gelen sıcaklık değerlerini gösteren bir zaman-serisi grafik:

  • X ekseni: Saat – dakika – saniye

  • Y ekseni: Sıcaklık

  • 60 saniyelik kayıyor grafik (real-time chart)

  • Düşüş/çıkış anında canlı hareketli çizgi

Grafiğin alt özellikleri:

  • Minimum – maksimum – ortalama sıcaklık

  • Günlük trend analizi

  • “En yüksek sıcaklık 14:32’de 41.8°C olarak ölçüldü.” gibi notlar






Alternatif Dashboard Yapıları:

Tablolar

Sütun Grafiği

Pasta Grafiği

Çizgi Grafiği

Matrisler

Kontrol Tabloları

Checkboxlar 

Tick - Cross

Form Ögeleri




...

Konu ile ilgili Ödevler:

        Bu devrenin algoritmasını oluşturun.

        Siz de uygun UI/UX tasarım ilkeleriyle bir dashboard hazırlayın.