Membuat Pendaftaran Peserta Menggunakan Arduino

Membuat pendaftaran peserta menggunakan Arduino bisa dilakukan dengan memanfaatkan beberapa komponen elektronik yang terhubung ke Arduino. Berikut adalah gambaran umum bagaimana Anda bisa membuat sistem pendaftaran peserta menggunakan Arduino:
Komponen yang Diperlukan:
- Arduino (Uno, Nano, atau Mega)
- LCD 16×2 atau OLED Display untuk menampilkan informasi pendaftaran.
- Keypad (4×4) untuk memasukkan data peserta.
- Module RTC (Real Time Clock) untuk mencatat waktu pendaftaran.
- MicroSD Module untuk menyimpan data pendaftaran.
- LED dan Buzzer untuk indikasi.
- Breadboard dan Kabel Jumper untuk koneksi.
- Resistor, Potensiometer (untuk kontras LCD) jika menggunakan LCD.
Langkah-langkah Pembuatan:
- Rancang Skematik Koneksi Komponen:
- Sambungkan LCD atau OLED Display ke Arduino untuk menampilkan pesan dan status pendaftaran.
- Hubungkan Keypad ke Arduino untuk input data, seperti ID atau nama peserta.
- Sambungkan RTC Module ke Arduino untuk mengambil informasi waktu saat pendaftaran.
- Hubungkan MicroSD Module ke Arduino untuk menyimpan data pendaftaran dalam file teks.
- Tambahkan LED dan Buzzer untuk memberikan indikasi keberhasilan atau kesalahan.
- Koding untuk Arduino:
- Mulai dengan menginisialisasi semua komponen di setup() function.
- Buat fungsi untuk membaca input dari keypad dan menampilkan data ke LCD.
- Buat fungsi untuk mengambil waktu dari RTC dan mencatatnya bersama dengan data peserta.
- Buat fungsi untuk menyimpan data ke MicroSD.
- Berikan umpan balik menggunakan LED dan Buzzer sesuai dengan status pendaftaran (misalnya LED menyala hijau jika pendaftaran berhasil).
- Contoh Kode Sederhana:
cpp
// Inisialisasi LCD
LiquidCrystal_I2C lcd(0x27, 16, 2);// Konfigurasi keypad
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);// Inisialisasi RTC
RTC_DS1307 rtc;// Inisialisasi SD Card
const int chipSelect = 10;void setup() {
lcd.begin();
lcd.backlight();
lcd.print("Selamat Datang!");if (!rtc.begin()) {
lcd.clear();
lcd.print("RTC Error!");
while (1);
}if (!SD.begin(chipSelect)) {
lcd.clear();
lcd.print("SD Card Error!");
while (1);
}
}void loop() {
lcd.setCursor(0, 1);
lcd.print("Masukkan ID: ");
char key = keypad.getKey();if (key) {
lcd.setCursor(0, 1);
lcd.print("ID: ");
lcd.print(key);DateTime now = rtc.now();
File dataFile = SD.open("data.txt", FILE_WRITE);
if (dataFile) {
dataFile.print("ID: ");
dataFile.print(key);
dataFile.print(" ");
dataFile.print(now.day(), DEC);
dataFile.print('/');
dataFile.print(now.month(), DEC);
dataFile.print('/');
dataFile.print(now.year(), DEC);
dataFile.print(' ');
dataFile.print(now.hour(), DEC);
dataFile.print(':');
dataFile.print(now.minute(), DEC);
dataFile.print(':');
dataFile.print(now.second(), DEC);
dataFile.println();
dataFile.close();
lcd.clear();
lcd.print("Pendaftaran OK!");
} else {
lcd.clear();
lcd.print("Error Menyimpan!");
}
delay(2000);
lcd.clear();
}
}
Langkah Selanjutnya:
- Setelah sistem ini bekerja, Anda bisa menambahkan fitur-fitur tambahan, seperti autentikasi menggunakan RFID atau face recognition, membuat antarmuka yang lebih interaktif, atau mengintegrasikan sistem ini dengan database eksternal.

