Pemantau Suhu Akuarium Menggunakan Sensor DS18B20 dengan IoT Telegram

Indobot Update

IoT Pemantau Suhu Akuarium
Monitoring Suhu Akuarium denga IoT Telegram Menggunakan Sensor DS18B20

Halo Sahabat Indobot!

Sedang ada project apa hari ini?

Nah kali ini kita akan belajar untuk membuat pemantau suhu akuarium menggunakan sensor DS18B20. Pemantauan tidak hanya ditampilkan di LCD saja, namun pemantauan juga terkirim langsung ke telegram.

Sensor DS18B20 merupakan sensor yang dapat berfungsi untuk mengukur suhu dalam air. Dan Sensor ini memiliki bentuk seperti tabung besi yang tahan terhadap air dan memiliki kabel panjang yang dapat bermanfaat untuk penggunaan yang lebih aman, yaitu dengan memasukkan sensor ke dalam air, namun untuk mikrokontroler yang kita gunakan, dapat kita jauhkan untuk menghindari kerusakan karena terkena air.  Kemudian Sensor ini membutuhkan tegangan sebesar 3 hingga 5,5 VDC dan dapat membaca suhu dari -55 derajat C hingga 125 derajat C.

Monitoring Suhu Akuarium Menggunakan Sensor DS18B20 dengan IoT Telegram

Dalam project kali ini, kita akan menggunakan NodeMCU ESP8266 sebagai mikrokontroler multifungsi yang sudah memiliki fasilitas wifi untuk mengirimkan informasi ke telegram nantinya.

Penasaran bagaimana cara membuatnya? Yuk kita simak.

 

Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO

 

Alat dan Bahan

Alat dan bahan untuk project ini adalah sebagai berikut.

  1. Software Arduino IDE
  2. NodeMCU ESP8266 1
  3. LCD 16X2 1
  4. I2C LCD 1
  5. Buzzer 1
  6. Sensor DS18B20 1
  7. Projectboard 1
  8. Kabel jumper Secukupnya

Baca juga: Detektor Kebocoran Gas IoT Telegram

Rangkaian

Susun device di atas menjadi rangkaian seperti berikut. Pastikan semua terhubung dengan baik.

Program

Tahap selanjutnya adalah penulisan program pada Arduino IDE. Buatlah program seperti berikut. Perhatikan keterangan (comment) untuk memahami program dengan baik. Jangan lupa untuk memasukan library berikut ini pada Arduino IDE.

ArduinoJson (Download )

LiquidCrystal_I2C (Download )

CTBot (Download )

Dallas Temperature (Download )

One Wire (Download )

Berikut programnya.

 
#include OneWire. //Library OneWire
#include DallasTemperature. // Library untuk Dallas temperature
#includeLiquidCrystal_I2C. //Library I2C LCD
#include "CTBot.h" //Library CTBot untuk Telegram

LiquidCrystal_I2C lcd(0x27,16,2); //alamat I2C
#define buzzer D3 //pin D3 untuk buzzer
#define ONE_WIRE_BUS D4 // pin D4 digunakan untuk data hasil baca sensor

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(oneWire); 
CTBot myBot;

String ssid = "**********";    //nama ssid wifi kalian
String pass = "**********";  //password wifi kalian
String token = "XXXXX";    //token bot baru kalian
const int id = XXXXXX;      //id telegram kalian

void setup(void)
{
  Serial.begin(9600);
  sensors.begin(); //memulai baca sensor
  lcd.init(); //memulai LCD
  lcd.backlight(); //menyalakan Lampu latar belakang LCD
  pinMode(buzzer, OUTPUT); //inisialisasi buzzer sebagai output
  myBot.wifiConnect(ssid, pass); //koneksi dengan hotspot
  myBot.setTelegramToken(token); //memastikan token

  //tes koneksi dengan hotspot
  if (myBot.testConnection()) {
    Serial.println("Koneksi Bagus");
  } else {
    Serial.println("Koneksi Jelek");
  }
}

