Kamis, 05 Desember 2019

Internet of Things Water Level Detector



Mata Kuliah: Sistem Digital
Dosen Pengampu: Aditya Prapanca

Disusun Oleh :
1. Edwin Irfan Nuha Al Hadad         (19051204075)
2. Wahyu Dwi Prakoso                     (19051204077)
3. Irin Lutfitasari                               (19051204086)
4. Taufik Rahmad Hidayat                (19051204110)
5. Mohammad Mirza                         (19051204093)



ABSTRAK

PROJECT IOT PENDETEKSI KETINGGIAN AIR UNTUK BERBAGAI MACAM KEBUTUHAN  (KAJIAN PEMANFAATAN TEKNOLOGI DIGITAL  UNTUK SISTEM INFORMASI CEPAT )

Penulisan laporan ini memiliki tujuan untuk memberikan penjelasan tentang project IoT yang telah kami buat yaitu IoT ‘Water’s High Level Detector’, serta pembahasan tentang pemanfaatan teknologi digital sebagai sarana informasi cepat. Latar belakang pembuatan project IoT  ini dikarenakan pesatnya perkembangan teknologi yang terjadi di era modern ini. Selain itu kami juga ingin membantu setiap orang yang sibuk akan pekerjaannya setiap hari, khususnya para ibu rumah tangga yang selalu melakukan banyak pekerjaan bersamaan untuk efiensi waktu. Iot ini bila dikembangkan juga berguna untuk mengetahui ketinggian air suatu wilayah misalnya sumur, sungai, dan danau.
Iot water’s high level detector ini sangat efisien untuk digunakan karena mampu dibawa kemana-mana, jarak aktifnya sekitar kurang lebih 30 meter. Oleh karena itu, kita bisa menghemat konsumsi air setiap hari. Untuk rumah yang memliki aliran air yang kecil, IoT ini bisa cukup diandalkan. Pasalnya rumah – rumah tersebut biasanya menyalakan pompa air semalaman untuk memenuhi bak mandi mereka. Hal tersebut jelas membuang – buang air yang keluar saat bak mandi telah penuh. Cara kerja alat ini yaitu menangkap  Penampung – penampung air yang telah terpasang IoT ini mampu mendeteksi kapan air tersebut akan penuh terisi. Saat air telah penuh, alat tersebut akan mengirimkan message kepada user melalui aplikasi telegram. User juga bisa memberikan perintah yang tepat melalui aplikasi tersebut.




  
BAB I
PENDAHULUAN

1.1  Latar Belakang

IoT (Internet of Things) merupakan suatu konsep dimana 2 alat atau lebih dapat saling berkomunikasi dalam jaringan internet. Dalam perkembangannya, IoT sudah banyak digunakan dalam kehidupan kita sehari – hari seperti tata kelola system keamanan perkotaan. IoT juga dapat digunakan untuk memantau keadaan makhluk hidup, suhu, cuaca, kelembaman tanah dan lain sebagainya. IoT memanfaatkan sensor – sensor tertentu untuk mengetahui kondisi realtime. Yang nantinya informasi yang didapat akan diteruskan kepada user sebagai pesan tertulis.
Dalam kehidupan kita sehari – hari, dimanapun kita berada di rumah, di kantor, di gedung – gedung, di sekolah, di pabrik, khususnya tempat ibadah yang sangat memerlukan air untuk berwudhu maupun keperluan lain jamaahnya. Pasti kita temui tempat penampung air seperti tendon air, ground tank, roof tank dan berbagai media penampung lainnya.
Penampung air ini memiliki fungsi sekian liter/ meter kubik air dengan jumlah yang banyak atau minimal cukup untuk kebutuhan dalam jangka waktu tertentu. Hal ini bertujuan untuk antisipasi jikalau listrik sedang padam sehingga pompa air tidak berfungsi atau daerah yang sumurnya telah kering dan tidak bisa disedot sehingga harus menunggu sumur tersebut dapat disedot kembali.
Dengan memanfaatkan teknologi IoT, kita bisa memantau kondisi kapan air yang kita sudah terisi dengan penuh. Saat sensor telah mendeteksi suatu keadaan, disini keadaanya adalah ketika air sudah menyentuh titik – titik sensor pendeteksi, maka alat ini akan mengirimkan pemberitahuan kepada kita melalui aplikasi telegram. Kita juga bisa tahu kapan sensor mendeteksi air sudah penuh. Oleh karena itu kita bisa segera mematikan keran air tanpa membuang – buang air yang tumpah. Atau bolak – balik mengecek apakah air sudah penuh atau belum.


