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
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
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
- Water Level Control ini biasanya digunakan untuk pengisian bak air .
- 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
assalamu'alaikum terimakasih sebelumnya blog ini sangat membantu dalam pembuatan pkl saya
BalasHapusBang saya mau nanya, kok tidak terhubung ke telegram saya ya? apa ada yang salah? tapi buat serial monitor tetep bisa jalan. Terimakasih