Arduino ile NTC Sıcaklık Ölçümü
Arduino ile NTC Sıcaklık Ölçümü
Amaç
Bu uygulamanın amacı, NTC (Negative Temperature Coefficient) termistör kullanarak ortam sıcaklığını Arduino UNO ile ölçmek ve sıcaklık belirlenen değerin üzerine çıktığında bir LED’i yakarak uyarı vermektir.
NTC Sensörü Nedir?
NTC (Negative Temperature Coefficient), sıcaklık arttıkça direnci azalan özel bir direnç çeşididir. Ortam sıcaklığındaki değişime bağlı olarak direnç değeri değiştiği için elektronik devrelerde sıcaklık sensörü olarak kullanılır.
NTC bir pasif sensördür; kendi başına sinyal üretmez, bir gerilim bölücü devresi içinde kullanılarak analog gerilim değişimi oluşturur.
Çalışma Prensibi
NTC termistörün çalışma mantığı oldukça basittir.
- Sıcaklık arttığında direnci azalır.
- Sıcaklık düştüğünde direnci artar.
Arduino’nun analog girişine bağlanan NTC, sabit bir direnç ile birlikte gerilim bölücü oluşturur. Arduino bu gerilimi analog olarak ölçer ve yazılım yardımıyla sıcaklık değerine dönüştürür.
Gerekli Malzemeler
| Malzeme | Adet |
|---|---|
| Arduino UNO | 1 |
| Breadboard | 1 |
| 10 kΩ NTC Termistör | 1 |
| 10 kΩ Direnç | 2 |
| LED | 1 |
| 220–330 Ω LED Direnci | 1 |
| Jumper Kablo | Yeterli kadar |
| USB Kablosu | 1 |
Devre Bağlantıları
NTC Devresi
NTC ile 10 kΩ direnç seri bağlanarak bir gerilim bölücü oluşturulur.
| Arduino | Bağlantı |
|---|---|
| 5V | NTC |
| A0 | NTC ve direnç birleşim noktası |
| GND | 10 kΩ direnç |
LED Bağlantısı
| Arduino | Eleman |
|---|---|
| D2 | LED (+) |
| GND | LED (-) (220–330 Ω direnç üzerinden) |
Devrenin Çalışması
- Arduino sürekli olarak A0 pininden analog veri okur.
- Analog değer NTC’nin direncine bağlı olarak değişir.
- Program, Steinhart-Hart denklemini kullanarak sıcaklığı hesaplar.
- Hesaplanan sıcaklık Seri Monitör ekranında gösterilir.
- Sıcaklık 30 °C’nin üzerine çıktığında LED yanar.
- Sıcaklık tekrar 30 °C’nin altına düştüğünde LED söner.
Arduino Programının Açıklaması
Programın başında;
#define led 2
ifadesi ile LED’in bağlı olduğu pin tanımlanmıştır.
setup() fonksiyonunda;
- Seri haberleşme 9600 baud hızında başlatılır.
- LED pini çıkış olarak ayarlanır.
Program içerisinde bulunan
double Termistor(int analogOkuma)
fonksiyonu;
- Analog değeri NTC direncine dönüştürür.
- Steinhart-Hart denklemini kullanarak sıcaklığı hesaplar.
- Kelvin cinsinden bulunan değeri Santigrat dereceye (°C) çevirir.
loop() fonksiyonunda ise;
- Analog giriş okunur.
- Sıcaklık hesaplanır.
- Seri Monitöre yazdırılır.
- Sıcaklık 30 °C’nin üzerindeyse LED yakılır.
- Değilse LED söndürülür.
- Ölçüm her 250 ms’de bir tekrarlanır.
Steinhart-Hart Denklemi
Programda sıcaklık hesaplaması aşağıdaki bağıntıya göre yapılmaktadır.T=A+Bln(R)+C(ln(R))31
Burada;
- T → Kelvin cinsinden sıcaklık
- R → NTC direnci
- A, B, C → Termistöre ait sabit katsayılardır.
Sonuç daha sonra;∘C=K−273.15
formülü ile Santigrat dereceye çevrilmektedir.
Seri Monitör Çıktısı
Örnek ölçüm değerleri:
24.8
25.0
25.1
25.3
25.6
26.0
28.4
30.2
31.0
30 °C’nin üzerine çıkıldığında LED yanacaktır.
NTC’nin Avantajları
- Düşük maliyetlidir.
- Küçük boyutludur.
- Hassas sıcaklık ölçümü yapabilir.
- Arduino ile kullanımı kolaydır.
- Düşük güç tüketir.
- Hızlı tepki verir.
Kullanım Alanları
- Dijital termometreler
- Klima sistemleri
- Kombiler
- Beyaz eşyalar
- Akü şarj cihazları
- Batarya sıcaklık kontrolü
- Bilgisayar fan kontrolü
- Endüstriyel otomasyon
- Elektronik kart koruma devreleri
- Sıcaklık kontrollü fan sistemleri
Olası Hatalar ve Çözümleri
| Sorun | Olası Neden | Çözüm |
|---|---|---|
| Sürekli aynı sıcaklık değeri okunuyor | NTC bağlantısı hatalı | Gerilim bölücü bağlantısını kontrol edin. |
| -273 °C veya çok yüksek değer gösteriyor | Analog giriş bağlantısı kopuk | A0 bağlantısını kontrol edin. |
| LED yanmıyor | LED ters bağlanmış veya direnç eksik | LED polaritesini ve direnci kontrol edin. |
| Ölçümler kararsız | Temassızlık veya elektriksel parazit | Bağlantıları sağlamlaştırın ve kısa kablo kullanın. |
| Gerçek sıcaklıktan sapma var | NTC katsayıları farklı | Kullanılan termistöre uygun Steinhart-Hart katsayılarını kullanın. |
Sonuç
Bu uygulamada Arduino UNO ve 10 kΩ NTC termistör kullanılarak ortam sıcaklığı başarıyla ölçülmüştür. NTC’nin sıcaklığa bağlı olarak değişen direnç değeri, gerilim bölücü devresi ve Steinhart-Hart denklemi yardımıyla sıcaklık bilgisine dönüştürülmüş, elde edilen değerler Seri Monitör üzerinden izlenmiştir. Programda belirlenen 30 °C eşik değeri aşıldığında LED’in yanması sağlanarak basit bir sıcaklık uyarı sistemi oluşturulmuştur. Bu uygulama sayesinde analog sensör kullanımı, sıcaklık ölçümü, Arduino programlama ve koşullu kontrol yapıları uygulamalı olarak öğrenilmektedir.