1.2   Luaran yang diharapkan

Dalam pembuatan IoT ini ada beberapa hal yang diharapkan hasilnya, antara lain :
a.       Membantu kita untuk mengetahui saat air sudah penuh.
b.     Mencegah kita untuk pergi mengecek apakah air sudah penuh atau belum. Sehingga kita       tidak lelah sendiri.
c.       Mengurangi air yang terbuang percuma saat air sudah penuh. Lalu sebagai,
d.       Sebagai tugas UAS kelompok kami.


1.3     Tujuan
Project IoT ini memiliki tujuan sebagi penugasan ujian akhir semester 1 kelas TI19B. Selain itu juga tugas project IoT ini juga berfungsi sebagai penerapan praktek dari kuliah sistem digital dan pengantar teknologi informasi. Serta juga sengai pemabah wawasan kita tentang bagaimana cara kerja suatu perangkat dan hubungannya dengan sistem digital. Dan juga sebagai latihan kita pemahaman mengenai sistem IoT.

1.4     Batasan – batasan
Project IoT ini memiliki batasan mengukur ketinggian dalam skala kecil hanya sepanjang sensor air. Sehingga perlu menggunakan perhitungan lain, jika ingin menghitung ketinggian dalam wadah yang besar.
Project IoT ini hanya memberikan informasi sesuai kondisi yang teridentifikasi oleh sensor air. Sehingga apabila sensor sudah rusak dan tidak dapat digunakan perlu adanya pembaruan alat.
Project IoT ini hanya sebagai pengingat untuk user dan tidak dapat melakukan perintah otomatisasi seperti menyalakan dan mematikan keran air secara otomatis. Oleh karena itu, perlu kontribusi dari user untuk menyalakan dan mematikan keran air secara manual.

  

BAB II
KAJIAN PUSTAKA

2.1   Deskripsi Karya

IoT merupakan salah satu inovasi yang baru dan sangat berguna dalam dunia informasi. IoT memanfaatkan koneksi internet untuk saling bertukar informasi. Di dalam IoT tersemat modul komunikator yang nantinya akan dihubungkan dengan internet dan nantinya akan terhubung langsung dengan smartphone kita, sehingga secara langsung kita dapat mengetahui informasi yang diberikan oleh perangkat kepada kita secara faktual.
Perangkat ini bekerja mengumpulkan data berupa rangsangan akan suatu hal atau perubahan kondisi disekitar alat sensor. Informasi akan perubahan kondisi ini nantinya akan diolah oleh sensor untuk diubah menjadi sinyal analog sesuai perubahan kondisi yang ada. Misalnya dalam project water‘s high level detector ini kami menggunakan sensor ketinggian air yang memiliki fungsi untuk mendeteksi adanya perubahan ketinggian air dalam suatu wadah penampung. Prinsipnya hampir sama pada sensor pada umumnya, bedanya sensor ini mendeteksi perubahan media dari udara ke dalam cairan, saat air menyentuh sensor itu sendiri. Setelah sensor berhasil menemukan perubahan media, maka sensor akan mengolah data yang dibacanya menjadi sinyal analog yang berupa perubahan tegangan listrik tertentu sesuai dengan kondisi yang ditangkap sensor tersebut. Sinyal analog tersebut akan diterima oleh microcrontoller  yang lalu akan membaca kondisi yang telah dikirimkan oleh sensor. Lalu microcontroller juga akan memilah – milah kondisi yang cocok sesuai informasi dari sensor dan program yang telah kita buat.
Cara kerja dari IoT kami yaitu, mikrokontroller akan mengecek keadaan dari sensor. Apabila sensor tidak mendeteksi adanya perubahan maka mikrokontroler akan memberikan pesan kepada kita melalui aplikasi telegram bahwa bak mandi atau wadah lainnya terindikasi kosong. Mikrokontroler diproses akan terus mengirim pesan tersebut kepada user apabila user tidak memberikan aksi kepada bot tersebut. Hal ini dilakukan untuk mengingatkan user, apabila user lupa untuk mengisi bak mandinya atau wadah lainnya. Kemudian user bisa menyalakan pompa air untuk mengisi wadah air. Jika wadah tersebut telah terisi penuh dan sensor mengidentifikasi adanya perbuahan kondisi sekitarnya maka mikrokontroller akan memberikan pesan kembali kepada kita jikalau wadah telah penuh secara terus menerus. User bisa menanggapi pesan dengan memberikan jawaban ‘ok’. Untuk merestart atau mengulangi proses diatas, user bisa mengirimkan pesan cek kepada bot telegram.
Dengan demikian dapat disimpulkan bahwa program ini merupakan alat yang terdiri dari modul WIFI yang berfungsi untuk menghubungkan atau dapat diartikan sebagai konsep pengedalian jarak menengah dimana objek tertentu memiliki kemampuan untuk mentransfer data melalui jaringan internet sehingga user mampu mengetahui kapan waktu yang tepat untuk bertindak.




