Halo Fanbot! Tutorial IoT kali ini kita akan membahas sebuah alat. Kita masih berjuang nih buat melawan pandemi. Di masa seperti ini, kita diharuskan untuk menghindari kegiatan yang dapat menimbulkan kerumunan. Termasuk mengunjungi tempat wisata, mall, bandara, terminal, dan tempat-tempat lainnya. Efek dari ini adalah munculnya pembatasan jumlah pengunjung untuk mengurangi banyaknya kerumunan.
Contoh saja ketika kita berada di sebuah toko dengan luas 100m2 maka jika kita diharuskan untuk menjaga jarak sekitar 1m2 maka daari pihak penyelenggara (pemilik toko, wisata, atau lainnya) hanya memaksimalkan pengunjung menjadi 100 orang saja. Maka ketika pengunjung sudah mencapat batas maksimal, setidaknya pengunjung berikutnya diharuskan untuk menunggu atau menyegerakan pengunjung yang sudah ada di dalam ruangan tersebut.
Nah pada project kali ini,kita akan membuat alat penghitung jumlah pengunjung dengan menggunakan sensor Ultrasonik dan NodeMCU ESP8266. Sensor akan dipasangkan di dekat pintu (project untuk 1 pintu) untuk mengetahui orang yang masuk dan orang yang keluar dari ruangan tersebut. Selain itu, kita juga dapat mengetahui jumlah pengunjung dan dapat melakukan setting maksimal jumlah pengunjung yang ada dalam ruangan tersebut. Bagaimana cara membuatnya? yuk kita simak.
baca juga: Tutorial Alat Penghitung Pengunjung Otomatis dengan Komunikasi Client Server
Alat dan Bahan
Alat dan bahan yang digunakan untuk project kita kali ini adalah sebagai berikut. Jangan sampai ada yang kelewat ya.
- laptop/PC yang terinstall Arduino IDE
- Arduino UNO 1
- Sensor Ultrasonik HCSR-04 2
- LCD 16×2 1
- Breadboard 1
- Kabel jumper Secukupnya
Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO
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 memasukkan terlebih dahulu library Liquid Crystal, HCSR04, CTBot dan Arduino Json.
/*program penghitung pengunjung 1 pintu dengan monitoring telegram oleh indobot.co.id*/ #include <Wire.h> #include <SPI.h> #include "CTBot.h" //Library CTBot untuk Telegram #include <HCSR04.h> //library ultrasonic #include <LiquidCrystal_I2C.h> //Library LCD I2C LiquidCrystal_I2C lcd(0x27,16,2); //Alamat I2C int trigger_jrk1 = D5; //trig sensor1 int echo_jrk1 = D6; //echo sensor1 int trigger_jrk2 = D7; //trig sensor2 int echo_jrk2 = D8; //echo sensor2 int masuk = 0; //variabel untuk jumlah pengunjung int maksimal = 0; //maksimal pengunjung HCSR04 sonar1(trigger_jrk1, echo_jrk1); //(trig pin , echo pin) HCSR04 sonar2(trigger_jrk2, echo_jrk2); //(trig pin , echo pin) CTBot myBot; TBMessage msg; String ssid = "*************"; //nama ssid wifi kalian String pass = "*************"; //password wifi kalian String token = "*************"; //token bot baru kalian const int id = 111111111; //id telegram kalian void setup() { Serial.begin(9600); lcd.init (); //Mulai LCD lcd.setBacklight(HIGH); myBot.wifiConnect(ssid, pass); //menyambungkan koneksi hotspot myBot.setTelegramToken(token); //menyambuungkan token if (myBot.testConnection()) { Serial.println("Koneksi Bagus"); } else { Serial.println("Koneksi Jelek"); } myBot.sendMessage(msg.sender.id, (String)"Informasi Pengunjung \n" + "Jumlah pengunjung >>> jumlah \n" + "Atur maksimal Pengunjung >>> maks=berapa \n" + "Contoh >> maks=50 \n" ); } void loop() { kembali: delay(1000); int cm1 = sonar1.dist(); //baca sensor1 int cm2 = sonar2.dist(); //baca sensor2 Serial.println(masuk); if (cm1<5&&cm2>5&&cm1!=0) //jika sensor1 ada orang { do //do while untuk mengunci { delay(500); if (cm2<3&&cm1>=3&&cm2!=0) { masuk = masuk +1; goto kembali; //untuk kembali ke awal program loop } } while (cm2>5); } else if(cm2<5&&cm1>5&&cm2!=0)//jika sensor2 ada orang { do { delay(500); if (cm1<3&&cm2>=3&&cm1!=0) { masuk = masuk -1; Serial.println(masuk); goto kembali; } } while (cm1>5); } else masuk = masuk; lcd.setCursor(0,0); lcd.print("pengunjung: "); lcd.print(masuk); if (masuk >= maksimal){ //Pemberitahuan ke telegram myBot.sendMessage(msg.sender.id, (String)"WARNING! Pengunjung Maksimal"); lcd.clear(); lcd.setCursor(0,0); lcd.print(" Pengunjung "); lcd.setCursor(0,1); lcd.print(" Maksimal "); delay(2000); } telegram(); } void telegram(){ if (myBot.getNewMessage(msg)) { String a = msg.text; if (a.indexOf ("maks=") > -1) { maksimal = a.substring(5).toInt(); myBot.sendMessage(msg.sender.id, (String)"Setting Maksimal :" + maksimal +"Orang"); } if (msg.text.equalsIgnoreCase("jumlah")) { //Perintah dari telegram ke perangkat myBot.sendMessage(msg.sender.id, (String)"Jumlah Pengunjung :" + masuk +"Orang"); //Balasan dari perangkat ke Bot Telegram } else { myBot.sendMessage(msg.sender.id, (String)"Informasi Pengunjung \n" + "Jumlah pengunjung >>> jumlah \n" + "Atur maksimal Pengunjung >>> maks=berapa \n" + "Contoh >> maks=50 \n" ); } } delay(500); } |
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.
Masukkan nama hotspot, password hotspot, token, dan ID yang anda gunakan di String ssid = “**********”;
String pass = “**********”;
String token = “XXXXX”;
const int id = XXXXXX;
Upload program di atas, kemudian kita dapat mulai mencobanya dengan di awali ke telegram bot milik kita dan klik start.
baca juga: Penghitung Pengunjung Otomatis 1 Pintu dengan Arduino dan Sensor Ultrasonik
Hasil dari project ini adalah kita dapat memantau jumlah pengunjung dalam ruangan hanya dengan mengirimkan pesan “jumlah” ke telegram bot yang sudah kita buat. Selain itu, kita juga dapat me-reset ulang batas maksimal dari pengunjung yang ada dalam ruangan dengan mengetikkan maks=jumlah. Misalnya maks=100 (tanpa spasi).
Sekian tutorial IoT kali ini
Bagaimana? tertarik untuk membuatnya? Mari kita coba.
Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!
haloo gan, maksud ” <” “>” di list program ini apa ya?