Tutorial Alat Penghitung Pengunjung Otomatis

Indobot Update

Tutorial Alat Penghitung Pengunjung Otomatis dengan Komunikasi Client Server

 

Halo Sahabat Indobot!

Sedang ada project apa hari ini?

Kali ini, kita akan membuat alat penghitung pengunjung otomatis jika kita menggunakan pintu masuk dan keluar yang berjauhan.

Di masa pandemi ini, kita diharuskan untuk membatasi kegiatan yang berkaitan dengan kerumunan. Hal ini juga termasuk pada mengunjungi tempat-tempat tertentu seperti mall, bandara, terminal dan lain sebagainya. Efek dari pembatasan ini adalah munculnya pembatasan jumlah pengunjung untuk menghindari kerumunan.

Contoh saja ketika kita berada di sebuah toko dengan luas 100m2 maka jika kita diharuskan untuk menjaga jarak sekitar 1m2 maka kita hanya memaksimalkan pengunjung menjadi 100 orang saja. Itupun belum dikurangi dengan luas rak-rak toko. Maka penjual juga perlu memperkirakan berapa orang yang boleh masuk dan kemudian boleh memasukkan orang lagi ketika ada salah satu atau dua pengunjung yang keluar. Sehingga kita  membutuhkan alat penghitung pengunjung untuk membatasi jumlah orang dalam suatu ruangan. 

Nah. Pada project kali ini, kita akan membuat sistem penghitung pengunjung dengan menggunakan 2 sensor ultrasonik dengan mengandalkan 2 NodeMCU ESP8266. NodeMCU ini berfungsi untuk berkomunikasi antara 2 pintu, yaitu pintu masuk dan juga pintu keluar. Komunikasi yang digunakan hanya menggunakan wifi yang dimunculkan oleh NodeMCU tersebut. Bagaimana cara membuatnya? Langsung saja kita coba.

Alat dan juga Bahan

Alat dan bahan untuk project ini adalah sebagai berikut.

  1. Software Arduino ID
  2. NodeMCU ESP8266 2
  3. Sensor Ultrasonik 2
  4. LCD 16×2 1
  5. I2C 1
  6. Projectboard 2
  7. Kabel jumper Secukupnya

 

Belajar Elektronika, Arduino, dan juga 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 menambahkan beberapa library untuk mendukung program, seperti library HCSR04 dan Liquid Crystal I2C.

program berikut adalah program untuk server (dengan ultrasonik dan LCD)

//program server client oleh indobot.co.id
#include //library wifi
#include #include
int tambah = 0;
HCSR04 hc(D3,D4); //HCSR04 (trig pin , echo pin)
WiFiServer server(80);
IPAddress IP(111,111,1,11); //ip address (bebas tapi format sama)
IPAddress mask = (255, 255, 255, 0);LiquidCrystal_I2C lcd(0x27,16,2);void setup()
{
Serial.begin(9600);
lcd.init();
lcd.backlight();WiFi.mode(WIFI_AP);
WiFi.softAP(“nodemcuserver”, “indobot”); //ssid dan password (bebas tanpa spasi)
WiFi.softAPConfig(IP, IP, mask);
server.begin();
Serial.println();
Serial.println(“SERVER NODEMCU ESP8266”);
Serial.println(“Server dimulai.”);
Serial.print(“IP: “); Serial.println(WiFi.softAPIP());
Serial.print(“MAC:”); Serial.println(WiFi.softAPmacAddress());
}
void loop()
{
int jarak = hc.dist();
Serial.println(jarak);
WiFiClient client = server.available();
if (!client)
{
return;
}
if (jarak <=50) tambah++;
String request = client.readStringUntil(‘\r’);
Serial.println(“********************************”);
Serial.println(“Client Mengirim: ” + request); //request untuk kiriman client
client.flush();
Serial.print(“Jumlah Byte yang dikirim: “); //mengetahui jumlah byte
int kurang = request.toInt();
int total = tambah – kurang;
lcd.setCursor(0,0);
lcd.print(“Pengunjung :”);
lcd.setCursor(0,1);
lcd.print(total);
lcd.print(” orang”);
}

 

baca juga: Tutorial Menampilkan Suhu di 2 NodeMCU ESP8266 dengan Sistem Client Server

Isi pada bagian ip adress, dan WiFi.softAP(“namawifi”,”passworwifi”); pada bagian ini tidak diisi wifi internet anda, tapi wifi di sini, dimaksudkan sebagai penamaan wifi NodeMCU ESP8266 anda. Tidak perlu menggunakan spasi ya. Intinya diisi saja sesuai dengan keinginan kalian. IP Adress pun tidak perlu bingung. Diisi sesuai dengan keinginan kalian, asal tetap ada 4 angka yang dipisahkan dengan tanda koma dan harus angka. Jangan menggunakan huruf.

program berikut adalah program untuk client (dengan ultrasonik dan tanpa LCD)
 
#include &amp;lt;ESP8266WiFi.h&amp;gt;
#include &amp;lt;HCSR04.h&amp;gt;

HCSR04 hc(D3,D4); //HCSR04 (trig pin , echo pin)
int kurang = 0;

char ssid[] = "nodemcuserver";           // samakan dengan server
char pass[] = "indobot";         // samakan dengan server
IPAddress server(111,111,1,11);     // ini juga samakan dengan server
WiFiClient client;


void setup() {
  Serial.begin(9600);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, pass);           // terhubung dengan server
  Serial.println();
  Serial.println("Terhubung dengan Server?");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  
  Serial.println();
  Serial.println("terhubung");
  Serial.println("CLIENT NODEMCU ESP8266");
  Serial.print("LocalIP:"); Serial.println(WiFi.localIP());
  Serial.println("MAC:" + WiFi.macAddress());
  Serial.print("Gateway:"); Serial.println(WiFi.gatewayIP());
  Serial.print("AP MAC:"); Serial.println(WiFi.BSSIDstr());
}

void loop() {
  int jarak = hc.dist();
  Serial.println(jarak); 

  client.connect(server, 80);
  Serial.println("********************************");
  Serial.print("tambah Byte yang dikirim: ");
    if (jarak &amp;lt;=50) kurang--;
  client.print((String) kurang +"\r"); //Mengirim ke server
  String answer = client.readStringUntil('\r');
 // Serial.println("Server Mengirim: " + answer); //jawaban server

  client.flush();
  client.stop();
}

Samakan ssid, password dan juga IP adress dengan server. Ingat! Program arduino IDE menggunakan case sensitive. Sehingga tidak boleh ada perbedaan antara huruf besar kecil.

baca juga: Komunikasi 2 NodeMCU ESP8266 tanpa Koneksi Internet (Client Server)

Upload kedua program di atas sesuai dengan NodeMCU masing-masing. Hasil dari  project ini adalah kita dapat menghitung pengunjung masuk dan pengunjung keluar, hingga kita dapat mengetahui berapa jumlah pengunjung yang ada di dalam ruuangan. Pemasangan dari 2 NodeMCU ini disesuaikan dengan menggunakan server di pengunjung masuk dan client di pengunjung keluar. NodeMCU Client akan mengirimkan hasil bacaannya ke server sebagai pengurangan nilai pengunjung.

Bagaimana? ingin mencoba membuatnya? Coba aja. Kembangkan sendiri ya.

Mau belajar elektronika dasar? Arduino? atau bahkan 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

Tinggalkan komentar

whatsapp whatsapp