ALARM PENGUNJUNG OTOMATIS IOT


Video Tutorial

Skema Rangkaian

Kode Program

 /*

Proyek: Penghitung Pengunjung Otomatis (Stabilized Version)

Komponen: ESP32, HC-SR04, DFPlayer Mini, LCD I2C 16x2

By: Santri Fisika

*/


// --- Konfigurasi Blynk IoT --- (GANTI TULISAN MERAH DI BAWAH DENGAN TOKEN BLYNK)

#define BLYNK_TEMPLATE_ID "TMPL6obDbYiai"

#define BLYNK_TEMPLATE_NAME "ALARM PENGUNJUNG TOKO"

#define BLYNK_AUTH_TOKEN "tFQlETY8Ul4D1xYWQHv_5XPty0hxzRg-"


#include <WiFi.h>

#include <WiFiClient.h>

#include <BlynkSimpleEsp32.h>

#include <HardwareSerial.h>

#include <DFRobotDFPlayerMini.h>

#include <Wire.h>

#include <LiquidCrystal_I2C.h>


// --- Kredensial Wi-Fi ---

char ssid[] = "[..ISI NAMA WIFI..]";

char pass[] = "[..ISI PASSWORD WIFI..]";


// --- PINOUT KOMPONEN BARU ---

#define PIN_TRIG 13

#define PIN_ECHO 34

#define PIN_RX_DFP 27

#define PIN_TX_DFP 25


// --- Pin Virtual Blynk ---

#define VPIN_COUNTER V1

#define VPIN_STATUS  V2

#define VPIN_RESET   V3


LiquidCrystal_I2C lcd(0x27, 16, 2);

BlynkTimer timer;


HardwareSerial mySoftwareSerial(2);

DFRobotDFPlayerMini myDFPlayer;


int jumlahPengunjung = 0;

long durasi;

int jarak;

int batasJarak = 80;


unsigned long waktuTerakhir = 0;

const unsigned long jedaSuara = 5000;


String teksSelamatDatang =

"   Selamat datang di toko kami, silakan berbelanja dan terimakasih atas kunjungan anda.   ";


...


void setup()

{

    ...

}


void loop()

{

    ...

}


BLYNK_WRITE(VPIN_RESET)

{

    int tombolReset = param.asInt();


    if (tombolReset == 1)

    {

        jumlahPengunjung = 0;

        Blynk.virtualWrite(VPIN_COUNTER, jumlahPengunjung);

        Blynk.virtualWrite(VPIN_STATUS, "Counter Direset");

        updateBarisDuaLCD();

        Serial.println("Reset sukses.");

    }

}


Cara Kerja Sistem

Saat seseorang berjalan melewati sensor HC-SR04 dengan jarak kurang dari 80 cm, sensor akan mengirimkan data ke ESP32.

ESP32 kemudian akan:

  1. Menambah jumlah pengunjung.
  2. Menampilkan jumlah pengunjung pada LCD.
  3. Memutar suara sambutan melalui DFPlayer Mini.
  4. Mengirim data jumlah pengunjung ke aplikasi Blynk.
  5. Menunggu selama 5 detik agar orang yang sama tidak dihitung dua kali.

Komponen yang Digunakan

No

Komponen

Jumlah

1

ESP32 DevKit V1

1

2

HC-SR04

1

3

LCD I2C 16×2

1

4

DFPlayer Mini

1

5

Speaker 3 Watt

1

6

Breadboard

1

7

Jumper Male Female

Beberapa

8

Adaptor 5 Volt

1

9

Micro SD Card

1


Fungsi Setiap Komponen

ESP32 DevKit V1

Berfungsi sebagai otak sistem yang mengolah seluruh data sensor dan mengirimkan data ke internet.

HC-SR04

Mengukur jarak objek menggunakan gelombang ultrasonik.

LCD I2C

Menampilkan informasi jumlah pengunjung dan status sistem.

DFPlayer Mini

Memutar file audio MP3 sebagai suara sambutan ketika ada pengunjung.

Speaker

Menghasilkan suara dari DFPlayer Mini.

Blynk IoT

Menampilkan data monitoring secara real-time melalui smartphone.


Skema Pin ESP32

Komponen

Pin ESP32

HC-SR04 Trigger

GPIO13

HC-SR04 Echo

GPIO34

DFPlayer RX

GPIO27

DFPlayer TX

GPIO25

LCD SDA

GPIO21

LCD SCL

GPIO22


Menyiapkan Audio Sambutan

Agar DFPlayer Mini dapat memutar suara sambutan, kita perlu membuat file audio dalam format MP3.

Anda dapat menggunakan salah satu layanan berikut.

  • ElevenLabs
  • Google AI Studio
  • Microsoft Edge Read Aloud
  • CapCut Text to Speech
  • Narakeet

Contoh isi audio:

"Selamat datang di toko kami. Silakan berbelanja dengan nyaman dan terima kasih atas kunjungan Anda."


Format Audio yang Direkomendasikan

  • Format: MP3
  • Bitrate: 128 kbps
  • Sample Rate: 44.1 kHz
  • Channel: Mono

Menyiapkan Micro SD Card

Format terlebih dahulu Micro SD Card menjadi FAT32.

Kemudian buat folder bernama:

MP3

Simpan file audio dengan nama:

0001.mp3

Struktur penyimpanan:

MicroSD

├── MP3

     └── 0001.mp3

Selanjutnya masukkan Micro SD Card ke DFPlayer Mini.


Membuat Template Blynk IoT

  1. Login ke Blynk Cloud.
  2. Pilih Developer Zone.
  3. Klik New Template.
  4. Isi nama template, misalnya ALARM PENGUNJUNG TOKO.
  5. Pilih hardware ESP32.
  6. Simpan template.

Membuat Datastream

Tambahkan tiga Virtual Pin.

Virtual Pin

Nama

Tipe

V1

Counter

Integer

V2

Status

String

V3

Reset

Integer


Mendesain Dashboard Blynk

Tambahkan widget berikut:

  • Gauge untuk jumlah pengunjung (V1).
  • Label untuk status (V2).
  • Tombol Reset (V3).
  • History Graph untuk memantau perubahan jumlah pengunjung dari waktu ke waktu.

Menginstal Arduino IDE

Unduh Arduino IDE dari situs resminya, kemudian lakukan instalasi. Setelah itu tambahkan dukungan board ESP32 melalui Boards Manager.


Library yang Digunakan

Instal library berikut melalui Library Manager:

  • WiFi
  • Blynk
  • LiquidCrystal_I2C
  • DFRobotDFPlayerMini
  • Wire

Mengunggah Program ke ESP32

  1. Hubungkan ESP32 ke komputer menggunakan kabel USB.
  2. Pilih Board: ESP32 Dev Module.
  3. Pilih port COM yang sesuai.
  4. Tempelkan kode program.
  5. Klik Verify untuk memastikan tidak ada error.
  6. Klik Upload dan tunggu hingga proses selesai.

Cara Kerja Program

Program dimulai dengan menginisialisasi seluruh perangkat. Sensor HC-SR04 kemudian terus memantau keberadaan objek di depannya.

Jika terdeteksi objek dengan jarak kurang dari 80 cm dan jeda waktu telah terpenuhi, maka program akan:

  • Menambah penghitung pengunjung.
  • Memutar audio sambutan.
  • Menampilkan jumlah pengunjung terbaru pada LCD.
  • Mengirim data ke aplikasi Blynk.

Program juga menyediakan fitur reset penghitung melalui tombol pada aplikasi Blynk.


Pengujian Sistem

Lakukan beberapa skenario pengujian untuk memastikan sistem bekerja dengan baik.

Kondisi

Hasil

Tidak ada objek

Counter tidak berubah

Objek pada jarak 50 cm

Counter bertambah

Objek pada jarak 90 cm

Tidak terdeteksi

Reset dari Blynk

Counter kembali ke nol

Audio diputar

Berhasil

LCD diperbarui

Berhasil


Troubleshooting

Sensor tidak mendeteksi objek

  • Periksa koneksi TRIG dan ECHO.
  • Pastikan objek berada dalam jangkauan.

LCD tidak menampilkan tulisan

  • Periksa alamat I2C (0x27 atau 0x3F).
  • Pastikan SDA dan SCL terhubung dengan benar.

DFPlayer tidak mengeluarkan suara

  • Pastikan kartu Micro SD berformat FAT32.
  • Pastikan file audio berada pada folder yang benar dan dinamai sesuai ketentuan.

Blynk tidak menerima data

  • Periksa koneksi Wi-Fi.
  • Pastikan Auth Token, Template ID, dan Virtual Pin sesuai dengan konfigurasi program.

Pengembangan Selanjutnya

Sistem ini dapat dikembangkan lebih lanjut dengan menambahkan:

  • Kamera ESP32-CAM untuk penghitungan berbasis AI.
  • Pengenalan wajah (Face Recognition).
  • Penyimpanan data ke Google Sheets atau Firebase.
  • Dashboard web untuk analisis statistik pengunjung.
  • Integrasi dengan Telegram Bot atau WhatsApp untuk notifikasi.

Kesimpulan

Proyek penghitung pengunjung otomatis berbasis ESP32 ini menawarkan solusi yang sederhana namun efektif untuk memantau jumlah pengunjung secara real-time. Dengan memanfaatkan sensor ultrasonik, DFPlayer Mini, LCD I2C, dan platform Blynk IoT, sistem mampu memberikan pengalaman monitoring yang mudah diakses, stabil, dan dapat dikembangkan lebih lanjut sesuai kebutuhan.

 


Tidak ada komentar:

Posting Komentar