2.2   Penelitian Eksperimental (Alat dan Bahan)
Alat dan bahan :
a.       Bahan :
1)      Sensor air
2)      Kabel jumper female to female
3)      Node MCU

b.      Alat :
1)      Laptop
2)      Gelas
3)      Air



4)   Kabel Universal Serial Bus

            Jumlah yang dikeluarkan untuk IoT ‘Water’s High Level Detector’ :
  1) Sensor air                                                               Rp.   5.000,00
  2) Node MCU V3                                                       Rp. 42.000,00
  3)  Kabel jumper female to female - isi 10                 Rp. 15.000,00  +
                                                                                      Rp. 62.000,00




BAB III
HASIL DAN PEMBAHASAN 

     
   
3.1  Analisa Bahan
1.      Sensor Air
Sensor air merupakan sensor yang digunakan untuk mendeteksi adanya kandungan air dalam suatu wadah tertentu. Cara kerja sensor ini adalah dengan membaca resistansi yang dihasilkan oleh air yang mengenai lempengan yang bergiris garis pada sensor tersebut, semakin banyak air yang mengenai permukaan lemmpengan bergaris tersebut maka hambatannya semakin kecil dan ketika tidak ada air yang mengenai lempengan sensor tersebut maka hambatannya sangat besar atau bisa dikatan tidak terhingga.
Dalam project kami, sensor ini digunakan untuk menentukan apakah air telah menyentuh lempengan sensor tersebut. Apabila air sudah menyentuh lempengan sensor, maka dapat dikatakan air telah penuh.
Sensor air ini juga dapat digunakan untuk membantu mengetahui ketinggian air dalam suatu ketinggian tertentu.

2.      Kabel jumper female to female
Kabel yang digunakan untuk menghubungkan antar modul yang memiliki header female sebagai input outputnya.

3.      Node MCU  V3
NodeMCU pada dasarnya adalah pengembangan dari ESP 8266 dengan  firmware berbasis e-Lua. Pada NodeMcu dilengkapi dengan micro usb port yang berfungsi untuk pemorgaman maupun power supply. Selain itu juga pada NodeMCU di lengkapi dengan tombol push button yaitu tombol reset dan flash. NodeMCU menggunakan bahasa pemorgamanan Lua yang merupakan package dari esp8266. Bahasa Lua memiliki logika dan susunan pemrogaman yang sama dengan C hanya berbeda syntax. Jika menggunakan bahasa Lua maka dapat menggunakan tool Lua loader maupun Lua uploder. Selain dengan bahasa Lua NodeMCU juga support dengan sofware
Arduino IDE dengan melakukan sedikit perubahan board manager pada Arduino IDE. Sebelum digunakan Board ini harus di Flash terlebih dahulu agar support terhadap tool yang akan digunakan. Jika menggunakan Arduino IDE menggunakan firmware yang cocok yaitu firmware keluaran dari Ai? Thinker yang support AT Command. Untuk penggunaan tool loader Firmware yang di gunakan adalah firmware NodeMCU.

  

