DS18B20 devresi için kod

ahmeturker

Üye
Katılım
31 Ocak 2021
Mesajlar
8
Puanları
1
Yaş
25
Herkese merhaba. bitirme için bir proje yaptım. özetlemek gerekirse ds18b20 sıcaklık sensörü ile suyun sıcaklığını ölçüp, buna bağlı olarak solenoid valf kontrolü yapmak istiyorum. fakat kodlama işini bir türlü çözemedim. aşağıda kurduğum devrenin şeması mevcut. ds18b20 sensörü 30 derece sıcaklık algıladığında valf açılacak. (yapmak istediğim kodlama bu şekilde). ekteki görsel başka bir projeye ait . orda nem ölçen bir sensör kullanılmış. ben onun yerine sıcaklık sensörü kullandım. görseldeki projenin kodlaması da eklerde mevcut. lütfen bu kodu kendi projeme uyarlamamda yardımcı olur musunuz?
not: röle, arduinonun 2. pininde, sensör A0 da
 

Ekli dosyalar

  • şema.png
    şema.png
    875.4 KB · Görüntüleme: 20
  • kod1.png
    kod1.png
    370.4 KB · Görüntüleme: 16
Arduino ile pek tecrübem yok, Atmel Studio ile register seviyesinde kodlasan daha iyi yardımcı olurdum ama yapman gereken çok ta zor bişey değil aslında.

Öncelikle DS18B20 dijital sensör olduğu için A0'a değil dijital bir pine bağlamalısın. DS18B20 OneWire ile haberleştiği için ilgili kütüphaneyi de indirip kullanmalısın.

Burada bir örnek var: http://arduinoturkiye.com/ds18b20-dijital-sicaklik-sensorunun-arduino-ile-kullanimi/
Tek sensör için olan örneği inceleyip uygulamayı deneyebilirsin.

Seri Port' ta doğru bir şekilde ölçüm sonuçlarını elde ettiğin zaman röleyi aç kapa yapmak için gerekli kodları da eklersin. O kısım daha basit.
 
kod konusunda hiç tecrübem olmadığı için epey zorlandım. ds18b20 konusunda 3-4 tane video izledim. bir kişi hariç diğerleri dijital pinlere bağlamış. hatamı düzelttim teşekkür ederim.
 
Herkese merhaba. bitirme için bir proje yaptım. özetlemek gerekirse ds18b20 sıcaklık sensörü ile suyun sıcaklığını ölçüp, buna bağlı olarak solenoid valf kontrolü yapmak istiyorum. fakat kodlama işini bir türlü çözemedim. aşağıda kurduğum devrenin şeması mevcut. ds18b20 sensörü 30 derece sıcaklık algıladığında valf açılacak. (yapmak istediğim kodlama bu şekilde). ekteki görsel başka bir projeye ait . orda nem ölçen bir sensör kullanılmış. ben onun yerine sıcaklık sensörü kullandım. görseldeki projenin kodlaması da eklerde mevcut. lütfen bu kodu kendi projeme uyarlamamda yardımcı olur musunuz?
not: röle, arduinonun 2. pininde, sensör A0 da
Hangi bölüm hocam
 
C++:
/*
Derlemeden önce library manager'dan dallastemperature yüklenmeli
*/
#include <OneWire.h>
#include <DallasTemperature.h>

#define SICAKLIK 30.0
#define YENILEME_SURESI 1000

const int role = 2;
const int sensor_pin = A0;

OneWire oneWire(sensor_pin);            //Temps sensing
DallasTemperature sensor(&oneWire);

void setup() {
  pinMode(role,OUTPUT);
}

void loop() {
  sensor.requestTemperatures();
  if(sensor.getTempCByIndex(0) >= SICAKLIK)
    digitalWrite(role,HIGH);
  else
    digitalWrite(role,LOW);
  delay(YENILEME_SURESI);   
}
 
