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
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(&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….
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com