merupakan sensor digital yang memiliki 12-bit ADC internal. Sangat presisi, sebab jika tegangan
referensi sebesar 5Volt, maka akibat perubahan suhu, ia dapat merasakan perubahan terkecil sebesar
5/(212-1) = 0.0012 Volt ! Pada rentang suhu -10 sampai +85 derajat Celcius, sensor ini memiliki
akurasi +/-0.5 derajat. Sensor ini bekerja menggunakan protokol komunikasi 1-wire (one-wire).
IC DS18B20 memiliki tiga kaki, yaitu GND (ground, pin 1), DQ (Data, pin 2), VDD (power,
pin 3). Pada Arduino, VDD dikenal sebagai VCC. Dalam hal ini, kita asumsikan VCC sama
dengan VDD. Tergantung mode konfigurasi, ketiga kaki IC ini harus dikonfigurasi terlebih
dahulu. Sensor dapat bekerja dalam dua mode, yaitu mode normal power dan mode parasite
power.
Pada Mode Normal, GND akan terhubung dengan ground, VDD akan terhubung dengan 5V
dan DQ akan terhubung dengan pin Arduino, namun ditambahkan resistor pull-up sebesar
4,7k. Mode ini sangat direkomendasikan pada aplikasi yang melibatkan banyak sensor dan
membutuhkan jarak yang panjang.
Pada Mode Parasite, GND dan VDD disatukan dan terhubung dengan ground. DQ akan
terhubung dengan pin Arduino melalui resistor pull-up. Pada mode ini, power diperoleh dari
power data. Mode ini bisa digunakan untuk aplikasi yang melibatkan sedikit sensor dalam
jarak yang pendek
Hardware
Siapkanlah sensor suhu DS18B20. Ada dua jenis packaging. Ada yang berupa single IC, ada pula yang
dikemas tahan air (waterproof). Penulis merekomendasikan yang tahan air, sebab harga masih
terjangkau, lebih aman secara teknis, dan lebih luas penggunaannya (dapat digunakan untuk
mengukur suhu cairan). Pada tutorial kali ini, kita akan menggunakan satu buah sensor dengan
konfigurasi mode parasite. Konfigurasi ini cukup mudah untuk dilakukan
Software
Kita membutuhkan pustaka (library) untuk menggunakan sensor kita. Ada dua pilihan, yaitu install
secara online atau secara offline. Jika menggunakan pilihan online, bukalah IDE Arduino kita. Carilah
di Sketch -> Include Library -> Manage Libraries… . Pastikan bahwa komputer kita telah terkoneksi
dengan internet. Carilah dua pustaka, yaitu OneWire dan DallasTemperature. Kemudian Install satu-
per-satu
Jika ingin secara offline, unduhlah library yang ikut disertakan pada tutorial ini. Bukalah IDE Arduino,
kemudian tambahkan pustaka dengan mencari: Sketch -> Include Library -> Add .ZIP Library….
Pilihlah library yang telah diunduh sebelumnya. Lakukan untuk kedua library.
#include <DallasTemperature.h>
2
3
// sensor diletakkan di pin 2
4
#define ONE_WIRE_BUS 2
5
6
// setup sensor
7
OneWire oneWire(ONE_WIRE_BUS);
8
9
// berikan nama variabel,masukkan ke
10 pustaka Dallas
11 DallasTemperature
sensorSuhu(&oneWire);
12
13
float suhuSekarang;
14
15
void setup(void)
16
{
17
Serial.begin(9600);
18
sensorSuhu.begin();
19
}
20
21
void loop(void)
22
{
23
24
suhuSekarang = ambilSuhu();
25
Serial.println(suhuSekarang);
26
delay(2000);
27
}
28
29
float ambilSuhu()
30
{
31
sensorSuhu.requestTemperatures();
32
float suhu =
sensorSuhu.getTempCByIndex(0);
33
return suhu;
34
}
Upload-lah program tersebut, dan bukalah Serial Monitor. Hasilnya adalah sebagai berikut:
29.50
29.50
29.50
29.50
29.50
29.50
29.50
Tegangan kerja: 5V DC
Arus kerja: 15mA
Jangkauan Maksimum: 4 m
Jangkauan Minimum: 2 cm
Resolusi: 1 cm
Dimensi: 45 * 20 * 15 mm
Ultra-Sonic-dimen.JPG
Dengan mengukur waktu yang diperlukan gaung dalam mencapai penerima, kita bisa menghitung
jaraknya. Hal ini adalah dasar prinsip kerja modul Ultrasonik untuk mengukur jarak
Gambar 3. HC-SR04
TRIG – masukan pemicu (Trigger) untuk sensor. Mikrokontroler perlu memberikan pulsa trigger
selama 10 us ke modul ultrasonik HC-SR04.
ECHO – Keluaran Echo dari sensor. Mikrokontroler akan membaca/memantau pin ini untuk
mendeteksi halangan atau mencari jarak.
GND – Ground
Kita perlu mengirimkan pulsa pemicu paling sedikit 10 us ke pin Trig HC-SR04.
Kemudian secara otomatis HC-SR04 mengirimkan Delapan gelombang suara 40 kHz dan
menunggu keluaran sisi naik di pin Echo.
Apabila pengambilan sisi naik muncul di pin Echo, kita mulai Timer dan menunggu sisi turun di
pin Echo.
Begitu sisi turun diambil dari pin Echo, kita baca hitungan Timer. Perhitungan waktu ini
merupakan waktu yang dibutuhkan sensor untuk mendeteksi sebuah obyek dan kembali dari
obyek tersebut.
Sehingga,
Jarak totalnya dibagi 2 karena sinyalnya merambat dari HC-SR04 ke obyek dan kembali lagi ke
modul HC-SR04.
DHT11 adalah sensor yang berguna dalam berbagai aplikasi. Ini memiliki sensor yang sangat
akurat yang kalibrasinya dilakukan di ruang kalibrasi kelembaban. Sensor kemudian menyimpan
koefisien kalibrasi sebagai memori program OTP , yang kemudian mengambil pembacaan
kelembapan 0-100% sebagai keluaran sinyal digital. Sensor ini mencakup termistor dan sensor
kelembaban kapasitif untuk mengukur suhu dan kelembaban . Mikrokontroler 8-bit mengubah
sinyal analog menjadi sinyal digital untuk membaca suhu dan kelembaban.
Sensornya kecil dan memiliki jangkauan transmisi sinyal 20 meter dengan voltase pengoperasian
yang sangat rendah .
Modul DHT11
DHT11 memiliki periode pengambilan sampel lebih dari dua detik dengan arus siaga 60uA dan
arus keluaran 0,3mA
Seperti yang ditunjukkan di bawah, karena sensor menjalani kalibrasi pada titik produksi,
pengaturannya mudah.
Anda memerlukan mikrokontroler 8-bit berkinerja tinggi yang memiliki waktu mikrodetik untuk
efisiensi yang lebih baik.
Kabel bus tunggal bertanggung jawab untuk komunikasi antara mikrokontroler dan DHT11. Satu
siklus komunikasi berlangsung hingga 4 mikrodetik, dan resistor tarik 5K membantu mengontrol
status sensor. Artinya ketika tarif tinggi, bus menganggur.
Komponen dalam sensor berbagi hubungan master-slave. Ketika master memanggil, itu hanya
ketika budak dapat menjawab. Kegagalan untuk mematuhi urutan bus tunggal ini akan
mengakibatkan perangkat tidak merespons sinyal host.
Sensor mengirimkan bit data yang lebih tinggi terlebih dahulu, dan transmisi lengkap terdiri dari
40-bit data yang terdiri dari bagian integral dan desimal.
Data bilangan bulat kelembapan 8-bit + 8-bit data desimal kelembapan +8-bit data kritis suhu +8-
bit data suhu pecahan +8-bit bit paritas.
Penting untuk diperhatikan bahwa bit desimal selalu 0 pada suhu dan kelembapan.
Jika transmisi data benar, bit terakhir dari ”8bit data RH kritis + 8bit data RH desimal + 8bit data
T integral + 8bit data T desimal” harus menjadi checksum.
Misalnya, mikrokontroler yang menerima data 40-bit dari DHT11 ditampilkan sebagai
0010 0001 0000 0000 0001 1010 0000 0000 0011 1011
Kelembapan tinggi 8 Kelembapan rendah 8 Suhu tinggi 8 Suhu rendah 8 Bit paritas
Ketika mikrokontroler mengirimkan sinyal ke sensor, sensor berubah dari tingkat konsumsi daya
rendah ke kondisi konsumsi daya tinggi.
Proses ini terjadi saat MCU menunggu penyelesaian sinyal awal. Melengkapi sinyal start sangat
penting karena tanpanya tidak akan ada respon dari sensor.
DHT11 kemudian merespons dengan indikasi data 40-bit dan memicu proses lebih lanjut.
Pada proses kedua, karena tegangan pada bus data tinggi, MCU akan menurunkan tegangan saat
komunikasi dimulai. Agar sensor dapat mendeteksi sinyal dari MCU, proses ini akan berlangsung
sekitar 1 hingga 10 ms. Setelah memperhatikan panggilan tersebut, mikrokontroler berhenti dan
menunggu respon sinyal sekitar 20-40us.
Deteksi sinyal start mempengaruhi tarikan tegangan rendah 80us oleh DHT11. Saat bersiap untuk
mengirim data, ia meningkatkan voltase hingga 80us.
Beberapa faktor dapat menyebabkan akurasi pengukuran kelembapan buruk; mereka termasuk;
Kabel sinyal data berkualitas rendah atau kabel yang lebih pendek
Paparan asap, asam, atau gas pengoksidasi dapat merusak modul sensor DHT11
DHT22
SHT71
AM2302