3.2 Analis Karya
      Berdasarkan pembuatan project IoT ‘water level detector’ ini kita dapatkan Fungsi Utama, yakni:
  •  Membantu mengetahui tinggi air ketika air sudah terisi, sampai batas pemasangan sensor.
  • Membantu mengurangi air yang tumpah dan listrik yang digunakan, saat kita lupa jikalau kita mengisi bak mandi.
  •  Pengguna tidak perlu terlalu sering mengecek apakah air sudah penuh atau belum.
  •  Membantu memperkirakan jumlah waktu yang diperlukan untuk mengisi air hingga penuh.
  •  Apabila dikembangkan lagi, maka dapat digunakan untuk membuat alat pendeteksi banjir.



3.3 Methode Pembuatan
Dalam proyek pembuatan IoT ini kami melakukan bebrapa tahap. Tidak hanya itu kami juga melakukan pencarian beberapa referensi tentang cara pembutan IoT.
Adapun tahap – tahapannya yaitu:

           1. Mengumpulkan Referensi
Pada tahap ini kami mengumpulkan informasi dan referensi tentang IoT  karena kami sebelumnya belum mngerti bagaimana cara membuat dan cara kerja IoT. Adapun sumber yang kami dapatkan yaitu channel Youtube Dwi Arsana dan bebrapa akun Github. Kami mempelajari bagaimana cara memprogram NodeMCU agar dapat berperan sebgai bot telegram untuk mengirimkan dan membaca pesan kita.

2. Memprogram Mikrokontroller
Tahap memprogram mikrokontroller ini adalah tahap merealisasikan perintah kita ke dalam otak rangkaian. Pada tahap ini, kami memprogram mikrokontroller menggunkan software Arduino IDE dengan bahasa C++. Adapun syntax programnya yaitu :
programnya yaitu :







Code Program Untuk NodeMCU

#include <ESP8266WiFi.h>

#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>

// Initialize Wifi connection to the router
char ssid[] = "duwww";     // your network SSID (name)
char password[] = "wayyudpra"; // your network key

// Initialize Telegram BOT
#define BOTtoken "972470988:AAGdeLcn0a66vTJCbQHFdEnTMJj3TmqUY-s"  // your Bot Token (Get from Botfather)
#define idchat "1033898288"
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);

int pinSensor = A0;
float panjangSensor = 4.0 ;
int cek=0;
int Bot_mtbs = 10; //mean time between scan messages
long Bot_lasttime;   //last time messages' scan has been done
bool Start = false;

void handleNewMessages(int numNewMessages) {
  Serial.println("handleNewMessages");
  Serial.println(String(numNewMessages));

  for (int i=0; i<numNewMessages; i++) {
    String chat_id = String(bot.messages[i].chat_id);
    String text = bot.messages[i].text;

    String from_name = bot.messages[i].from_name;
    if (from_name == "") from_name = "Guest";
   
    if (text == "Ok") {
      cek=12;
       String welcome = "Terima kasih atas perhatiannya";
      bot.sendMessage(chat_id, welcome);
      Serial.println("Pesan telah direima");}
     
 
        if (text == "Cek") {
      cek=0;
       String welcome = "Kami akan mengeceknya lagi";
      bot.sendMessage(chat_id, welcome);
      Serial.println("Pesan telah direima");}
      }
    }
   
 



void setup() {
  Serial.begin(115200);
  // Set WiFi to station mode and disconnect from an AP if it was Previously
  // connected
  WiFi.mode(WIFI_STA);
 
  //WiFi.disconnect();
  //delay(100);

  // attempt to connect to Wifi network:
  Serial.print("Connecting Wifi: ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(100);
  }

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() {

int nilai = analogRead(pinSensor);
      float tinggiAir = nilai * panjangSensor / 1023;
      Serial.print("Tinggi Air = ");
      Serial.print(tinggiAir);
      Serial.println(" cm");
      delay(1000);

  if(tinggiAir<=0.1){
    if(cek==0){
  Serial.println("Tangki mulai kosong ");
  String welcome="Tangki air mulai kosong\n";
  welcome+="Mohon perhatiannya\n";
  welcome+="Untuk segera mengisinya";
  bot.sendMessage(idchat, welcome);
    }}

   if(tinggiAir>=2.00){
    if(cek==0){
  Serial.println("Tangki mulai penuh ");
  String welcome="Tangki air mulai penuh\n";
  welcome+="Mohon perhatiannya\n";
  welcome+="Untuk segera menonaktifkannya";
  bot.sendMessage(idchat, welcome);
    }}

  if (millis() > Bot_lasttime + Bot_mtbs)  {
    int numNewMessages = bot.getUpdates(bot.last_message_received + 1);

    while(numNewMessages) {
      Serial.println("got response");
      handleNewMessages(numNewMessages);
      numNewMessages = bot.getUpdates(bot.last_message_received + 1);
    }

    Bot_lasttime = millis();
  }
}


3. Perakitan Sistem dan Sensor
            



          Tahap berikutnya adalah tahap perakitan rangakain dengan sensor dan otak rangkaian ke dalam satu papan project. Dalam tahap ini sensor sensor akan digabungkan dengan rangkaian modul NodeMCU sesuai dengan pin yang sudah di setel di program tadi. Semua sensor akan digabungkan pada modul NodeMCU. Karena dalam sistem ini NodeMCU berfungsi sebagai otak utama rangkaian yang memproses segala macam informasi dari luar dan mengirimkan informasi kepada user control. Kemudian rangkaian selanjutnya adalah menggabungkan pin digital NodeMCU dengan pin analog in pada Arduino. Yang fungsinya adalah untuk mennghasilkan output 5V pada pin digital Arduino berdasarkan hasil scan sinyal pada pin analog in. dan kemudian pin digital arduino akan mendrive relay yang akan mensaklar fungsi fisik atau melaksankkan perintah yang diterima oleh sistem baik dari user maupun dari sinyal sensor.

4. Tahap Uji Coba
            Tahap ini adalah tahap akhir dalam pembuatan IoT. Di tahap ini kami melakukan pengecekan fungsi fungsi yang sudah kami masukkan dalam program. Tahapan ini bertujuan untuk mencari kesalahan dan kekurangan dari sistem yang sudah dibuat. Melalui beberapa tahap test tiap fungsi. Mulai dari tahap mengirim perintah leawat chat, pengecekan action dari perintah kita, mengetest informasi yang dikirim oleh sistem melalui aplikasi chating, sampai pengecekan terhadap keakuratan sensor dan sinyal dari modul otak utama.



BAB IV
HASIL DAN PEMBAHASAN 


Tahap pengujian dan pengaplikasian sensor air terhadap wadah yang berisikan air dengan konsep IoT.

4.1 Uji coba jika tangki air belum penuh



      Gambar tersebut menunjukkan jika air yang diisi belum terisi sampai menyentuh sensor, maka mikrokontroller akan tetap mengirimkan pemberitahuan tangki belum penuh.


4.2 Uji coba jika air telah penuh




       Gambar tersebut menunjukkan bahwa air telah terisi hingga menyentuh sensor (menyentuh ujung bawah sensor juga terindikasi penuh), maka mikrokontroller akan mengirimkan pemberitahuan jikalau air telah penuh. 
  

BAB V
PENUTUP

5.1 Kesimpulan

  1. Water Level Control ini biasanya digunakan untuk pengisian bak air .
  2. Input dari rangkaian tersebut yaitu ion dari air yang masuk ke dalam sensor dari rangkaian tersebut. Dan output dari rangkaian ini yaitu pesan dalam aplikasi telegram kepada user


5.2 Saran

   Untuk pengembangan sistem water level control lebih lanjut maka dapat diberikan saran untuk menggunakan atau menambah indikator dari rangkaian tersebut, agar supaya rangkaian tersebut dapat mudah dimengerti ketika rangkaian tersebut kerja di dalam air pada tingkat tertentu.





LAMPIRAN





1 komentar:

  1. assalamu'alaikum terimakasih sebelumnya blog ini sangat membantu dalam pembuatan pkl saya
    Bang saya mau nanya, kok tidak terhubung ke telegram saya ya? apa ada yang salah? tapi buat serial monitor tetep bisa jalan. Terimakasih

    BalasHapus