Arduino Aynı Hatta 2 adet DS1820 Sıcaklık Sensörü İle Sıcaklık Okuma

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

Ş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.,

İ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);}
Şekil 3. Seri port ekranı

Yorum yapın