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.
#include <OneWire.h>
OneWire ds(10); // DS1820'nin DQ bağlantısı 10. pine yapılıyor.
void setup(void) {
Serial.begin(9600);
getDeviceAddress();
}
void getDeviceAddress(void) {
byte i;
byte addr[8];
Serial.println("Getting the address...\n\r");
/* oluşturduğumuz OneWire nesnesi için bir arama başlat ve değerini yukarıda beyan ettiğimiz addr dizisine okuduk */
while(ds.search(addr)) {
Serial.print("The address is:\t");
// adres dizisindeki her bayt okunur
for( i = 0; i < 8; i++) {
Serial.print("0x");
if (addr[i] < 16) {
Serial.print('0');
}
// adres dizisindeki her bayt'ı HEX formatında yazdır
Serial.print(addr[i], HEX);
if (i < 7) {
Serial.print(", ");
}
}
// Okuduğumuz şeyin doğru olduğundan emin olmak için yapılan kontrol.
if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.print("CRC is not valid!\n");
return;
}
}
ds.reset_search();
return;
}
void loop(void) {
// do nothing
}
İ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