HW-VX63 via Wiegand dengan Mikrokontroler
Wiegand Interface merupakan komunikasi standart yang populer pada tahun 1980-an, dengan menggunakan kabel yang masing-masing berperan sebagai ground, data high atau 1 dan data low atau 0. Pada HW-VX63 kabel yang dapat digunakan sebagai komunikasi Wiegand dapat dilihat pada bagian belakang alat seperti gambar di bawah ini.
Sinyal pada kabel data 1 maupun data 0 bersifat pull-up ke tegangan 5V sehingga untuk mikrokontroler pada umumnya dapat menerima sinyal dari Wiegand tanpa memerlukan konverter tambahan.
Persiapan
Sebelum masuk kebagian program perlu dilakukan penyesuaian pada software maupun hardware, untuk hardware yang digunakan pada tutorial ini adalah:
- Arduino Mega2560 beserta USB-nya.
- HW-VX63.
- Konverter RS-232 ke USB serial
Arduino Mega dapat dibeli di: https://www.tokopedia.com/electron/microcontroller-mega-2560-r3-ch340g-atmega2560-arduino-clone-ch340-16u
HW-VX63 yang dapat digunakan pada tutorial ini dapat dibeli di:
- https://www.tokopedia.com/electron/middle-range-6-dbi-uhf-rfid-integrated-reader-electron-hw-vx6330
- https://www.tokopedia.com/electron/middle-range-6-dbi-uhf-rfid-integrated-reader-electron-hw-vx6330k
Konverter RS-232 ke USB serial dapat dibeli di https://www.tokopedia.com/electron/usb-to-rs232-ch340-serial-port-db9-cable-com-port-adapter-ch-340-kabel
1. Persiapan Hardware dan Software
Koneksi antar Pin
HW-VX63 | Arduino |
---|---|
Light Blue (Data0) | Pin 2 (D0) |
Blue (Data1) | Pin 3 (D1) |
Black | GND |
Pin 2 dan Pin 3 pada Arduino digunakan sebagai interrupt. Jika menggunakan Arduino Mega2560, pin lain yang dapat digunakan: 18, 19, 20 dan 21, detail dapat dibaca di https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/ |
Pada tutorial ini, pin 2 dan 3 diatur sebagai penerima data. Hal ini penting agar mikrokontroler dapat menerima data dari Wiegand tanpa gangguan. Pengiriman sinyal dari interface Wiegand memiliki durasi 1 – 255 µs per pulsa dan 1 – 255 ms dari bit terakhir ke output data.
Settings Reader
Hubungkan HW-VX63 ke komputer dan atur HW-VX63 menjadi seperti gambar di bawah ini:
- Work Mode Parameter
- Wiegand: Wiegand26
- Wiegand output MSB first
- Data output interval: 30*10ms
- Pulse width: 10*10µs
- Pulse interval: 15*100µs
- Work Mode
- Output: Weigand output
- Storage area: EPC
- First address Select: Word address
- Work mode: Active mode
- First word address: 02
Wiegand26: data yang diterima 26 bit, yang terbaca hanya 24 bit (3 bytes). Wiegand34: data yang diterima 34 bit, yang terbaca hanya 32 bit (4 bytes).
Sisa 2 bit sebagai tanda start & stop pada HW-VX63, biasa digunakan untuk parity check.
2. Persiapan Program
Program yang digunakan menggunakan bantuan library Wiegand , dapat diakses di link berikut: https://github.com/paulo-raca/YetAnotherArduinoWiegandLibrary
Untuk penggunaan library cukup buka bagian example pada library tersebut pada bagian https://github.com/paulo-raca/YetAnotherArduinoWiegandLibrary/blob/master/examples/interrupts/interrupts.ino
Jika dilihat pada bagian awal terdapat pin yang didefinisikan seperti di bawah ini.
Untuk kode seperti berikut:
Output:
// Wiegand26 (998877 adalah 3 bytes EPC)
10:19:51.164 -> Card readed: 24bits / 998877
10:19:51.564 -> Card readed: 24bits / 998877
10:19:51.965 -> Card readed: 24bits / 998877
// Wiegand34 (99887766 adalah 4 bytes EPC)
10:31:49.760 -> Card readed: 32bits / 99887766
10:31:50.357 -> Card readed: 32bits / 99887766
10:31:51.752 -> Card readed: 32bits / 99887766
10:31:52.151 -> Card readed: 32bits / 99887766
10:31:52.550 -> Card readed: 32bits / 99887766
Troubleshooting
Jika terdapat error seperti berikut pada Serial Monitor Arduino IDE Anda,
// Looping CONNECTED & DISCONNECTED
10:28:10.447 -> State changed: CONNECTED
10:28:10.550 -> State changed: DISCONNECTED
...
10:28:12.398 -> State changed: CONNECTED
10:28:12.454 -> State changed: DISCONNECTED
Maka pastikan koneksi Pin jumper sudah terpasang dengan baik, terutama pada jumper GND.