Arduino DS1820 Sıcaklık Sensörü Adres Okuma

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).

Şekil 1. Devre Şeması
Şekil 2. Deney Düzeneği

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
}
Şekil 4. Seri port ekranı

İ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

Yorum yapın