Kembali ke semua proyek
Hardware & IoT/15 November 2024

Sistem Absensi RFID berbasis Arduino — Projek Pemuda Pancasila

Mengembangkan sistem absensi dan keamanan berbasis RFID menggunakan Arduino dalam rangka Projek Pengembangan Profil Pemuda Pancasila di SMK Telkom Jakarta.

Sistem Absensi RFID — Projek Pemuda Pancasila

Dalam rangka Projek Pengembangan Profil Pemuda Pancasila (P5) di SMK Telkom Jakarta, saya berkontribusi dalam pengembangan sistem absensi dan keamanan modern berbasis RFID (Radio Frequency Identification) menggunakan Arduino.

Gambaran Proyek

DetailKeterangan
PlatformArduino Uno / Mega
Modul RFIDRC522 (13.56 MHz)
BahasaC++ (Arduino), Python
StatusSelesai ✅

Komponen Hardware

  • Arduino Uno — mikrokontroler utama
  • RFID Reader RC522 — pembaca kartu
  • LCD 16x2 I2C — display status absensi
  • Buzzer — indikator audio
  • LED — indikator visual (hijau/merah)
  • Kartu RFID / Tag — untuk setiap siswa

Alur Kerja Sistem

Kartu RFID didekatkan
        ↓
RFID Reader membaca UID
        ↓
Arduino memvalidasi UID ke database
        ↓
    Terdaftar? ─── Tidak ──→ DENIED (LED Merah + Buzzer)
        │
       Ya
        ↓
    GRANTED (LED Hijau + LCD menampilkan nama)
        ↓
Data dikirim ke Python script untuk logging

Code Arduino (Inti)

#include <SPI.h>
#include <MFRC522.h>
#include <LiquidCrystal_I2C.h>

#define RST_PIN  9
#define SS_PIN   10

MFRC522 rfid(SS_PIN, RST_PIN);
LiquidCrystal_I2C lcd(0x27, 16, 2);

// Daftar UID yang diizinkan
String authorizedUIDs[] = {
  "A3B2C1D0",
  "F1E2D3C4"
};

void setup() {
  SPI.begin();
  rfid.PCD_Init();
  lcd.init();
  lcd.backlight();
  lcd.print("Scan Kartu...");
}

void loop() {
  if (!rfid.PICC_IsNewCardPresent()) return;
  if (!rfid.PICC_ReadCardSerial()) return;

  String uid = getUID();
  
  if (isAuthorized(uid)) {
    lcd.clear();
    lcd.print("Akses Diterima!");
    // Log ke serial untuk Python
    Serial.println("GRANTED:" + uid);
  } else {
    lcd.clear();
    lcd.print("Akses Ditolak!");
    Serial.println("DENIED:" + uid);
  }
  
  delay(2000);
  lcd.clear();
  lcd.print("Scan Kartu...");
}

Fitur UI/UX dengan Figma

Selain hardware, saya juga merancang UI/UX platform E-Commerce interaktif menggunakan Figma sebagai bagian dari proyek yang sama — memastikan pengalaman pengguna yang intuitif dan modern.

Proyek ini mengajarkan saya cara mengintegrasikan dunia fisik (hardware) dengan dunia digital (software) — sebuah fondasi penting untuk pengembangan IoT di masa depan.