Tutorial IoT Mengatur Maksimal Jumlah Pengunjung dengan Telegram

Indobot Update

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

 

Table of Contents

Alat dan Bahan

Alat dan bahan yang digunakan untuk project kita kali ini adalah sebagai berikut. Jangan sampai ada yang kelewat ya.

  1. laptop/PC yang terinstall Arduino IDE
  2. Arduino UNO 1
  3. Sensor Ultrasonik HCSR-04 2
  4. LCD 16×2 1
  5. Breadboard 1
  6. 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!

Ingin Tahu Program Kami Lebih Lanjut?

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

Baca Juga

Bagikan:

Tags

3 pemikiran pada “Tutorial IoT Mengatur Maksimal Jumlah Pengunjung dengan Telegram”

Tinggalkan komentar

whatsapp whatsapp