LM35 sıcaklık sensörü; -55 ile 150 °C aralığında ölçüm yapabilen analog bir sensördür. 4-30V aralığındaki besleme gerilimine karşın her 1°C sıcaklık artışında Vout çıkışından ölçülen gerilim 10mV artar.
Malzemeler
- 1 adet Arduino
- 1 adet LM35 sensör
Bağlantı şeması
LM35 sensörün voltaj giriş bacağı Arduino’ nun 5V çıkışına, GND bacağı Arduino’ nun GND çıkışına ve Vout bacağı da Arduino’ nun A3 numaralı analog I/O pinine bağlanmıştır.
Kaynak kod
int sicaklik; // Sıcaklık biriminin tutulması için kullanılacak değişkeni tanımla void setup() { pinMode(A3,INPUT); // LM35 bağlı olan A3 pinini giriş pini olarak ata Serial.begin(9600); // Bilgisayara veri aktarımını başlat } void loop() { int deger = analogRead(A3); // A3 pinindeki sensör değerini oku sicaklik = deger * 0.48828125; // A3 pininden okunan değeri Celcius cinsinden sıcaklık birimine dönüştür Serial.println(sicaklik); // Seri port ekranına sıcaklığı yazdır delay(1000); // Bir sonraki ölçüm için 1 saniye bekle }
Kod, her saniyede bir defa A3 pininden sensörün çıkışındaki Vout değerini okur ve 0,4882815 çarpanı ile çarparak Celcius derece olarak hesaplar. Bu çarpanın nasıl hesaplandığı ise oldukça basittir. Bilindiği üzere Arduino analog pini okuduğu 0 ile 5V arasındaki gerilimi 0 ile 1023 arasında bir değer aralığında haritalar. LM35 sensörün Vout çıkışından okunan her 10mV değişim, fiziksel dünyadaki 1°C değişimi göstermektedir. A3 pinindeki 0-5000mV arasındaki değişimi 0-1023 aralığına bölündüğünde; 5000/1024=4,882815 sonucu elde edilir. Ancak bu değişim her 10mV ta 1°C olduğu için bu çarpan 10′ a bölünerek 4,882815/10=0,4882815 çarpanı elde edilir. Böylece, analog pinden okunan 0-1023 aralığındaki değer 0,4882815 çarpanı ile çarpılırsa fiziksel ortamın Celcius cinsinden kaç derece olduğu hesaplanmış olur. Örneğin A3 pininden ölçülen değer 21 ise, ortamın sıcaklığı; 21×0,4882815=10,25°C olarak hesaplanır.
Program çalıştırıldığında seri port ekranında ortam sıcaklığı aşağıdaki şekilde her saniyede 1 defa gösterilecektir.