# HW-VX6330K Dengan Menggunakan Mikrokontroler
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 :
- Arduino Mega serta usbnya untuk menghubungkan dengan komputer.
- HW-VX seri 63.
- 7 Kabel jumper
- Modul Max232 RS232 to TTL
- Arduino Mega dapat dibeli di https://www.tokopedia.com/electron/microcontroller-mega-2560-r3-ch340g-atmega2560-arduino-clone-ch340-16u (opens new window)
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 (opens new window)
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 (opens new window)
# 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.
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.
LEN | ADR | CMD | DATA[] | LSB-CRC 16 | MSB-CRC 16 |
---|
Block | Keterangan |
---|---|
LEN | Panjang isi frame DATA[] ditambah 4 |
ADR | Alamat dari alat RFID Reader yang dituju |
CMD | Perintah |
DATA[] | Parameter data jika diperlukan |
LSB-CRC16 | LSB CRC 16 dari frame LEN hingga Data[] |
MSB-CRC16 | MSB CRC 16 dari frame LEN hingga Data[] |
# Respon
Untuk data block dari respon HW-VX seri 63 dapat dilihat di bawah ini.
LEN | ADR | RE-CMD | STATUS | DATA[] | LSB-CRC 16 | MSB-CRC 16 |
---|
Block | Keterangan |
---|---|
LEN | Panjang isi frame DATA[] ditambah 5 |
ADR | Alamat dari RFID reader yang memberikan respon |
RE-CMD | Perintah yang telah dilakukan oleh RFID reader |
STATUS | Status hasil perintah yang dikirim |
DATA[] | Respon data, jika kosong maka LEN akan bernilai 5 |
LSB-CRC16 | LSB CRC 16 dari frame LEN hingga Data[] |
MSB-CRC16 | MSB 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);
}