void loop(void)
{ 
  sensors.requestTemperatures(); //baca sensor
  int suhu = sensors.getTempCByIndex(0);
  //Penulisan suhu pada LCD dan serial monitor
  Serial.println(suhu);

  //Jika suhu lebih dari 30
  if (suhu 30) {
    myBot.sendMessage(id, "Suhu Akuarium Terlalu Panas!"); //mengirimkan pesan ke telegram
    buzzerNyala(); //menyalakan buzzer
    lcd.setCursor(0,0);
    lcd.print("SUHU PANAS!"); //menampilkan SUHU PANAS di LCD
    }

  else if (suhu 25) {
    myBot.sendMessage(id, "Suhu Akuarium Terlalu Dingin!"); //mengirimkan pesan ke telegram
    buzzerNyala(); //menyalakan buzzer
    lcd.setCursor(0,0);
    lcd.print("SUHU DINGIN!"); //menampilkan SUHU DINGIN di LCD
  }
  else {
    digitalWrite(buzzer, LOW);
    lcd.setCursor(0,0);
    lcd.print("Suhu air : ");
    lcd.setCursor(0,1);
    lcd.print(suhu);
  }
  lcd.clear();
}

void buzzerNyala(){ //Function untuk menyalakan buzzer
  digitalWrite(buzzer, HIGH);
  delay (500);
  digitalWrite(buzzer, LOW);
  delay (500);
}

baca juga : Alarm PIR IoT Telegram

Cara mendapatkan Token Bot dan ID telegram

Untuk mendapatkan Token Bot dan ID telegram, kita dapat melakukan cara berikut.

  • cari BotFather

  • Buka BotFather > klik Start > ketik /newbot > beri nama bot > beri username bot > Simpan token yang diberikan untuk dimasukkan program nanti. Untuk masuk ke bot yang baru dibuat, bisa klik link yang diberikan pada bagian setelah “You will find it at …”, dan jika sudah masuk bisa ketik /start

Gambar pembuatan bot baru

Gambar token yang didapat

  • Setelah itu diperlukan id telegram kita dengan cara : cari IDBot > klik Start > ketik /getid

  • Maka token dan ID Telegram sudah kita dapatkan.

Kemudian masukkan nama hotspot, password hotspot, token, dan ID yang anda gunakan di

pertama String ssid = “**********”;

Kedua String pass = “**********”; 

Ketiga String token = “XXXXX”;

const int id = XXXXXX;

Upload program di atas, kemudian kita dapat melakukan percobaan dengan menggunakan air panas dan air dingin.

baca juga: Dasar Program Membaca Data Suhu Dan Kelembaban Sensor DHT11

Hasil dari project ini adalah pembacaan suhu dari sensor DS18B20, akan ditampilkan di layar LCD. Namun jika suhu mulai memanas hingga 30 derajat C (dapat disesuaikan dengan kebutuhan), maka buzzer akan berbunyi dan akan muncul notifikasi di telegram kita, bahwa suhu terlalu panas untuk akuarium kita. Jika suhu terlalu dingin, mencapai kurang dari 25 derajat C, maka buzzer juga akan menyala dan akan muncul notifikasi di telegram bahwa suhu terlalu dingin untuk akuarium yang kita gunakan.

Bagaimana? Tertarik untuk membuatnya? Yuk bisa dicoba.

Semangat!

Mau belajar elektronika dasar? Arduino? atau Internet of Things? Segera Ikuti kursus online Indobot Academy!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tags

3 pemikiran pada “Pemantau Suhu Akuarium Menggunakan Sensor DS18B20 dengan IoT Telegram”

  1. Mas, izin bertanya
    Waktu saya program dan done uploading lcd nya ga ada tulisan temperature, dan untuk memulai lcd jga harus di ganti dengan begin

    Balas

Tinggalkan komentar

whatsapp