Pada tutorial ini akan dijelaskan, bagaimana cara menggunakan Sensor Suhu DS18B20 dengan NodeMCU menggunakan Arduino IDE. Namun sebelum melangkah lebih lanjut, apabila belum pernah menggunakan atau melakukan pemrograman NodeMCU menggunakan Arduino IDE maka pelajari artikel Memulai Pemrograman NodeMCU ESP8266 Menggunakan Arduino IDE terlebih dahulu.
1. Perkenalan:
Modul ini digunakan untuk mengukur suhu. DS18B20 adalah senso suhu yang menggunakan protokol One Wire bus, yaitu hanya memerlukan satu jalur data untuk komunikasi dengan NodeMCU.
1.1 Fitur:
1. Mengukur suhu dari -55 derajat C hingga 125 Derajat C.
2. 0,5 ° C Akurasi dari -10 ° C hingga + 85 ° C
3. Resolusi yang Dapat Diprogram dari 9 Bit ke 12 Bit
4. Tidak diperlukan komponen eksternal.
5. Antarmuka satu kawat yang unik yang hanya membutuhkan satu port untuk komunikasi.
2. Hardware yang diperlukan
S.No. | Item | Quantity |
1. | NodeMCU | 1 |
2. | Breadboard | 1 |
3. | DS18B20 Temperature Sensor | 1 |
4. | Resistor 4.7K | 1 |
5. | Male to male Jumper | 3 |
3. Circuit Diagram
Buat koneksi rangkaian NodeMCU dengan DS18B20 seperti gbr berikut :
4. Library File
Library file yang dibutuhkan untuk menjalankan sketch ini bisa didownload pada link berikut :
DallasTemperature library file.
Unduh ekstrak file zip yang sama dan salin ini ke folder perpustakaan Arduino Anda.
Library File ini harus ditempatkan di folder instalasi Arduino.
5. Programming
#include <DallasTemperature.h> #include <OneWire.h> #define ONE_WIRE_BUS 4 //D1 pin of nodemcu OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); // Pass the oneWire reference to Dallas Temperature. void setup(void) { Serial.begin(9600); sensors.begin(); } void loop(void) { sensors.requestTemperatures(); // Send the command to get temperatures Serial.println("Temperature is: "); Serial.println(sensors.getTempCByIndex(0)); // Why "byIndex"? You can have more than one IC on the same bus. 0 refers to the first IC on the wire delay(500); }
6. Output
Setelah sketch diUpload, buka serial monitor untuk melihat outputnya seperti gbr berikut :
Selain DS18B20, ada sensor suhu dan kelembaban yang cukup terkenal dan banyak digunakan yaitu DHT11 dan DHT22. Kemudian ada juga sensor suhu non kontak dengan teknologi inframerah yaitu GY-906 MLX90614. Untuk mengetahui lebih detail tentang masing-masing sensor tersebut beserta contoh programnya, silahkan buka artikel dibawah :
- Interfacing Sensor Suhu dan Kelembaban – DHT11 dengan Arduino UNO
- Belajar Program Sensor Suhu Non Contact IR (Infra Red) GY-906 MLX90614 Dengan Arduino
+++++++ Semoga Bermanfaat +++++++
Kak, saya sudah coba sesuai dengan isi blog ini, tapi kenapa hasil pengukuran dari sensor ds18b20 -127 ya? dan saya juga sudah coba berbagai coding yang lain tapi hasilnya tetap sama. tolong dijelaskan kak?