Absen Masuk Kantor dengan Tanda Pengenal KTP

Indobot Academy

E-KTP saat ini berfungsi sebagai tanda pengenal dengan chips yang terdapat di dalamnya. Selanjutnya, kita dapat memanfaatkan E-KTP sebagai tanda akses masuk atau untuk melakukan absen dengan ktp dalam suatu perusahaan.

[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
  1. Pertama siapkan alat dan bahan yang akan digunakan
  2. Kemudian Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
  3. Selanjutnya Buka software Arduino IDE yang telah terinstal pada laptop/komputer
  4. Setelah itu Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE selanjutnya pilih Sketch->Include Library->Add.Zip Library 
  5. Kemudian Ketikkan sketch program pada halaman Arduino IDE
  6. Setelah itu Masukan alamat I2C LCD pada sketch program, Seterusnya untuk mengetahui alamat I2C pelajari materi berikut:
    Mencari Tahu Alamat I2C Pada Modul I2C
  7. 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
  8. 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:

Dengan menerapkan alat ini, pengguna hanya perlu menempelkan e-KTP yang telah didaftarkan, kemudian dapat dengan mudah melakukan absensi melalui RFID. Selanjutnya, jika seorang karyawan absen melebihi waktu yang telah ditentukan, presensinya akan ditolak.

[/membership]

Ingin mengadakan pelatihan Arduino / IoT (Internet of Things) bersama Indobot?

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tags

Tinggalkan komentar

whatsapp whatsapp