DS18B20 SICAKLIK SENSÖRÜ
DS18B20 sıcaklık sensörü modülü, üzerinde yüksek hassasiyetli sıcaklık sensörü bulunduran modüldür. DS18B20 sıcaklık sensörü, OneWire haberleşme protokolünü kullanmaktadır. Dijital çıkışlıdır.
Nerede Kullanılır?
Arduino ile robotik kodlama projelerinde sıcaklık ölçüm projelerinde kolaylıkla kullanabilirsiniz. LM35 sıcaklık sensörüne göre çok daha hassas ölçüm sağlamakla birlikte dijital çıkışlıdır. Endüstriyel projelerde dahi kullanılabilecek sıcaklık sensörüdür.
Çalışma Voltajı | 3V- 5V DC |
Haberleşme | One-Wire |
Sıcaklık Ölçüm Aralığı | -55°C – +125°C |
En | 32.45mm |
Boy | 74.87mm |
Vida Delik Çapı | 3.2mm |
Bu projede DS18B20 sıcaklık sensörü ile ortam sıcaklığı ölçülerek okunan değere göre de kartın dijital 13 pinine bağlı olan led yanacaktır. Okunan sıcaklık değeri 30 dereceden büyükse led yanacak, 30 dereceden küçükse led sönecektir. Bu projede DS18B20 sıcaklık sensörü ile Arduino Uno Breadboard kullanılmıştır.
Bu projede DS18B20 sıcaklık sensörü modülü;
DS18B20 Sıcaklık Sensörü | Arduino Uno Breadboard |
DATA | D2 |
- | GND |
+ | 5V |
Örnek Proje Arduino Kodu
/* ALPGEN Robotics */// DS18B20 Sıcaklık Sensörü Modülü Kullanımı// 08.05.2021 // Soru ve Yardım İçin: proje@alpgenrobotics.com// www.alpgenrobotics.com //#include<OneWire.h> // OneWire kütüphanesini tanımlandı#include<DallasTemperature.h> // DallasTemperature kütüphanesi tanımlandı#defineONE_WIRE_BUS2 // Haberleşme kablosu Dijital 2 pinine bağlıOneWireoneWire(ONE_WIRE_BUS); // Herhangi bir OneWire cihazıyla iletişim kurabilmesi için DallasTemperaturesensors(&oneWire);// sensors adlı değişkenin onewire hattında olduğu tanımlandıintled=13;// Durum ledi dijital 13'e tanımlandıvoidsetup()// Başlangıç Ayarlamaları{
Serial.begin(9600); // Seri haberleşmeye hızı 9600 Baudrate ayarlandı
sensors.begin(); // sensors adlı değişkenin veri okuması aktif edildi}voidloop()// Sürekli Tekrar Edecek Olan Döngü {
sensors.requestTemperatures(); // requestTemperatures fonksiyonu ile veriler çekildi
Serial.print("Sıcaklık : "); // Seri monitöre "Sıcaklık: " yazdırıldı
Serial.println(sensors.getTempCByIndex(0));// çekilen verilerden sıcaklık değeri ekrana yazdırıldı
if(sensors.getTempCByIndex(0)>30)// eğer sıcaklık 32'den büyükse
{
digitalWrite(led,HIGH); // durum ledi yansın
}
else // değilse
{
digitalWrite(led,LOW); // durum ledi sönsün
}
delay(100);// 100ms gecikme süresi}