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:
- Menambah jumlah pengunjung.
- Menampilkan jumlah pengunjung pada LCD.
- Memutar suara sambutan melalui DFPlayer
Mini.
- Mengirim data jumlah pengunjung ke aplikasi Blynk.
- 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
- Login ke Blynk Cloud.
- Pilih Developer Zone.
- Klik New Template.
- Isi nama template, misalnya ALARM PENGUNJUNG TOKO.
- Pilih hardware ESP32.
- 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
- Hubungkan ESP32 ke komputer menggunakan kabel USB.
- Pilih Board: ESP32 Dev Module.
- Pilih port COM yang sesuai.
- Tempelkan kode program.
- Klik Verify untuk memastikan tidak ada error.
- 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