ISS berkesempatan membuat mesin absensi pegawai untuk owner dari sebuah toko UMKM di Bandung. Sistem dirancang untuk mudah dipakai sekalipun oleh pengguna yang sehari-hari tidak memakai komputer. Karena itu, mesin absen menggunakan kartu RFID karena sudah banyak dipakai di Indonesia dan harganya relatif terjangkau (misalnya, kartu e-toll atau e-ktp). Pengguna cukup menyentuhkan kartu di alat pendeteksi. Selain itu, hasil absen diunggah secara otomatis ke google sheet dan dapat dicek dari mana saja dengan sambungan internet.

Perangkat yang digunakan

  • Mikrokontroler ESP8266
  • LCD 16×2 (I2C)
  • MFRC-522
  • Kartu RFID mifare 1KB
  • Resistor dan LED
  • Buzzer

Skema rangkaian dan penjelasan

Mikrokontroler ESP8266 digunakan dengan konfigurasi sebagai berikut:

LabelGPIOPenggunaan
D0GPIO16MFRC522 RST
D1GPIO5I2C LCD SCL
D2GPIO4I2C LCD SDA
D4GPIO2Resistor, Buzzer, dan LED
D5GPIO14MFRC522 SCK
D6GPIO12MFRC522 MISO
D7GPIO13MFRC522 MOSI
D8GPIO15MFRC522 SDA

Adapun resistor yang digunakan adalah pulled-up karena GPIO2 akan gagal boot saat pulled-low1.

Source Code

Source code dari mesin absensi dapat diakses dari link berikut:

bima-attendance

Code dibagi dalam 5 file, yaitu:

  • attendance.ino (file utama)
  • attendance_buzzer_method (mengatur fungsi buzzer)2
  • attendance_rfid_method (mengatur fungsi rfid)3
  • attendance_wifi_method (mengatur fungsi wifi)
  • attendance_gsheet_method (mengatur fungsi google sheet)4
  • attendance_time_method (mengatur fungsi waktu)5

Kelima file ini akan digabung secara otomatis saat source code dicompile (penulis menggunakan arduino IDE).

Kesimpulan

Mesin telah digunakan secara rutin tanpa kendala besar. Dari hasil pantauan, ada beberapa hal yang dapat diperbaiki untuk versi berikutnya:

  • Waktu mengunggah sekitar 5 detik, ketika koneksi wi-fi tidak baik, bisa mencapai 30 detik, membuat pengguna berikutnya harus menunggu. Mungkin dapat diperbaiki dengan background task menggunakan real time operating system (RTOS).
  • Saat mesin dinyalakan padahal koneksi wi-fi belum terhubung, mesin tidak dapat menerima hasil absensi. Mungkin dapat diperbaiki dengan menyimpan hasil absensi, yang akan diunggah saat koneksi wi-fi sudah benar.

Penutup

Di ISS, kami dapat memberikan solusi custom terhadap berbagai masalah teknologi Anda dengan menggunakan software, mikrokontroler, IoT, otomasi. Kami sanggup menyediakan solusi untuk beragam skala bisnis UMKM, silakan kontak ISS dan berdiskusilah dengan kami.

  1. ESP8266 Pinout Reference: Which GPIO pins should you use? | Random Nerd Tutorials ↩︎
  2. Tutorial cara menghubungkan buzzer dengan ESP32 – Labrobotika ↩︎
  3. ESP32 with MFRC522 RFID Reader/Writer (Arduino IDE) | Random Nerd Tutorials ↩︎
  4. ESP32 Datalogging to Google Sheets (Google Service Account) | Random Nerd Tutorials ↩︎
  5. Getting Date and Time with ESP32 (NTP Client) | Random Nerd Tutorials ↩︎

Categories:

Tags: