Membuat Daftar Tamu menggunakan Arduino

Untuk membuat Daftar Tamu menggunakan Arduino, Anda bisa membuat sistem yang memungkinkan tamu untuk mendaftarkan diri mereka ketika datang. Misalnya, dengan menggunakan tombol, keypad, atau pembaca RFID yang terhubung ke Arduino. Data yang dimasukkan oleh tamu kemudian bisa ditampilkan di LCD dan disimpan dalam memori eksternal seperti kartu SD. Berikut adalah langkah-langkah umum untuk Membuat Daftar Tamu menggunakan Arduino :
1. Alat dan Bahan
- Arduino (Uno atau model lainnya)
- LCD Display (16×2 atau lainnya)
- Keypad (4×4 atau lainnya) atau RFID Reader
- Modul RTC (Real-Time Clock) untuk mencatat waktu kehadiran
- Kartu SD dan modul pembaca kartu SD
- Kabel jumper dan breadboard
- Power supply (jika diperlukan)
- Tombol push-button (opsional)
2. Menyusun Skematik
Hubungkan perangkat-perangkat berikut ke Arduino:
- LCD Display: Hubungkan ke pin digital untuk menampilkan teks.
- Keypad atau RFID Reader: Untuk input data dari tamu.
- Modul RTC: Untuk mencatat waktu saat tamu hadir.
- Modul SD Card: Untuk menyimpan daftar tamu secara permanen.
3. Kode Program
Kode ini akan mengatur bagaimana Arduino membaca input dari keypad atau RFID, menampilkan data pada LCD, dan menyimpannya ke dalam kartu SD. Berikut adalah contoh sederhana:
LiquidCrystal_I2C lcd(0x27, 16, 2);
RTC_DS1307 rtc;
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);
File dataFile;
void setup() {
lcd.begin();
lcd.backlight();
if (!SD.begin(10)) {
lcd.print("SD Card failed");
return;
}
if (!rtc.begin()) {
lcd.print("RTC failed");
return;
}
if (!rtc.isrunning()) {
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
lcd.print("Welcome");
delay(2000);
lcd.clear();
}
void loop() {
char key = keypad.getKey();
if (key) {
lcd.clear();
lcd.print("Input: ");
lcd.print(key);
logGuest(key);
}
}
void logGuest(char key) {
DateTime now = rtc.now();
dataFile = SD.open("datalog.txt", FILE_WRITE);
if (dataFile) {
dataFile.print(now.year(), DEC);
dataFile.print('/');
dataFile.print(now.month(), DEC);
dataFile.print('/');
dataFile.print(now.day(), DEC);
dataFile.print(" ");
dataFile.print(now.hour(), DEC);
dataFile.print(':');
dataFile.print(now.minute(), DEC);
dataFile.print(':');
dataFile.print(now.second(), DEC);
dataFile.print(", ");
dataFile.println(key);
dataFile.close();
} else {
lcd.print("SD Card Error");
}
}
4. Penjelasan Kode
- LiquidCrystal_I2C: Digunakan untuk mengontrol LCD melalui I2C.
- Keypad: Membaca input dari keypad.
- RTC_DS1307: Modul RTC untuk mencatat waktu.
- SD.h: Untuk menyimpan data ke kartu SD.
5. Memperluas Fungsi
- RFID: Anda bisa mengganti input keypad dengan RFID Reader untuk mengenali kartu tamu.
- Notifikasi: Kirim notifikasi melalui SMS atau Email jika tamu terdaftar.
- Database: Data bisa diintegrasikan dengan database untuk akses lebih lanjut.
6. Testing
- Hubungkan semua komponen sesuai skema.
- Unggah kode ke Arduino.
- Lakukan pengujian dengan memasukkan data tamu melalui keypad atau RFID.
Proyek ini dapat dimodifikasi lebih lanjut sesuai kebutuhan, seperti menambahkan fitur tambahan atau mengganti input method.

