Thursday, May 21, 2026

Presensi RFID Berbasis IoT dengan Google Spredsheet

Presensi RFID Berbasis IoT



Monitoring kehadiran siswa realtime menggunakan ESP32, RFID, dan Google Spreadsheet

Project IoT SMK Negeri 1 Kedungwuni

Presensi RFID ESP32 Google Spreadsheet Realtime Attendance System

Profil Tim

Nama Siswa:
1. Isi Nama Siswa
2. Isi Nama Siswa
3. Isi Nama Siswa

SMK Negeri 1 Kedungwuni

Deskripsi Proyek

Sistem presensi otomatis menggunakan RFID RC522 dan ESP32. Setiap kartu RFID yang ditempel akan dibaca, kemudian data UID, nama siswa, tanggal, dan jam akan otomatis dikirim ke Google Spreadsheet sehingga guru dapat memantau kehadiran secara realtime.


Komponen yang Digunakan

No Komponen Jumlah
1 ESP32 1
2 RFID RC522 1
3 LCD I2C 16x2 1
4 Buzzer 1
5 Kartu RFID Beberapa

Wiring ESP32

RFID RC522
SDA → GPIO 5
SCK → GPIO 18
MOSI → GPIO 23
MISO → GPIO 19
RST → GPIO 22
3.3V → 3.3V
GND → GND

LCD I2C
SDA → GPIO 21
SCL → GPIO 22

Buzzer
+ → GPIO 25

Alur Sistem

1. Siswa menempelkan kartu RFID
2. RFID membaca UID kartu
3. ESP32 mencocokkan data siswa
4. Data dikirim ke Google Spreadsheet
5. LCD menampilkan nama siswa
6. Rekap kehadiran langsung terlihat realtime

Google Apps Script

function doGet(e){
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data");
  sheet.appendRow([
    new Date(),
    e.parameter.uid,
    e.parameter.nama
  ]);
  return ContentService.createTextOutput("OK");
}

Source Code ESP32

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

#define SS_PIN 5
#define RST_PIN 22
#define BUZZER 25

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

const char* ssid="NamaWifi";
const char* password="PasswordWifi";

String scriptURL="ISI_URL_APPS_SCRIPT";

void setup(){
 Serial.begin(115200);

 SPI.begin();
 rfid.PCD_Init();

 pinMode(BUZZER,OUTPUT);

 lcd.init();
 lcd.backlight();

 WiFi.begin(ssid,password);

 while(WiFi.status()!=WL_CONNECTED){
   delay(500);
 }

 lcd.print("System Ready");
}

void loop(){

 if(!rfid.PICC_IsNewCardPresent()) return;
 if(!rfid.PICC_ReadCardSerial()) return;

 String uid="";
 for(byte i=0;i

Tampilan Rekap Spreadsheet

Masukkan link publish spreadsheet Anda di bawah ini:

Video Demo

Kesimpulan

Proyek ini menunjukkan implementasi Internet of Things dalam sistem presensi modern. Data tersimpan otomatis, realtime, akurat, dan mempermudah monitoring kehadiran siswa.

No comments:

Post a Comment