Arduino ile DS18B20 Sıcaklık Modülü Kullanımı
Bu sensörleri Arduino'nuzdan çok daha büyük bir mesafede, Arduino'nuzdan neredeyse 100 metre uzakta bulabilirsiniz. Bu sensörü tek başına kullanacaksanız 5 K ohm yukarı çekme direnci kullanmanız gerekecek ancak modülümüzde kullanmanıza gerek yok. İçerisinde pull up direnci bulunmaktadır. 12 bit çözünürlüğe sahiptir. Düşük güç boşta durumda güç alır. Sıcaklığı ölçmek ve A'dan D'ye dönüştürme yapmak için , ana makineden T [44h] dönüştür komutunu almalıdır. Dönüştürmeden sonra, veriler 2 baytlık sıcaklık kaydında saklanacak ve sensör boşta durumuna dönecektir.
DS18B20 Sıcaklık Modülünün pin çıkışı
DS18B20 sıcaklık modülünün yalnızca üç pimi vardır, bu nedenle kullanımı çok kolaydır, ancak diğer sensörlerle karşılaştırıldığında oldukça hassastır.
Sıcaklık modülünün üç pimi
- Ground: Bu, Arduino'nun topraklamasına bağlanacaktır.
- VCC: Bu, Arduino'nun 5v'sine bağlanacak
- Sinyal: Bu , Arduino'nun herhangi bir dijital pinine bağlanacaktır .
DS18B20 Sıcaklık Modülünün arduino ile bağlantısı
Bağlantı şeması çok daha kolay. Bağlanacak sadece üç pimimiz var. Sıcaklık modülünü şekilde gösterildiği gibi Arduino'ya bağlayın.
DS18B20 Sıcaklık Modülü kodu için Kitaplığı Kurma
Kodu yüklemeden önce, DS18B20 sıcaklık sensörünün kitaplığını kurmanız gerekecektir.
Kütüphaneyi buradan indirin ve Arduino kütüphane klasörünüze yerleştirin.
Dosyayı ZIP klasöründen kopyalayın ve kitaplık klasörüne yerleştirin.
Dosyaları kütüphane klasörüne yerleştirdikten sonra, Arduino kütüphane klasöründe onewire ve Dallas temperature içeren yeni klasörler bulunmalıdır. Bundan sonra aşağıdaki kodu Arduino IDE'ye kopyalayın ve kodu yükleyin.
Arduino ile DS18B20 Sıcaklık Modülü Kodu
// This code is for the DS1820 Temperature module.
// Do not forget to install library before running the code.
#include < OneWire.h > // Including the library of DS1820 Temperature module
#include < DallasTemperature.h > // Including the library of DS1820 Temperature module #define ONE_WIRE_BUS 2 // Initializing the Arduino pin 2 for temperature module OneWire ourWire(ONE_WIRE_BUS); // Declaring a variable named our wire DallasTemperature sensors ( &ourWire ) ; // Asking the Dallas temperature library to use the one wire library void setup ( ) // Void setup runs only one. So the code written in it will run only one time { Delay ( 1000 ) ; // Wait for one second Serial.begin ( 9600 ) ; // Setting the baud rate at 9600 Serial.println ( " Microcontrollerlab.com : This is the test code " ) ; Serial.println ( " Temperature Sensor : DS18B20 " ) ; Delay ( 1000 ) ; // Wait for one second sensors.begin ( ) ; // The sensor will start working here void loop ( ) // Void loop runs repeatedly. So the code written in it will run repeatedly { Serial.println ( ) ; // This will give some space in the output Serial.print ( " Waiting for the temperature module to give value ... " ) ; // This will print “Waiting for the temperature module to give value … ” on the display. sensors.requestTemperatures ( ) ; // Sending the commands to get the temperature values from sensor Serial.println ( " DONE " ) ; // This will print “ done “ on the display Serial.print ( " Temperature in degree C is : " ) ; // This will print " Temperature in degree C is :" on the display Serial.print ( sensors.getTempCByIndex ( 0 ) ) ; // This will show the temperature in degree C on the display Serial.println ( " Degrees C " ) ; // This will print " Degrees C " on the display Serial.print ( " Temperature in degree Fahrenheit is : " ) ; // This will print " Temperature in degree Fahrenheit is : " on display Serial.print ( sensors.getTempFByIndex ( 0 ) ) ; // This will show the temperature in Fahrenheit on display Serial.println ( " Degrees F " ) ; // This will print " Degrees F " on the display Delay ( 5000 ) ; // Waiting for 5 seconds. }
Sensör düzgün çalışıyorsa, çıktı şöyle görünmelidir
Bu test kodudur Sıcaklık Sensörü: DS18B20 Vücut sıcaklığı modülünün değer vermesi bekleniyor ... YAPILDI Derece C olarak sıcaklık: 19.12 Derece C Fahrenheit cinsinden sıcaklık: 60.22 Derece F
Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook robotic.code
instagram @roboticcode
Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.
Hiç yorum yok:
Yorum Gönder
Yorum yazdığınız ve üye olduğunuz için Size teşekkür ederim.Burada olduğunuza göre hepimizin ilgi alanı Elektronik ve Programlama sonsuz bir dünyadayız.Hepimize Başarılar...
Not: Yalnızca bu blogun üyesi yorum gönderebilir.