C++:
/*
Derlemeden önce library manager'dan dallastemperature yüklenmeli
*/
#include <OneWire.h>
#include <DallasTemperature.h>

#define SICAKLIK 30.0
#define YENILEME_SURESI 1000

const int role = 2;
const int sensor_pin = A0;

OneWire oneWire(sensor_pin);            //Temps sensing
DallasTemperature sensor(&oneWire);

void setup() {
  pinMode(role,OUTPUT);
}

void loop() {
  sensor.requestTemperatures();
  if(sensor.getTempCByIndex(0) >= SICAKLIK)
    digitalWrite(role,HIGH);
  else
    digitalWrite(role,LOW);
  delay(YENILEME_SURESI); 
}
çok teşekkürler . hemen deniycem. peki sizce sensör A0 da mı kalsın yoksa dijital pinlerden birine mi takmam gerek ?
Hangi bölüm hocam
elektrik elektronik mühendisliği ama kodlama konusunda hiç başarılı olamadım :(
 
Kitaplığı incelemedim ama bit banging yani yazılım yoluyla haberleşeceği için herhangi bir pin olabilir. Analog olması dijital çalışamayacağı anlamına gelmiyor. Yerini değiştirmen gerekmiyor.
 
Kitaplığı incelemedim ama bit banging yani yazılım yoluyla haberleşeceği için herhangi bir pin olabilir. Analog olması dijital çalışamayacağı anlamına gelmiyor. Yerini değiştirmen gerekmiyor.
tekrardan teşekkürler hocam.
 
Ahmet kardeşim bu işte bir terslik var,on satırda biten arduino ile yapılmış bir projeyi bitirme projesi olarak kabul etmezler.Meslek lisesi vs olsa hadi neysede yaşından anladıgım kadarı ile bir üniversitenin bitirme projesi.
Eger bu projeyi kabul etmişlerse bile senin bu projeyi arduino ile degil herhangibir işlemci ile hazır kütüphane vs kullanmadan yapmanı bekliyorlardır.
 
Ahmet kardeşim bu işte bir terslik var,on satırda biten arduino ile yapılmış bir projeyi bitirme projesi olarak kabul etmezler.Meslek lisesi vs olsa hadi neysede yaşından anladıgım kadarı ile bir üniversitenin bitirme projesi.
Eger bu projeyi kabul etmişlerse bile senin bu projeyi arduino ile degil herhangibir işlemci ile hazır kütüphane vs kullanmadan yapmanı bekliyorlardır.
İnan çok daha kötülerini gördüm, hatta bu ödevlerle mezun olan bazı arkadaşlar çok yüksek makamlara geldiler şu an :) Kendi bitirme ödevim için kaynak ararken üni de yapılmış tüm ödevlerin listesine baktım içler acısıydı. %75 tamemen kopyala yapıştır, yenilenebilir kaynakların verimli kullanımı cart curt tarzında yalandan kağıt üzerinde ödevlerdi, geri kalanlar meslek lisesi seviyesindeydi aralarında çok nadir evet bu adam işini ciddiye alıyor diyebileceğim ödev vardı. Velhasıl kaynak bulamadım :) Tabi bu bahsettiğim yıl 2011 idi şimdiye kadar düzelmiştir diye umuyorum ama ülkemi biliyorsam daha da kötüye gitmiştir. Üni deki hocalardan birisine pwm için hızlı bir optokuplör biliyor musunuz dedim optokuplörü ilk defa duyduğunu söyledi. Bir diğer hoca basit transistör devrelerini anlatırken tıkandı ağladı çıktı sınıftan. Bunlar ülkemizi ileri götürecek araştırmaları yapması gereken aydın kesimimiz. Meslek liseleri hocaları üni dekilerden daha donanımlıymış gerçekten. Ellerini öpmek lazımmış vaktinden değerini bilememişiz.
 

Forum istatistikleri

Konular
128,160
Mesajlar
915,567
Kullanıcılar
449,919
Son üye
Serdar.59

Yeni konular

Geri
Üst