Untuk menghubungkan sensor DS18B20 Waterproof Temperature
Sensor ke Arduino, Anda memerlukan beberapa kabel jumper dan resistor 4.7k ohm
(pull-up resistor). Berikut adalah langkah-langkahnya:
Rangkaian DS18B20 ke Arduino |
Langkah 1: Siapkan Sensor DS18B20 dan Arduino
Pastikan Anda memiliki sensor DS18B20 dan Arduino Uno (atau
model Arduino lainnya).
Langkah 2: Koneksi Sensor ke Arduino
Sensor DS18B20 memiliki tiga kaki (GND, Data, VCC). Anda
harus menghubungkannya ke Arduino sebagai berikut:
- Kaki
GND sensor (biasanya berwarna hitam atau coklat) terhubung ke pin GND pada
Arduino.
- Kaki
Data sensor (biasanya berwarna kuning atau putih) harus dihubungkan ke pin
digital pada Arduino (misalnya, pin 2).
- Kaki
VCC sensor (biasanya berwarna merah) harus dihubungkan ke pin 5V pada
Arduino.
Selain itu, Anda juga perlu menambahkan resistor pull-up
4.7k ohm antara pin Data dan pin VCC pada sensor. Ini membantu dalam komunikasi
satu kawat (OneWire) dengan sensor.
Langkah 3: Hubungkan Arduino ke Komputer
Sambungkan Arduino ke komputer Anda menggunakan kabel USB.
Langkah 4: Unduh Library yang Diperlukan
Sebelum menggunakan kode yang disediakan sebelumnya,
pastikan Anda telah mengunduh dan menginstal library OneWire dan
DallasTemperature di Arduino IDE Anda.
Langkah 5: Upload Kode ke Arduino
Buat kode program dan upload ke board arduino melalui Arduino IDE sebagai dasar untuk
membaca suhu dari sensor DS18B20.
Langkah 6: Buka Serial Monitor
Setelah mengunggah kode ke Arduino, buka Serial Monitor di
Arduino IDE. Anda akan melihat pembacaan suhu dari sensor DS18B20 muncul di
sana setiap detik.
Setelah Anda mengikuti langkah-langkah di atas, sensor
DS18B20 Anda seharusnya berhasil terhubung ke Arduino dan memberikan pembacaan
suhu yang akurat. Pastikan untuk memeriksa kembali koneksi fisik dan pastikan
Anda telah menggunakan kode dengan benar.
Untuk diingat bahwa; pin data sensor harus dihubungkan ke pin digital arduino. Sensor DS18B20 menggunakan protokol komunikasi OneWire untuk berinteraksi dengan mikrokontroler. Protokol OneWire memungkinkan sensor untuk berkomunikasi dengan mikrokontroler menggunakan satu jalur data saja. Oleh karena itu, sensor DS18B20 tidak memerlukan pin analog untuk berkomunikasi, melainkan menggunakan pin digital.
Penggunaan pin digital untuk sensor DS18B20 memudahkan
integrasi dengan mikrokontroler karena kebanyakan mikrokontroler memiliki pin
digital yang cukup untuk berkomunikasi dengan berbagai sensor dan perangkat
lainnya. Hal ini juga memungkinkan sensor DS18B20 untuk berbagi jalur data yang
sama dengan sensor lain yang menggunakan protokol OneWire, memungkinkan
penggunaan sensor yang lebih efisien dalam suatu sistem.
Dengan menggunakan pin digital, pengguna dapat mengakses
data suhu dari sensor DS18B20 dengan mudah menggunakan perangkat lunak dan kode
pemrograman yang tersedia untuk membaca data dari pin digital pada
mikrokontroler, membuat integrasi dengan berbagai proyek dan aplikasi
elektronik menjadi lebih mudah dan efisien.
Jika Anda menempatkan sensor DS18B20 ke pin analog pada
mikrokontroler, seperti Arduino Uno, sensor tersebut tidak akan berfungsi
seperti yang diharapkan. Ini karena DS18B20 menggunakan protokol komunikasi
OneWire yang berbeda dengan protokol yang digunakan oleh pin analog pada
mikrokontroler.
Berikut beberapa hal yang akan terjadi:
- Tidak
Terbaca: Mikrokontroler tidak akan mampu membaca data yang benar dari
sensor DS18B20 yang terhubung ke pin analog. Ini karena komunikasi OneWire
memerlukan pin digital untuk mengirim dan menerima data secara serial.
- Kerusakan
Potensial: Sensor DS18B20 dan mikrokontroler dapat mengalami kerusakan
jika Anda mencoba untuk memaksa komunikasi menggunakan pin analog. Ini
karena tegangan yang diberikan pada pin analog biasanya digunakan untuk
membaca tegangan analog dari sensor, bukan untuk komunikasi digital.
- Tidak
Efisien: Menggunakan pin analog untuk sensor DS18B20 tidak akan
efisien karena pin analog biasanya digunakan untuk membaca sinyal analog
yang berasal dari sensor fisik seperti sensor suhu analog atau sensor
cahaya, bukan sensor digital seperti DS18B20.
Jadi, untuk memastikan sensor DS18B20 berfungsi dengan
benar, pastikan untuk menempatkannya pada pin digital yang sesuai dengan
protokol komunikasinya, yaitu pin yang mendukung komunikasi serial seperti
protokol OneWire. Pada Arduino Uno, pin digital yang umum digunakan untuk
sensor DS18B20 adalah pin digital 2.
Mengapa membutuhkan pull up resistor 4.7 K Ohm ?
Ketika resistor pull-up tidak digunakan, jalur data sensor
DS18B20 akan "mengapung" saat tidak ada transmisi data, yang dapat
menyebabkan ambiguitas dalam pembacaan data atau kesalahan komunikasi. Ini bisa
terjadi karena jalur data tidak memiliki referensi yang jelas, sehingga dapat
terpengaruh oleh gangguan elektromagnetik atau sinyal noise lainnya.
Dengan menambahkan resistor pull-up 4.7k ohm antara jalur
data (Data Line) dan tegangan suplai (VCC), tegangan pada jalur data akan
dijaga pada level logika tinggi (HIGH) ketika tidak ada transmisi data. Hal ini
memastikan bahwa sensor DS18B20 dapat berkomunikasi dengan stabil dan
menghasilkan pembacaan suhu yang akurat.
Jadi, resistor pull-up 4.7k ohm sangat penting dalam
rangkaian koneksi sensor DS18B20 ke Arduino untuk memastikan kestabilan dan
akurasi komunikasi antara sensor dan mikrokontroler.
Koding untuk mengetahui alamat sensor DS18B20 bila sensor digunakan lebih dari satu.
Spesifikasi DS18B20 :
Berikut adalah spesifikasi utama dari sensor suhu digital
DS18B20:
- Rentang
Suhu: -55°C hingga +125°C (-67°F hingga +257°F)
- Resolusi:
Hingga 12 bit, yang menghasilkan resolusi suhu sebesar 0.0625°C
- Akurasi:
Biasanya ±0.5°C pada rentang suhu operasionalnya.
- Antarmuka
Komunikasi: Menggunakan protokol komunikasi OneWire, yang memungkinkan
sensor berkomunikasi dengan mikrokontroler melalui satu jalur data.
- Daya
Operasional: Sensor DS18B20 dapat dioperasikan dengan tegangan antara
3.0V hingga 5.5V DC.
- Konsumsi
Daya Rendah: Sensor ini diketahui memiliki konsumsi daya yang rendah,
membuatnya cocok untuk aplikasi baterai.
- Paket:
Sensor DS18B20 hadir dalam berbagai paket, termasuk paket TO-92 yang umum
digunakan.
- Perlindungan
Terhadap Air: Sebagian besar varian DS18B20 dilengkapi dengan
perlindungan tahan air, membuatnya cocok untuk aplikasi di lingkungan yang
keras atau outdoor.
- Identifikasi
Otomatis: Setiap sensor DS18B20 memiliki alamat unik 64-bit yang
digunakan untuk mengidentifikasi sensor secara individu dalam jaringan
OneWire.
- Kompatibilitas:
Sensor DS18B20 kompatibel dengan berbagai mikrokontroler dan platform
pengembangan lainnya, termasuk Arduino, Raspberry Pi, dan platform
mikrokontroler lainnya.
Sensor DS18B20 adalah pilihan populer untuk berbagai
aplikasi yang memerlukan pemantauan suhu yang akurat dan andal, termasuk
pengendalian suhu, pemantauan suhu lingkungan, pengukuran suhu pada perangkat
elektronik, dan banyak lagi.