Arduino ile birlikte kullanılan stabil sıcaklık değerleri ölçebilen LM35 ve D18b20 sıcaklık sensörleri bulunmaktadır.
LM35 teknik özelliklerine baktığımızda; -55 ile 150 santigrat derece arasındaki sıcaklıkları ölçebilmektedir. 4-30Volt ile besleme ile çalışabilmektedir. Oda sıcaklığında 0,5 derecelik sapmalar görülebilmektedir.
//Görsel İşitsel Teknoloji Kanalı
//wwww.teknikerler.com
//Kerim Arı Youtube kanalı LM35 - kullanımı örnek Kodları
int lm35 = A0;
int lm35deger;
float isi_voltaj = 0;
float sicaklik = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
lm35deger = analogRead(lm35);
Serial.print("lm35degeri :");
Serial.print(lm35deger);
Serial.print( "\t" );
isi_voltaj = (lm35deger / 1023.0)*5000;
sicaklik = isi_voltaj / 10.0;
Serial.print("Sıcaklık :");
Serial.println(sicaklik);
delay(1000);
}
Ds18b20 dijital ısı sensörü olarak çalışmaktadır. Ds18b20 kılıf yapısı olarak transistörlere benzemektedir. TO92 diye geçen kılıf yapısında üretilmişlerdir. Ds18b20 arduinoya dijital inputtan bağlanmaktadır. Dijital olarak alınan veriler kütüphaneler sayesinde Santigrat, fahrenayt ve Kelvin ısı birimlerine dönüştürülerek değerleri okunabilmektedir.
Ds18b20 teknik özelliklerine baktığımızda; -55 ile 125 santigrat derece arasındaki sıcaklıkları ölçebilmektedir. 3-5,5Volt ile besleme ile çalışabilmektedir. -10 ile 85 santigrat derecede +-0,5 derecelik sapmalar görülebilmektedir.
//Görsel İşitsel Teknoloji Kanalı
//wwww.teknikerler.com
//Kerim Arı Youtube kanalı D18b20 - kullanımı örnek Kodları
#include <OneWire.h>
#include <DallasTemperature.h>
// Data wire is plugged into pin 2 on the Arduino
#define ONE_WIRE_BUS 2
// Setup a oneWire instance to communicate with any OneWire devices
// (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
void setup(void)
{
// start serial port
Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");
// Start up the library
sensors.begin();
}
void loop(void)
{
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
Serial.print(" Requesting temperatures...");
sensors.requestTemperatures(); // Send the command to get temperatures
Serial.println("DONE");
Serial.print("Temperature is: ");
Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"?
// You can have more than one IC on the same bus.
// 0 refers to the first IC on the wire
delay(1000);
}