process_icon

Postingan kali ini saya akan sedikit berbagi tentang proyek RFID saya. Proyek ini terinspirasi dari teknologi H.I.S.S. (Honda Ignitation Security System) milik Honda tentunya. H.I.S.S. adalah system keamanan yang mana terdapat microchip pada kunci kontak motor disertai kode unik dalam chip tersebut. Jadi cara kerjanya begini, kunci motor dimasukkin ke kontak lalu di ON kan, saat aliran listrik motor nyala, chip dalam kunci tersebut berkomunikasi dengan ECU motor dan mencocokkan kode yang terdapat pada kunci bila kode kunci kontak sama dengan yang di ECU maka motor tersebut bisa distarter begitu sebaliknya, bila kode di dalam kunci tersebut tidak cocok maka motor tidak bisa distarter. Dari technology H.I.S.S. tersebut kita bisa tangkap bahwa sebenarnya H.I.S.S. tersebut juga memanfaatkan technology RFID.

Dan sayangnya H.I.S.S cuma ada dalam motor Big Bike Honda dan bisa dikatakan teknologi mahal. Sebenarnya rangkaian RFID itu (seperti H.I.S.S.) kita bisa buat sendiri dengan biaya yang jauh lebih murah dan bisa diterapkan di semua motor bahkan yang tanpa ECU pun. Dari situ saya terinspirasi untuk membuat H.I.S.S. versi murah menggunakan teknologi RFID. Cara kerjanya pun hampir sama.

Berikut Prototipe nya :

rfid-1

Saat standby atau belum dideketin RFID Tag ditandai dengan LED warna biru menyala dan posisi relay tidak terhubung. Aplikasi di motornya, relay tersebut kita fungsikan untuk memutus aliran listrik motor jadi seumpama kunci kontak (tanpa rfid tag) di ON kan maka motor kita masih belum nyala, karena rangkainnya belum ON dan belum memerintahkan relay untuk terhubung .

Lanjut gambar berikutnya saat sudah dideketin rfid tag :

rfid-2

Saat dideketin rfid tag(disini yang saya pakai model gantungan kunci) maka rangkain bekerja di tandai LED warna hijau menyala dan posisi relay terhubung. Aplikasi di motornya, relay tersebut menghubungkan aliran yang kita putus diatas tadi jadi seumpama kunci dengan rfid tag kita gunakan untuk meng ON kan motor, rangkain tersebut bekerja, relay juga terhubung , dan aliran listrik ke motor pun ada dan motor bisa distarter.

Kalau H.I.S.S. microchips nya di tanam dalam kunci tapi kalau ini dipakai buat gantungan kuncinya. Jadi seumpama ada orang yang memaksa motor kita pakai kunci T untuk meng-ON-kan kontaknya maka motor tersebut tidak nyala dan tetep tidak beroperasi karena orang tersebut tidak punya rfid tag. Terus gimana kalau ada orang lain punya rfid tag dan mencoba membuka kontak dengan kunci T ? Tenang Bro, rfid disini tidak sembarangan jadi rfid yang dipakai ini juga ada kodenya kalau tidak cocok maka tetep rangkain tidak mau hubungkan relaynya.

Oke, karena protypenya udah jadi besok atau lusa  kalau ada waktu tinggal pasang ke motor… oh ya untuk pasang alat ke motor akan di bantu oleh team BAPSI Universitas Serang Raya ( Unsera ) …..ditunggu aja sob. video akan saya upload juga sob.

source code nya :

#include <SPI.h>
#include <MFRC522.h>
#include <TimerOne.h>

#define RST_PIN         9
#define SS_PIN          10
MFRC522 mfrc522(SS_PIN, RST_PIN);

MFRC522::MIFARE_Key key;

String temp=””;

String sample1=”008aeec5″;
String sample2=”3236b0ef”;
String sample3=”521cbaef”;
String sample4=”9245b9ef”;

unsigned int wait[4];

int led1=2;
int led2=3;
int led3=4;
int led4=5;

void setup() {
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();

pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);

digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);

Timer1.initialize(100000);            // set a timer of length 100000 microseconds (or 0.1 sec – or 10Hz => the led will blink 5 times, 5 cycles of on-and-off, per second)
Timer1.attachInterrupt( timerIsr );   // attach the service routine here
}

void loop() {
if ( ! mfrc522.PICC_IsNewCardPresent())
return;

if ( ! mfrc522.PICC_ReadCardSerial())
return;

dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
Serial.println(temp);

if(temp.indexOf(sample1)>-1)
{
wait[0]=0;
digitalWrite(led1,HIGH);
}

if(temp.indexOf(sample2)>-1)
{
wait[1]=0;
digitalWrite(led2,HIGH);
}

if(temp.indexOf(sample3)>-1)
{
wait[2]=0;
digitalWrite(led3,HIGH);
}

if(temp.indexOf(sample4)>-1)
{
wait[3]=0;
digitalWrite(led4,HIGH);
}

mfrc522.PICC_HaltA();
mfrc522.PCD_StopCrypto1();
}

void dump_byte_array(byte *buffer, byte bufferSize) {
temp=””;
for (byte i = 0; i < bufferSize; i++) {

temp += String(buffer[i] < 0x10 ? “0” : “”);
temp += String(buffer[i], HEX);
}
}

void timerIsr()
{
if(wait[0]<50)    //5second
{
wait[0]++;
}
else
{
digitalWrite(led1,LOW);
}

if(wait[1]<50)    //5second
{
wait[1]++;
}
else
{
digitalWrite(led2,LOW);
}

if(wait[2]<50)    //5second
{
wait[2]++;
}
else
{
digitalWrite(led3,LOW);
}

if(wait[3]<50)    //5second
{
wait[3]++;
}
else
{
digitalWrite(led4,LOW);
}

}

catatan : untuk teman teman yang mengalami kesulitan, silahkan berikan komentar, saya akan coba sebisa mungkin. Terima Kasih.

Please follow and like us:
20

Leave a Reply

Your email address will not be published.