Official StoreTekan tombol di atas untuk membeli semua alat dan bahan eksperimen di web ini

Mengukur Suhu dengan Wemos D1 Mini dan Sensor DS18b20

Melanjutkan artikel sebelumnya tentang penamaan pin Wemos D1 Mini, marilah kita coba mengetes Wemos D1 Mini dengan langsung mempraktekkannya mengambil data suhu menggunakan sensor suhu DS18b20

Sensor temperatur produk ‘Maxim Integrated’ ini menggunakan interface 1-Wire untuk outputnya, jadi Anda bisa menggunakan pin digital untuk ‘menangkap’ data suhunya. Hal ini berbeda dengan sensor LM35 yang outputnya tegangan analog sehingga harus menggunakan pin analog untuk membaca output sensor

Teknik pembacaan output sensor pun berbeda. Jika LM35 Anda bisa langsung membacanya menggunakan perintah ‘analogRead (pin_Analog)‘, tidak demikian halnya jika menggunakan sensor ds18b20. Pembacaan suhu ds18b20 harus menggunakan format data 1-Wire. Untuk mudahnya kita dapat library OneWire.h dan DallasTemperature.h

1-Wire adalah sistem komunikasi serial asinkron yang menggunakan satu kabel saja untuk melewatkan data (bus). Protokol data ini dikembangkan oleh Dallas Semiconductor

https://en.wikipedia.org/wiki/1-Wire

Wemos dan DS18b20

Sebelum kita menghubungkan sensor DS18b20 ada baiknya kita lihat dulu karakter elektrikal dan pinoutnya. Datasheet selengkapnya bisa dibaca di sini

Tegangan : 3 – 5.5VDC
Pengukuran suhu : -55 – 125 C
Akurasi : +0.5 C
Resolusi : 9 – 12 bit (programmable)

Untuk pinout DS18b20 adalah sebagai berikut:

Untuk gambar rangkaiannya sederhana aja, bisa dilihat di gambar berikut

Alat dan Bahan

  • Wemos D1 Mini, beli
  • Sensor temperatur DS18b20, beli
  • resistor 4K7
  • beberapa kabel jumper

Sedangkan untuk contoh script-nya juga sederhana. Sebelumnya Anda harus instal library DallasTemperature.h (bisa diunduh di sini)

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

#define ONE_WIRE_BUS D5

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&amp;oneWire);

void setup(void)
{
  Serial.begin(115200);
  Serial.println("Wemos + DS18b20");
  sensors.begin();
}

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

Perhatikan bahwa Anda harus mendefinisikan pin Wemos sesuai penamaan pin-nya. Sesuai gambar rangkaian maka kita harus mendefinisikan pin ‘D5’ sebagai pin bus 1-Wire (baris 4)

Hasilnya dapat Anda lihat di Serial Monitor sebagai berikut:

Selamat, Anda baru saja membuat sebuah termometer digital sederhanan dengan Wemos D1 mini dan DS18b20. Anda bisa saja mengembangkannya sesuai keperluan Anda. Ohya, berhubung sensor ini menggunakan interface 1-Wire, maka sangat cocok digunakan di Raspberry Pi juga. Sebagaimana yang telah kita bersama, Raspberry Pi tidak memiliki pin analog, jadi sangat cocok dipasangkan dengan ds18b20 ini. Nantikan tutorial berikutnya ya….

0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x