Pazartesi , 16 Mayıs 2022

NTC Arduino Kullanımı


Arduino İle NTC Kullanımı

Değerli arkadaşlar NTC ortam sıcaklığını ölçmek için kullandığımız çok küçük bir dirençtir. Çok küçük bir yapısı vardır. NTC ismi bir kısaltma olup açılımı (Negative Temperature Coefficient)

Termistörler, sıcaklıktaki küçük değişikliklerle orantılı olarak dirençte büyük değişiklikler göstermek için sinterlenmiş yarı iletken malzemeden yapılmış sıcaklık algılayıcı elemanlardır. NTC elektronik devrelerde kullanılan bir termistör çeşididir. Kelime anlamı sıcaklıkla direnci azalan termistör demektir. Normal bir dirençten farkı devrelerde pasif sensör olarak görev yapmalarıdır. Temas ettiği nesnenin ya da bulunduğu ortamın sıcaklığı arttıkça NTC’nin direnci azalır. Yani NTC’lerde ısıyla direnç ters orantılı çalışır. NTC sensörleri tipik olarak -55 ila +200 °C aralığında kullanılır. 0.1C’a kadar duyarlılıkları vardır.

Negatif Sıcaklık Katsayısı(NTC), direnç azaldıkça sıcaklığın arttığını ve bunun tersini tanımlar. Pozitif Sıcaklık Katsayısı (PTC) termistörleri de mevcuttur ve tersine sıcaklık arttıkça direnç de artar.

NTC dirençler arduinoya bağladığımızda direk olarak sıcaklığı ölçmek imkansızdır bazı matematiksel işlemler yapmak gerekmektedir.

Bu işlemleri bir fonksiyon olarak kullanmak en doğrusudur.


double sicaklikhesapla(int gdeger)
{
double fonicisicaklik=log(((10240000/gdeger)-10000));
fonicisicaklik=1/(0.001129148+(0.000234125+(0.0000000876741*fonicisicaklik*fonicisicaklik))*fonicisicaklik);
//üstteki iki satır bize sıcaklığı kelvin cinsinden verecektir
fonicisicaklik=fonicisicaklik-273.15;
return fonicisicaklik;
}


Yukarıdaki fonksiyon kendisine gelen değeri bazı matematiksel işlemlerden geçirdikten sonra çağrıldığı yere Santigrat cinsinden değer döndürür.

Devre Seneryosu:

Bu devrede NTC den okunan değere göre aşağıdaki gibi ledlerin yanması sağlanacaktır.

  • SICAKLIK 18 DERECEDEN KÜÇÜK VE EŞİT İSE MAVİ LED YANACAK
  • SICAKLIK 18 DERECE İLE 32 ARASINDA İSE SARI LED YANACAK
  • SICAKLIK 32 DERECEDEN BÜYÜK İSE KIRMIZI LED YANACAK

Tinkercad Devre Şeması

Devre Kodları

#include <math.h>
#define kirmizi 4
#define sari 3
#define mavi 2

void setup()
{
pinMode(A0, INPUT);
Serial.begin(9600);

pinMode(kirmizi, OUTPUT);
pinMode(mavi, OUTPUT);
pinMode(sari, OUTPUT);
}
double sicaklikhesapla(int gdeger)
{
double fonicisicaklik=log(((10240000/gdeger)-10000));
fonicisicaklik=1/(0.001129148+(0.000234125+(0.0000000876741*fonicisicaklik*fonicisicaklik))*fonicisicaklik);
//üstteki iki satır bize sıcaklığı kelvin cinsinden verecektir
fonicisicaklik=fonicisicaklik-273.15;
return fonicisicaklik;
}

void loop()
{
int okunansicaklik=analogRead(A0);

double sicaklik=sicaklikhesapla(okunansicaklik);
Serial.println(sicaklik);
//SICAKLIK 18 DERECEDEN KÜÇÜK VE EŞİT İSE MAVİ LED YANSIN
if(sicaklik<=18)
{
digitalWrite(mavi, HIGH);
digitalWrite(kirmizi,LOW);
digitalWrite(sari,LOW);
}
//SICAKLIK 18 DERECE İLE 32 ARASINDA İSE SARI LED YANSIN
if(sicaklik>18 and sicaklik<32)
{
digitalWrite(mavi, LOW);
digitalWrite(kirmizi,LOW);
digitalWrite(sari,HIGH);
}
//SICAKLIK 32 DEN BÜYÜK İSE KIRMIZI LED YANSIN
if(sicaklik>32)
{
digitalWrite(mavi, LOW);
digitalWrite(kirmizi,HIGH);
digitalWrite(sari,LOW);
}
delay(1000);
}

Bu Konuda İlginizi Çekebilir

NTC-16×2 LCD Termometre Projesi

NTC-16×2 LCD Termometre Projesi Devre Şeması Gerçek Devre Devre Kodları #include <LiquidCrystal.h> int sicaklikPin=A0; LiquidCrystal …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.