Translate

Mengendalikan Keluaran ON – OFF Dengan RFID Format Wiegand 26 Bit



Melanjutkan topik sebelumnya, penulis masih ingin melanjutkan pembahasan tentang pengendalian keluaran ON/OFF tapi untuk kali ini menggunakan sebuah pembaca kartu RFID dengan format keluaran Wiegand 26 Bit.

Seperti pernah dibahas pada tulisan sebelumnya beberapa waktu lalu, bahwa sebuah perangkat pembaca kartu RFID dengan format Wiegand 26 Bit memiliki 2 keluaran yang merepresentasikan logika datanya yaitu D0 dan D1. Penulis tidak akan membahas lebih jauh lagi mengenai hal ini tapi Sobat bisa lihat pada tulisan yang berkenaan dengan hal tersebut. Namun saat membuat dan menguji rangkaian yang akan dibuat penulis menggunakan jenis pembaca RFID seperti gambar berikut:



Perangkat yang akan dibuat sebagai kendali keluaran ON/OFF menggunakan relay masih berbasis mikrokontroler AT98S2051 atau AT89C2051.

Untuk rangkaiannya dapat Sobat lihat berikut ini:



Untuk masukan D0 dan D1 yang berasal dari perangkat pembaca RFID, penulis menggunakan penyemat gerbang P3.4 untuk D0 dan P3.5 untui D1. Sementara untuk keluaran penggerak relaynya menggunakan P1.0. Gerbang p1.1 digunakan untuk indikator dan sakelar tekan S1 untuk PROGRAM. Data kartu atau tag (semacam gantungan kunci) akan disimpan pada memori AT93C46 yang diorganisir dalam 8 bit.

Untuk program aplikasi yang harus dibuat untuk dioperasikan oleh mikrokontroler dapat dilihat berikut ini:

$mod51

PinRelay    bit   p1.0
PinProg     bit   p1.1

DIO         bit   p1.2
CLK         bit   p1.3
RST         bit   p1.4

WiegandData0      bit   p3.4
WiegandData1      bit   p3.5

BufferData  data  08h

RegBit      data  20h
      Fail  bit   RegBit.0

RegStack    data  30h

Seperti biasanya, pada penulisan di atas, diawali dengan menetapkan konfigurasi penyemat dan alokasi memori RAM yang akan digunakan. Setelah itu baru kita memulai penulisan perintah-perintah yang dimulai pada alamat 0000H. Aplikasi pertama kali akan memeriksa kondisi S1 untuk PROGRAM. Jika pada saat pertama dihidupkan atau setelah RESET S1 ditekan maka aplikasi akan menunggu sampai kurang lebih 5 detik untuk memasuki pemrograman data kartu RFID yang ditandai dengan aktifnya keluaran relay. Sobat bisa membacakan data kartu RFID dengan mendekatkannya pada pembaca RFID. Namun apabila S1 tidak ditekan atau ditekan kurang dari 5 detik maka aplikasi akan dilanjutkan ke rutin bernama Masukan.

org   0h
      mov   sp, RegStack-1
      mov   r5, #18
Ini1: mov   r6, #255
Ini2: mov   r7, #255

Inisialisasi:
      jb    PinProg, Masukan
      djnz  r7, Inisialisasi
      djnz  r6, Ini2
      djnz  r5, Ini1
      clr   PinRelay
      jnb   PinProg, $
      mov   r0, #BufferData

      IniWiegand:
            jnb   WiegandData0, IniProgram
            jb    WiegandData1, IniWiegand

      IniProgram:
            acall Wiegand
            acall AT93C46_EWEN
            mov   dptr, #0
            mov   r7, #3

Setelah data RFID diterima maka selanjutnya aplikasi akan menyimpan data tersebut ke dalam memori AT93C46 pada alamat 00H.

      SimpanRFID:
            mov   a, @r0
            inc   r0
            acall AT93C46_WRITE
            djnz  r7, SimpanRFID
            acall AT93C46_EWDS
            setb  PinRelay

Setelah data disimpan maka aplikasi kembali menon-aktifkan relay. Di sini Sobat bisa menambahkan perintah untuk verifikasi data jika mau yaitu memasukkan kembali data RFID dan membandingkannya dengan data pada memori. Penulis tidak memasukkan rutin ini dan langsung menuju ke rutin Masukan seperti berikut ini:

Masukan:
      mov   r0, #BufferData

      WiegandMasuk:
            jnb   WiegandData0, BacaRFID
            jb    WiegandData1, WiegandMasuk

      BacaRFID:
            acall Wiegand
            mov   dptr, #0
            mov   r7, #3

Pada rutin WiegandMasuk, status masukan dari perangkat pembaca RFID diperiksa. Jika ada data yang masuk maka data akan disimpan sementara pada BufferData kemudian akan diperiksa dengan membandingkannya pada data dalam memori AT93C46. Jika data sama maka keluaran relay maupun indikator akan berubah kondisi dengan perintah CPL. Jika semula rendah akan menjadi tinggi atau sebaliknya.

      PeriksaRFID:
            mov   b, @r0
            inc   r0
            acall AT93C46_READ
            inc   dptr
            xrl   a, b
            jnz   Masukan
            djnz  r7, PeriksaRFID
            cpl   PinRelay
            cpl   PinProg
            ajmp  Masukan

$include (c:\tesasm\Wiegand.txt)
$include (c:\tesasm \93C46_8.txt)

end

Program aplikasi mikrokontroler di atas masih membutuhkan 2 modul lainnya yaitu modul untuk antarmuka perangkat pembaca Wiegand 26 Bit bernama WIEGAND.TXT dan modul antarmuka dengan AT93C46 yang bernama 93C46_8.TXT yang ada dan bisa Sobat lihat pada tulisanku sebelumnya.

Setelah file di atas dikompilasi dan diprogramkan ke mikrokontroler AT89C2051 maka perangkat sudah dapat melaksanakan fungsinya. Penulis sudah mengkompilasi dan hasilnya adalah 455 byte saja.

Desain rangkaian di atas memang sederhana begitu pun dengan aplikasi program yang dibuat. Namun meskipun sederhana yang penting hidup bisa lebih mudah, itu intinya. Bagaimanapun, sebuah desain harus memiliki kegunaan untuk dapat diimplementasikan pada kehidupan kita. Sesuai dengan tulisan pada paragraf awal, maka desain di atas sudah aku implementasikan kebeberapa fungsi perangkat, antara lain:

  1. Pintu akses. Dengan atau tanpa modifikasi, rangkaian di atas jelas bisa dimanfaatkan sebagai sebuah perangkat pintu akses. Tapi saran penulis tentu harus dimodifikasi terutama dalam jumlah data kartu yang dapat disimpan agar setiap orang di rumah atau di kantor (jika diimplementasikan untuk kantor) bisa memiliki masing-masing sebuah kartu. Atau Sobat bisa kembali melihat tulisanku yang terdahulu tentang Pintu Akses Sederhana Untuk Rumah Atau Kantor Kecil.
  2. Kunci pengaman kendaraan bermotor atau alarm kendaraan. Bayangkan, kendaraan Sobat dilengkapi dengan kunci dengan teknologi RFID, tentu senang bukan?
  3. Implementasi lain silahkan Sobat cari. Pokoknya selama ada hal yang membutuhkan sakelar maka rangkaian kita bisa menggantikannya dan semua berteknologi RFID.



Udah ya, makasih udah baca postingan aku. Semoga bisa bermanfaat dan jika mungkin bisa diterapkan oleh sobat semua.

Salam....

2 komentar: