Amaç: 2 adet DS1820 sıcaklık sensörü ile okunan sıcaklık değerlerinin karşılaştırılması
Materyal: DS1820 sıcaklık sensörü, Erkek-Erkek Jumper Kablo, Arduino Uno R3, Usb Kablo, Breadboard
Deneyin Yapılışı: İlk olarak devre elamanlarının bağlantısı yapılır (Şekil 1).
Bağlantı aşaması bittikten sonra sıra kod yazma ve yazılan kodun usb kablo vasıtasıyla Arduino’ya aktarılmasına gelir. Bunun için ilk olarak Arduino programı açılır ve Kart ve Port tanımlaması yapılır. Daha sonra kod girilir. Yükle komutu ile karta yüklenir.,
İlk Ds1820 Sensörün Adresi: 0x10, 0x17, 0xC5, 0x03, 0x03, 0x08, 0x00, 0xCF
İkinci Ds1820 Sensörün Adresi: 0x10, 0x2A, 0xDD, 0x03, 0x03, 0x08, 0x00, 0x2A
#define Veri_Ayagi 10
#include <DallasTemperature.h>
#include <OneWire.h>
OneWire TekHat(Veri_Ayagi);
DallasTemperature sensorler(&TekHat);
DeviceAddress Sensor_1 = { 0x10, 0x17, 0xC5, 0x03, 0x03, 0x08, 0x00, 0xCF };
DeviceAddress Sensor_2 = { 0x10, 0x2A, 0xDD, 0x03, 0x03, 0x08, 0x00, 0x2A };
void setup (void)
{
Serial.begin(9600);
sensorler.begin();
sensorler.setResolution(Sensor_1, 12);
sensorler.setResolution(Sensor_2, 10);
}
void SicakligiYazdir(DeviceAddress cihazAdresi)
{
float tempC = sensorler.getTempC(cihazAdresi);
if (tempC == -127.00) {
Serial.println("Okumada Hata...");
} else {Serial.print("C: "); Serial.print(tempC);
Serial.print(" F: ");
Serial.println(DallasTemperature::toFahrenheit(tempC));}}
void loop(void){
Serial.println("Sicaklik okunuyor...\n");
sensorler.requestTemperatures();
Serial.print("Ilk Sensor Sicakligi: ");SicakligiYazdir(Sensor_1);
Serial.print("Ikinci Sensor Sicakligi: ");SicakligiYazdir(Sensor_2);
Serial.print("\n"); delay(2000);}