commit to user 33
4.1.4. Rangkaian Driver Relay
Rangkaian driver relay ini berkerja jika mendapat masukan dari pin 4, 5, dan 6 yang akan mengatifkan transistor dan menyambung tegangan ke relay.
Rangkaian driver relay ditunjukan oleh Gambar 4.4.
Gambar 4.4 Rangkaian Driver Relay 4.2.
Listing Program
Listing program ini dibagi per blok sesuai fungsi program tersebut untuk mempermudah analisa. Berikut adalah listring program yang di jelasakan per
bagian dari program.
4.2.1. Perintah Pengenalan Nomor Tag Rfid
int RFIDResetPin = 13; char tag1[13] = 4C00D496959B;
char tag2[13] = 4C00D4997D7C; char tag3[13] = 4C00D49AF5F7;
Perintah ini menerangkan tentang pengenalan nomor tag RFID yang digunakan untuk membandingkan apakah nomor tag RFID yang di baca oleh
RFID reader sesuai dengan yang telah di tuliskan ke program.
4.2.2. Perintah inisialisasi RFID reader
void setup{ Serial.begin9600;
pinModeRFIDResetPin, OUTPUT; digitalWriteRFIDResetPin, LOW;
pinMode2, OUTPUT; pinMode3, OUTPUT;
pinMode4, OUTPUT; }
commit to user 34
Potongan program ini digunakan untuk membuka jalur input serial untuk komunikasi antara mikrokontroler dengan RFID reader. Serta membuka jalur
output untuk menyalakan LED dan transistor.
4.2.3. Perintah pembaca nomor tag RFID
void loop{ char tagString[13];
int index = 0; boolean reading = false;
whileSerial.available{ int readByte = Serial.read; read next available byte
ifreadByte == 2 reading = true; begining of tag ifreadByte == 3 reading = false; end of tag
ifreading readByte = 2 readByte = 10 readByte = 13{
store the tag tagString[index] = readByte;
index ++; }
} checkTagtagString; Check if it is a match
clearTagtagString; Clear the char of all value resetReader; reset the RFID reader
}
Penggalan program ini digunakan untuk membaca nomor tag RFID ketika tag RFID di dekatkan ke RFID reader. Selain itu perintah ini juga akan me-reset
jika tag RFID tidak sesuai dengan yang di dalam program dan akan mengulangi proses baca tag RFID.
4.2.4. Perintah pengecekan nomor tag RFID
void checkTagchar tag[]{ ifstrlentag == 0 return; jika kosong, tidak akan
dilanjutkan ifcompareTagtag, tag1{ if matched tag1, do this
lightLED2; delay5000;
}else ifcompareTagtag, tag2{ if matched tag2, do this
lightLED3; delay5000;
}else ifcompareTagtag, tag3{ lightLED4;
delay5000; }else{
commit to user 35
Serial.printlntag; read out any unknown tag }
} void lightLEDint pin{
Serial.printlnpin; digitalWritepin, HIGH;
} void resetReader{
digitalWriteRFIDResetPin, LOW; digitalWriteRFIDResetPin, HIGH;
delay150; }
forint i = 0; i strlenone; i++{ one[i] = 0;
} }
Penggalan program ini akan mengecek apakah nomor tag RFID sesuai dengan yang ada di dalam program. Jika sama maka program akan mengeksekusi
dan akan menyalakan LED dan transistor, jika tidak sesuai maka LED dan transistor tidak akan menyala. Selang waktu memproses tag RFID adalah 5 detik.
Penggalan program ini juga mengatur nyala LED dan transistor.
4.2.5. Perintah Membandingkan Nomor tag RFID