Sistem Absensi Siswa Menggunakan RFID dan SMS Gateway

Posted By: Jogja Robotika In: Project On: Saturday, June 22, 2019 Comment: 0 Hit: 349

Sistem Absensi Siswa Menggunakan RFID dan SMS Gateway

 

Hai teman-teman Jogjarobotika, kali ini kami mencoba membuat Sistem Absensi Siswa Menggunakan RFID dan SMS Gateway. Sistem ini berfungsi untuk mendata absensi siswa masuk dan keluar sekolah menggunakan kartu RFID atau menanamkan IC RFID pada kartu pelajar.

 .

Cara kerja sistem ini adalah sebagai berikut:

- Siswa yang masuk sekolah melakukan absensi menggunakan RFID card dengan cara tap kartu ke sistem. Kemudian tunggu beberapa detik sampai proses selesai.

- Ketika siswa berhasil absensi dengan cara men tap RFID card, SMS akan langsung terkirim ke nomor yang didaftarkan.

- Jika kartu sudah terdaftar, maka buzzer akan berbunyi sekali beserta LCD menampilkan pesan kemudian SMS akan langsung terkirim. Dan LCD akan kembali menampilkan ke tampilan awal.

- Jika kartu belum terdaftar, maka buzzer akan berbunyi beberapa kali beserta LCD menampilkan pesan dan SMS tidak akan terkirim. Kemudian LCD akan kembali menampilkan ke tampilan awal.

- Pesan SMS yang terkirim sesuai dengan tap RFID ketika masuk sekolah atau keluar sekolah. SMS nya juga akan menampilkan pesan waktu, jam berapa siswa tersebut masuk atau keluar sekolah.

 .

Bahan-bahan yang diperlukan:

1. Arduino UNO
2. Modul RFID dan RFID Tag
3. Buzzer 5V
4. Modul RTC DS1302
5. LCD 16x4 I2C
6. A6 MINI SERIAL GPRS GSM MODULE
7. Adaptor 5V 2A
8. Kabel Jumper

.

Skematik Sistem Absensi Siswa Menggunakan RFID dan SMS Gateway

.

1. Rangkaian Modul RFID & Arduino UNO

SDA - D10
SCK - D13
MOSI - D11
MISO - D12
RQ - NC
GND - GND
RST - D9
VCC - 3.3V

2. Rangkaian Buzzer 5V & Arduino UNO

(-) - D8
(+) - 5V

3. Rangkaian Modul RTC DS1302 & Arduino UNO

VCC - 5V
GND - GND
CLK - D2
DAT - D3
RST - D4

4. Rangkaian LCD I2C & Arduino UNO

GND - GND
VCC - VCC
SDA - A4
SCL - A5

5. Rangkaian Modul GSM A6 Mini & Arduino UNO

G - GND
URX - D7
UTX - D6
VCC - 5V

.

Setelah semua komponen terangkai dengan benar, sekarang kita masuk ke software arduino untuk memprogram Arduino UNO nya. Berikut penggalan programnya:

#include <SPI.h>
#include <MFRC522.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>
#include <DS1302.h>

.

.

.

.

void loop()
{
  delay(500);
  waktu();

  // Look for new cards

  if ( ! mfrc522.PICC_IsNewCardPresent())
  {
    return;
}

  //Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial())
  {
    return;
  }

  //Show UID on serial monitor 
  lcd.setCursor(0,2);
  Serial.print(" UID tag :");
  lcd.print("UID:");
  String content= "";
  byte letter;
  for (byte i = 0; i < mfrc522.uid.size; i++)
  { 

  Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
  Serial.print(mfrc522.uid.uidByte[i], HEX );
  lcd.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
  lcd.print(mfrc522.uid.uidByte[i], HEX);
  content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
  content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }

  lcd.setCursor(0,1);
  lcd.print("  Message : ");
  content.toUpperCase();

  if (content.substring(1) =="F2 17 A8 0A") //rubah UID nya disini sesuai ID card yang boleh di access
  {
    y+=1;
    if(y==3){y=1;}
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Hai EKO");
    digitalWrite(pinBuzzer, LOW);
    delay(300);
    digitalWrite(pinBuzzer, HIGH);
    lcd.setCursor(0,1);
    lcd.print("Anda Presensi pada");
    lcd.setCursor(0,2);
    lcd.print("Pukul ");
    lcd.setCursor(6,2);
    lcd.print(rtc.getTimeStr()); 
    if(y==1)
    {
      lcd.setCursor(0,3);
      lcd.print("Status: IN");
    }
    if(y==2)
    {
      lcd.setCursor(0,3);
      lcd.print("Status: OUT");
    }
    delay(2000);
    sendsmsY();
    insert();
  } 

  else if (content.substring(1) =="90 30 24 A8") //rubah UID nya disini sesuai ID card yang boleh di access
  {
    z+=1; 
    if(z==3){z=1;} 
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Hai ANJAR");
    digitalWrite(pinBuzzer, LOW);
    delay(300);
    digitalWrite(pinBuzzer, HIGH);
    lcd.setCursor(0,1);
    lcd.print("Anda Presensi pada");
    lcd.setCursor(0,2);
    lcd.print("Pukul ");
    lcd.setCursor(6,2);
    lcd.print(rtc.getTimeStr());   
    if(z==1)
    {
      lcd.setCursor(0,3);
      lcd.print("Status: IN");
    }
    if(z==2)
    {
      lcd.setCursor(0,3);
      lcd.print("Status: OUT");
    }
    delay(2000);
    sendsmsZ(); 
   insert(); 
 } 

  else
  {
    lcd.setCursor(0,2);
    lcd.clear();
    lcd.print(" Access Denied ");
    delay(500);
    digitalWrite(pinBuzzer, HIGH);
    delay(300);
    digitalWrite(pinBuzzer, LOW);
    delay(300);
    digitalWrite(pinBuzzer, HIGH);
    delay(300);
    digitalWrite(pinBuzzer, LOW);
    delay(300);
    digitalWrite(pinBuzzer, HIGH);
    delay(300);
    digitalWrite(pinBuzzer, LOW);
    delay(300);
    digitalWrite(pinBuzzer, HIGH);
    delay(1000); 

    insert();
  }
}

.

Library yang dipakai:

Arduino-LiquidCrystal-I2C-library-master
DS1302
MFRC522-1.4.1
Wire-master

.

Oke setelah selesai di upload langsung saja kita coba rangkaiannya. Jangan lupa pasang SIM Card pada modul GSM A6 mini nya.

- Tap kartu RFID. Jika kartu sudah terdaftar, maka buzzer akan berbunyi sekali beserta LCD menampilkan pesan kemudian SMS akan langsung terkirim. Dan LCD akan kembali menampilkan ke tampilan awal.

- Tap kartu RFID. Jika kartu belum terdaftar, maka buzzer akan berbunyi beberapa kali beserta LCD menampilkan pesan dan SMS tidak akan terkirim. Kemudian LCD akan kembali menampilkan ke tampilan awal.

- Pesan SMS yang terkirim sesuai dengan tap RFID ketika masuk sekolah atau keluar sekolah. SMS nya juga akan menampilkan pesan waktu, jam berapa siswa tersebut masuk atau keluar sekolah.

.

Demikian project Sistem Absensi Siswa Menggunakan RFID dan SMS Gateway.

Comments

Leave your comment