Arduino kartımıza bağladığımız NTC ile ortam sıcaklığını ölçeceğiz. Ölçülen sıcaklık belirlediğimiz sıcaklık değerinin üzerine çıkınca uyarı olarak bir LED yakacağız. Bu uygulamada kullanacağımız malzemelerimiz;
Arduino UNO
5 mm LED
220R veya 330R Direnç
10K Direnç
10K NTC Teorik bilgi sayfasını inceleyebilirsiniz
Jumper Kablolar (E-E)
Breadboard

Kodlarımız
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#include #define NTC_input A0 //Bağlantılar tanımlandı. #define led 8 float A = 1.009249522e-03, B = 2.378405444e-04, C = 2.019202697e-07; // Stein-Hart denkleminde bulunan sabit değerleri tanımladık. int NTC_deger; //NTC değerini integer cinsinden tanımladık. float Vout; // Vout değişkeni float NTC_direnc, NTC_direnc_ln, Sicaklik; // Stein-Hart denkleminde kullanılacak olan değişkenler void setup(){ Serial.begin(9600); } void loop() { NTC_deger = analogRead(NTC_input); //NTC değerini analog olarak okuyoruz. Vout = ( (NTC_deger * 5.0) / 1023.0 ); //Vout hesabı (Voltaj Bölücü Formülü) NTC_direnc = ( ( 5 * ( 10.0 / Vout ) ) - 10 ); //KiloOhm Cinsinden direnc değerinin hesabı NTC_direnc_ln = log(NTC_direnc); /* Stein-Hart Denklemi: */ Sicaklik = ( 1 / ( A + ( B * NTC_direnc_ln ) + ( C * NTC_direnc_ln * NTC_direnc_ln * NTC_direnc_ln ) ) ); //Sıcaklık değeri hesabı Sicaklik = Sicaklik - 273.15; //Sicaklik değerinin Celcius'a çevirimi Serial.print("Sicaklik (Celcius) = "); //Bulunan değerlerin Seri Monitöre yazdırılması Serial.print(Sicaklik); Serial.print("\t\t"); Serial.print(NTC_direnc); Serial.print("\n\n"); /*Sicaklik değeri 30 Derecenin üzerine çıkınca Arduino'ya bağlı olan LED yanacaktır.*/ if(Sicaklik > 30){ } else{ } delay(1000); } |