Su Isıtıcı & DS18b20 Sensörü

Suyun sıcaklığını istediğimiz sıcaklıkta tutmak için arduino unodan yardım aldım.Bu tarifimde bunu paylaşacağım. Ds18b20 ile suyun sıcaklığını ölçüp istediğimiz seviyeye kadar ısıtacağız. Su ısıtıcı ile suyun sıcaklığını arttırmak için arada röle kullanacağız. Röleyi aktif veya pasif yaparak ısıtıcıya 220v uygulayacağız.

10 K pot ile istediğimiz sıcaklık değerini analog olarak okuma yapıp gerçek sıcaklık ile karşılaştırma yaparak devreyi kontrol edeceğiz.


#include <OneWire.h> // OneWire kütüphane dosyası çağrıldı

#include <DallasTemperature.h> // DallasTemperature kütüphane dosyası çağrıldı

// kullanılacak arduino dijital pini seçiliyor ne oneWire adlı bir nesne oluşturuluyor

OneWire oneWire(3);
DallasTemperature DS18B20(&oneWire);

DeviceAddress DS18B20adres;


float santigrat, fahrenheit;
int ayar_pin =A0;
int ayar=0;
int ref=0;

#define mavi 5
#define yesil 6
#define kirmizi 7
#define role 4
#include <LiquidCrystal.h>

//            lcd(RS,  E, d4, d5, d6, d7)
LiquidCrystal lcd(13,   12,  11,  10,  9,  8);

void setup(void)

{

 // seri haberleşme başlatıldı

 Serial.begin(9600);
lcd.begin(16, 2);

  pinMode(mavi, OUTPUT);
  pinMode(yesil, OUTPUT);
  pinMode(kirmizi, OUTPUT);
  pinMode(role, OUTPUT);

digitalWrite(role, HIGH);
digitalWrite(mavi, HIGH);

 DS18B20.begin();

 DS18B20.getAddress(DS18B20adres, 0);
 DS18B20.setResolution(DS18B20adres, 12);

}

void loop(void)

{

  ayar = analogRead(ayar_pin);
  ref = map(abs(ayar), 0, 1024, 0, 100);

 DS18B20.requestTemperatures();
 santigrat = DS18B20.getTempC(DS18B20adres);

 fahrenheit = DS18B20.toFahrenheit(santigrat);

lcd.setCursor (0,0);
 lcd.print("SICAKLIK : ");
 lcd.print(santigrat);
 lcd.print("     ");
lcd.setCursor (0,1);
lcd.print("ISTENEN ISI :");
lcd.print(ref);
lcd.print("     ");

if(santigrat < -10)
{
  loop(); 
}

if (santigrat < ref )
{
  
digitalWrite(yesil, LOW);
digitalWrite(kirmizi, HIGH);
digitalWrite(role, LOW);
}

else 
{
  
digitalWrite(yesil, HIGH);
digitalWrite(kirmizi, LOW);
digitalWrite(role, HIGH);
}


 Serial.print(santigrat);

 Serial.print(" C -- ");

 Serial.print(fahrenheit);

 Serial.println(" F");
 delay(1000);

}

Sosyal Medyada Paylaş Facebook Twitter Google+

Etiketler: , , , ,
Eklenme Tarihi: 27 Ekim 2019

Konu hakkında yorumunuzu yazın

Su Isıtıcı & DS18b20 Sensörü (2 Yorum)

HOŞ GELDİNİZ

Youtube kanalıma Abone Olabilirsiniz.