HW-VX6330K Merupakan sebuah middle-range RFID yang memiliki jangkauan hingga 6 – 8 meter dengan berbagai mode yang dapat diatur secara program.

Pada HW-VX6330K merupakan seri HW-VX yang memiliki tambahan fitur tcp/ip sebagai protokol komunikasi namun pada artikel ini akan dibahas mengakses dengan menggunakan RS232 sehingga untuk HW-VX seri 63 yang lain juga dapat digunakan.

Persiapan

Berikut sebelum mulai ke bagian program siapkan dahulu alat yang diperlukan :

HW-VX6330K yang digunakan pada artikel ini dapat dibeli di https://www.tokopedia.com/electron/middle-range-6-dbi-uhf-rfid-integrated-reader-electron-hw-vx6330k

Modul Max232 RS232 to TTL dapat dibeli di https://www.tokopedia.com/electron/converter-module-rs232-female-to-ttl-max3232-serial-db9-max232-3-3v-5v

1. Sambungan Arduino hingga ke HW-VX6330K

Sebelum Arduino mengirimkan ataupun menerima data dari HW-VX 6330K, baik dari Arduino maupun HW-VX6330K perlu untuk menyesuaikan sinyal tegangannya. Karena Arduino yang menggunakan sinyal TTL dimana tegangan 3 – 5 V merupakan termasuk logic HIGH dan dibawah 3 V sebagai logic LOW berbeda dengan HW-VX6330K yang menggunakan sinyal RS232 sebagai logic HIGH dan LOW nya, maka dari itu menggunakan MAX232 yang dapat mengkonversikan tegangan sinyal RS232 ke TTL ataupun TTL ke RS232 sangat diperlukan agar board Arduino tidak rusak saat menerima sinyal dari RS232.

(Kiri)Konektor DB9 HW-VX6330K (Kanan) Konektor DB9 MAX232

Menghubungkan konektor DB9 dari HW-VX6330K dengan konektor DB9 dari MAX232 perlu dihubungkan secara cross dengan bantuan dari jumper.

2. Penjelasan Dokumentasi Protokol

Perintah pengiriman

Bagian utama dari dokumentasi protokol RFID reader HW-VX seri 63 adalah bagian data block yang merupakan sebuah frame perintah dan respon dari HW-VX seri 63 seperti di bawah ini.

LENADRCMDDATA[]LSB-CRC 16MSB-CRC 16
BlockKeterangan
LENPanjang isi frame DATA[] ditambah 4
ADRAlamat dari alat RFID Reader yang dituju
CMDPerintah
DATA[]Parameter data jika diperlukan
LSB-CRC16LSB CRC 16 dari frame LEN hingga Data[]
MSB-CRC16MSB CRC 16 dari frame LEN hingga Data[]

Respon

Untuk data block dari respon HW-VX seri 63 dapat dilihat di bawah ini.

LENADRRE-CMDSTATUSDATA[]LSB-CRC 16MSB-CRC 16
BlockKeterangan
LENPanjang isi frame DATA[] ditambah 5
ADRAlamat dari RFID reader yang memberikan respon
RE-CMDPerintah yang telah dilakukan oleh RFID reader
STATUSStatus hasil perintah yang dikirim
DATA[]Respon data, jika kosong maka LEN akan bernilai 5
LSB-CRC16LSB CRC 16 dari frame LEN hingga Data[]
MSB-CRC16MSB CRC 16 dari frame LEN hingga Data[]

3. Code Arduino

Code arduino menggunakan bantuan digital pin 2 sebagai button agar tidak menambah resistor di sini akan digunakan mode input pullup sehingga untuk mengaktfkan button cukup menghubungkan pin 2 ke ground, dan juga Arduino Mega akan menggunakan Hardware serial pada TX1 dan RX1.

uint8_t data[5] = {0x04,0xFF,0x0F,0x65,0x5D};
bool newLine;
 
void setup() {
  Serial.begin(9600);
  Serial1.begin(57600);
  pinMode(2,INPUT_PULLUP);
}
 
void loop() {
  if(!digitalREad(2)){
    sendData();
  }
  while(Serial1.available(){
    newLine = true;
    Serial.print(Serial1.read(),HEX);
    Serial.print(" ");
  }
  if(newLine){
    newLine = false;
    Serial.println();
 
  }
}
 
void sendData(){
  Serial1.write(data,5);
}