Oleh Muhammad Ilyasaa dalam Tutorial Arduino
Tahap Kesukaran : Baru Mula Belajar

>> Pengenalan <<

Sensor suhu jenis DS18B20 berinteraksi menggunakan komunikasi 1-Wire. Komunikasi jenis ini hanya memerlukan satu wayar untuk berkomunikasi dengan papan Arduino Uno di samping wayar kuasa. Sensor suhu jenis DS18B20 mempunyai julat suhu operasi dari -55 darjah celcius sehingga +125 darjah celcius. Pada julat suhu operasi di antara lingkungan -10 darjah celcius sehingga +85 darjah celcius, DS18B20 mempunyai kadar ketepatan lebih kurang 0.5 darjah celcius. Sensor suhu DS18B20 direka sesuai menggunakan bekalan kuasa sama ada 3.3V atau 5V.

Setiap DS18B20 mempunyai kod bersiri 64-bit yang unik dan ini membolehkan banyak DS18B20 berfungsi menggunakan satu wayar komunikasi yang sama. Dengan kata lain, anda boleh menghubungkan sepuluh sensor suhu DS18B20 dengan hanya satu wayar komunikasi sahaja. Oleh itu, litar akan menjadi amat mudah kerana hanya menggunakan satu mikropengawal seperti papan Arduio Uno untuk mengawal banyak DS18B20. Aplikasi yang boleh direka menggunakan komponen sensor suhu jenis DS18B20 ini adalah seperti sistem kawalan alam sekitar dan sistem pemantauan suhu di dalam sesebuah bangunan.

>> Komponen Apa yang anda perlukan <<

Dalam tutorial ini, anda akan belajar cara menggunakan sensor suhu jenis DS18B20 dengan papan Arduino uno. Komponen yang anda perlukan :

>> Sambungan litar <<

Fail Fritzing : DS18B20 probe.fzz

>> atau <<

Fail Fritzing : DS18B20.fzz

>> Kod Arduino <<

Di bawah nanti adalah kod untuk bermain dengan sensor suhu DS18B20. Kod di bawah kelihatan mudah kerana kita menggunakan Library OneWire dan DallasTemperature  (penggunaan library memudahkan penulisan kod pada perisian Arduino IDE), dan kod arduino ini akan memaparkan nilai suhu di paparan serial monitor.

>> Library OneWire boleh dimuat turun di sini.

>> Cara cara pemasangan library OneWire boleh dilihat di sini.

>> Library DallasTemperature boleh dimuat turun di sini.

>> Cara cara pemasangan library DallasTemperature boleh dilihat di sini.

Berikut adalah sedikit penerangan tentang kod :

sensors.getTempCByIndex(0)

Kod di atas akan mengembalikan nilai bacaan suhu dalam unit darjah celcius. Jika anda lihat dalam kod tersebut anda akan lihat “byIndex” yang menggunakan nombor 0. Dengan memanipulasikan nombor tersbut, anda boleh mempunyai lebih daripada satu sensor suhu di atas wayar komunikasi yang sama. 0 merujuk kepada sensor suhu DS18B20 yang pertama terdapat pada wayar komunikasi.

>> Kod penuh arduino <<

/* Programmer : Muhammad Ilyasaa Bin Abdul Rahman
 * More info at https://www.nadieleczone.com.my
 */

#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup(void)
{
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");

  sensors.begin();
}

void loop(void)
{ 
  Serial.print("Requesting temperatures...");
  sensors.requestTemperatures();
  Serial.println("DONE");
  Serial.print("Temperature for the device 1 (index 0) is: ");
  Serial.println(sensors.getTempCByIndex(0));  
}

Siapkan litar di atas, buka perisian Arduino IDE dan muat naik kod di atas ke dalam papan Arduino Uno (jangan lupa untuk memasang library OneWire dan DallasTemperature terlebih dahulu jika anda masih belum memasangnya ke perisian Arduino IDE). Selepas selesai memuat naik kod, buka serial monitor untuk melihat nilai suhu yang direkodkan oleh sensor.

>> Tahniah, anda hebat <<

Anda telah berjaya menyelesaikan tutorial sensor suhu jenis DS18B20 dan kini anda sudah berjaya menggunakan sensor suhu jenis DS18B20 dengan papan Arduino Uno.

>> Gambar konsep sistem kebakaran yang menggunakan DS18B20 <<

TINGGALKAN JAWAPAN BALAS ANDA

Sila masukkan ulasan anda!
Sila masukkan nama anda di sini