[membership level=”0,1,2,4″]
1. Alat / Bahan
- Arduino IDE Download
- Library: LiquidCrystal_I2C Download
- Library: RFID Download
- Library: DS3231 Download
- Arduino UNO 1 Buah
- Modul RFID 1 Buah
- LDC 16×2 1 Buah
- I2C 1 Buah
- DS3231 1 Buah
- Project Board 1 Buah
- Kabel Jumper Secukupnya
Selanjutnya untuk mendapatkan komponen elektronik di atas silahkan temukan.
2. Skema Rangkaian

Gambar Rangkaian Absen Masuk Kantor dengan Tanda Pengenal KTP
Keterangan:
- 5V – VCC RFID, VCC I2C, VCC DS3231
- GND – GND RFID, GND I2C, GND DS3231
- D6 – RST RFID
- D10 – NSS RFID
- D11 – MOSI RFID
- D12 – MISO RFID
- D13 – SCK RFID
- SDA – SDA I2C, SDA DS3231
- SCL – SCL I2C, SCL DS3231
- Pin I2C – Pin LCD
[/membership]
3. Langkah Kerja
- Pertama siapkan alat dan bahan yang akan digunakan
- Kemudian Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
- Selanjutnya Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- Setelah itu Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE selanjutnya pilih Sketch->Include Library->Add.Zip Library
- Kemudian Ketikkan sketch program pada halaman Arduino IDE
- Setelah itu Masukan alamat I2C LCD pada sketch program, Seterusnya untuk mengetahui alamat I2C pelajari materi berikut:
 Mencari Tahu Alamat I2C Pada Modul I2C
- Selanjutnya Ganti data tag dengan tag yang kalian miliki dengan format:
 int Data_RFID[4] = {data_ke-1,data_ke-2,data_ke-3,data_ke-4};
 Kemudian untuk mengetahui data tag dapat dilihat di sini:
 Membaca Kode Tag dengan Sensor RFID
- Setelah itu lakukan proses uploading program
4. Sketch Program
Dapatkan puluhan ebook gratis dengan registrasi melalui tombol di bawah!
 
/* Program Absen Masuk Kantor dengan Tanda Pengenal KTP dibuat oleh Indobot */
#include <SPI.h>                      //Library komunikasi SPI
#include <RFID.h>                     //Library RFID
#define SS_PIN 10                     //Deklarasi pin ss pada D10
#define RST_PIN 6                     //Deklarasi pin rst pada D6
RFID rfid(SS_PIN,RST_PIN);            //Kenalkan pin ss dan rst pada RFID
int Data_RFID[4] = {34,188,94,52};    //Kode data tag
bool akses = true;                    //Variabel akses bernilai benar
#include <LiquidCrystal_I2C.h>      //Library LCD I2C
LiquidCrystal_I2C lcd(0x27,16,2);   //Alamat I2C
#include <DS3231.h>       //library DS3231
DS3231  rtc(SDA, SCL);    //inisialisasi penggunaan i2c
Time t;                   //Variabel t tampat menyimpan waktu
int set_jam = 06;         //Set jam
int set_menit = 59;       //Set menit
int set_detik = 59;
void setup() {
  Serial.begin(9600);                 //Mulai komunikasi serial
  SPI.begin();                        //Mulai komunikasi SPI
  rfid.init();                        //Mulai RFID
  lcd.init ();            //Mulai LCD
  lcd.setBacklight(HIGH);
  
  rtc.begin();            //Mulai RTC
  
  //setting pertama download program
  rtc.setDate(30, 9, 2020);     //mensetting tanggal 
  rtc.setTime(06, 59, 50);      //menset jam 
  rtc.setDOW(3);                //menset hari "Rabu"
}
void loop() {
  lcd.setCursor(0,0);
  lcd.print(rtc.getTimeStr());  //prosedur pembacaan waktu
  
  if(rfid.isCard() && rfid.readCardSerial()){ //Jika ada tag dan terbaca, maka
    for( int i=0 ; i<=3 ; i++){               
      if(rfid.serNum[i] != Data_RFID[i]){     //Jika kode tag tidak sama, maka
        goto tolak_akses;                     //Lompat ke perintah tolak_akses
      }
    }
    rfid.halt();
    
    t = rtc.getTime();            //Baca waktu
    int jam = t.hour;
    int menit = t.min;
    int detik = t.sec;
    
    if(set_jam <= jam){       
      if(set_menit <= menit){   
        if(detik <= set_detik){
          lcd.setCursor(0,1);   
          lcd.print("Selamat Datang");
        }
        else{goto tolak_akses;}
      }
      else{goto tolak_akses;}
    }
    else{goto tolak_akses;}
  }
  delay(1000);
  lcd.clear();
  
  if(akses == false){                   
    tolak_akses:                        //Lompatan perintah tolak_akses
    lcd.setCursor(0,1);
    lcd.print("Akses Ditolak!");
    delay(1000);
    lcd.clear();
  }
}
Selanjutnya kesimpulan:
[/membership]
Ingin mengadakan pelatihan Arduino / IoT (Internet of Things) bersama Indobot?
 
					







 
 
	
Warning: Undefined variable $req in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 162
Warning: Undefined variable $commenter in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 163
Warning: Trying to access array offset on value of type null in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 163
Warning: Undefined variable $aria_req in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 163
Warning: Undefined variable $req in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 167
Warning: Undefined variable $commenter in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 168
Warning: Trying to access array offset on value of type null in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 168
Warning: Undefined variable $aria_req in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 169