BAB V KESIMPULAN DAN SARAN
5.2. Saran
Penelitian ini dapat dikembangkan lebih lanjut guna meningkatkan kemampuan alat tersebut dengan mempertimbangkan saran – saran berikut :
1. Sistem ini dapat dikembangkan pada permainan mobil gokart atau pada pada sistem yang membutuhkan pengkodean dan hasil kelajuan.
2. Penggunakan reader RFID yang kecepatan pembacaan tag lebih cepat agar tidak ada batas maksimum kecepatan pembacaan tag RFID oleh reader RFID.
72
DAFTAR PUSTAKA
[1] Supriatna, Dedi., 2007, STUDI MENGENAI ASPEK PRIVASI PADA SISTEM RFID.
http://budi.insan.co.id/courses/security/2006-2007/Report-Dedi-Supriatna.pdf., halaman 00-00, diaksek pada 1 April 2015
[2] Library Binus., 2012, Arduino UNO ATmega 328.
http://library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00944-SK%20Bab2001.pdf, halaman 23-25, diakses pada 5 April 2015.
[3] Adam, Wahyudi., 2014, SISTEM ABSENSI PEGAWAI MENGGUNAKAN TEKNOLOGI RFID. http://e-journal.lpkia.ac.id/files/students/essays/journals/301.pdf
, halaman 2, diakses pada 9 April 2015.
[4] Anonim,. 2015, Arduino RFID Library for MFRC522 (13.56 Mhz).
https://github.com/ljos/MFRC522, diakses pada 9 April 2015.
[5] Andriyana,. Pengukur Percepatan Gravitasi Menggunakan Gerak Harmonik Sederhana Metode Bantul. http://elib.unikom.ac.id/files/disk1/528/jbptunikompp-gdl- andriyanan-26373-4-unikom_a-i.pdf., halaman 7-10 , diakses pada 13 April 2015. [6] Riadi, Muchlisin., 2012, Tombol Tekan (push button).
http://www.kajianpustaka.com/2012/10/tombol-tekan-push-botton.html, diakses pada 15 April 2015.
[7] Anonim,. 2012, Sensor Photodioda. http://elektronika-dasar.web.id/komponen/sensor- tranducer/sensor-photodioda/., diakses pada 27 Juli 2015.
[8] Anonim,. 2013, Kelajuan dan Kecepatan. http://www.rumus- fisika.com/2013/01/kelajuan-dan-kecepatan.html., diakses pada 27 Juli 2015.
[9] Library Binus., 2010, Resistor Pull up dan Pull Down.
library.binus.ac.id/eColls/eThesisdoc/Bab2/2010-2-00446-SK%20bab%202.pdf.,
halaman 17, diakases pada 20 April 2015.
[10] Bill Stephen, Edy., 2014, Pengertian Serial Peripheral Interface (SPI) dan
Pengenalan USART ATmega8535.
http://edybillstephen.ilearning.me/2014/03/10/pengertian-serial-peripheral- interface-spi-dan-pengenalan-usart-atmega8535/., diakses pada 20 April 2015.
[11] Anonim,. 2014, Tutorial Dasar Arduino. https://archive.org/stream/pdfy-
KzNa7gMee--RGWGy/TUTORIAL%20DASAR%20ARDUINO_djvu.txt., diakses
pada 20 April 2015.
[12] Anonim,. 2014, MFRC522.
http://www.nxp.com/documents/data_sheet/MFRC522.pdf., diakses pada 1 Juni 2015.
[13] Anjarrahman, Dharma., ANALISIS PERFORMANSI RFID READER MFRC522 PADA SISTEM INFORMASI LOKASI MEJA PELANGGAN FOOD COURT.
meja-pelanggan-menggunakan-rfid-di-food-court-subsistem-hardware.pdf., halaman 7, diakses pada 1 Juni 2015.
74
1
Lampiran Tabel Hasil Pengujian Alat
Tabel L1. Hasil Pengujian Jarak Pembacaan tag RFID dari Samping No Jarak Baca dari Samping Keterangan
1 0,5 cm Terbaca 2 1 cm Terbaca 3 1,5 cm Terbaca 4 2 cm Tidak Terbaca 5 2,5 cm Tidak Terbaca 6 3 cm Tidak Terbaca 7 3,5 cm Tidak Terbaca 8 4 cm Tidak Terbaca 9 4,5 cm Tidak Terbaca 10 5 cm Tidak Terbaca
Tabel L2. Hasil Pengujian Jarak Pembacaan tag RFID dari Atas No Jarak Baca dari Atas Keterangan
1 0,5 cm Terbaca 2 1 cm Terbaca 3 1,5 cm Terbaca 4 2 cm Terbaca 5 2,5 cm Terbaca 6 3 cm Terbaca 7 3,5 cm Tidak Terbaca 8 4 cm Tidak Terbaca 9 4,5 cm Tidak Terbaca 10 5 cm Tidak Terbaca
Rangkaian Regulator 5 Volt
Rangkaian Sensor Photodioda
4
Lampiran Data Sheet Komponen
LXX. Data Sheet RC522
Features
1. Current : 13-26mA / DC 3.3 Volt, Idle Current : 10-13mA / DC 3.3Volt, Sleep current : <80uA, Peak current : <30mA
2. Operating Frequency : 13.56 MHz
3. Supported card types : mifare1 S50, mifare1 S70, mifare UltraLight, mifare Pro, mifare Defire
4. Physical Characteristics : Dimensions : 40mm x 60mm 5. Module Interface SPI Parameters
6. Data Transfer Rate : Max. 10Mbit/s Pin Usages on Arduino
1. D9 : Pin Reset 2. D10 : SDA Pin 3. D11 : MOSI Pin 4. D12 : MISO Pin 5. D13 : SCK Pin
Program Keseluruhan
* ---
* MFRC522 Arduino Arduino Arduino Arduino Arduino * Reader/PCD Uno Mega Nano v3 Leonardo/Micro Pro Micro * Signal Pin Pin Pin Pin Pin Pin * ---
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST * SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 */
#include <SPI.h> // komunikasi data SPI #include <MFRC522.h> // library reader RFID #include <LiquidCrystal.h> // library LCD #define SS_PIN 10 // Pin RFID
#define RST_PIN 9 // Pin RFID
MFRC522 rfid(SS_PIN, RST_PIN); // Inisialisasi RFID MFRC522::MIFARE_Key key; // Inisialisasi RFID // Init array that will store new NUID
byte nuidPICC[3]; // Inisialisasi RFID
LiquidCrystal lcd(8, 7, 6, 5, 4, 3); // Pin LCD, LCD RS,E,D4,D5,D6,D7 unsigned long time; // variabel timer
unsigned long timer1; // variabel timer unsigned long timer2; // variabel timer
float WAKTU; // untuk memunculkan nilai decimal float KECEPATAN; // untuk memunculkan nilai decimal
//int start;
int JARAK; // variabel dalam program int IDkartu; // variabel dalam program int photodiode; // variabel dalam program int tombol1; // variabel dalam program int tombol2; // variabel dalam program int tombol3; // variabel dalam program int tombol4; // variabel dalam program
int A; // variabel dalam program untuk squential int B; // variabel dalam program untuk squential int C; // variabel dalam program untuk squential void setup() { // awal program
Serial.begin(9600); // mengaktifkan komunikasi serial dengan boudrate 9600 lcd.begin(16, 2); // komunikasi dengan LCD,dimensi 16 x 2
SPI.begin(); // Init SPI bus // komunikasi ke RFID
rfid.PCD_Init(); // Init MFRC522 // mengaktifkan RFID untuk siap di pakai pinMode (14, INPUT); // Pin untuk photodiode
pinMode (15, INPUT); // Pin untuk tombol jarak 1M pinMode (16, INPUT); // Pin untuk tombol jarak 2M pinMode (17, INPUT); // Pin untuk tombol jarak 3M pinMode (18, INPUT); // Pin untuk tombol jarak 4M
for (byte i = 0; i < 6; i++) { key.keyByte[i] = 0xFF; } // untuk reset RFID
// Serial.println(F("scan object :")); lcd.setCursor(0, 0); lcd.print("scan object:"); lcd.setCursor(0,0); lcd.print("Tekan Tombol u/ "); // tampilan LCD
lcd.setCursor(0,1); lcd.print("Pilih Mode"); // tampilan LCD }
void loop() { // bagian program yang dibaca secara berulang photodiode = digitalRead(14); // Pengalamatan
tombol1 = digitalRead(15); tombol2 = digitalRead(16); tombol3 = digitalRead(17); tombol4 = digitalRead(18);
if (tombol1 == LOW) // jika tombol low maka tombol 1 aktif {
A = 1; // sequential pertama JARAK = 1; // untuk jarak 1 meter Serial.print("mode "); // tampilan LCD Serial.println(JARAK); // tampilan LCD delay(100);
lcd.clear(); // menghapus LCD
lcd.setCursor(0,0); lcd.print("Jarak Tempuh :"); lcd.setCursor(3,1); lcd.print("1 Meter");
delay(2000); lcd.clear(); // tampilan pada LCD selama 2s } if (tombol2 == LOW) { A = 1; JARAK = 2; Serial.print("mode "); Serial.println(JARAK);
delay(100); lcd.clear();
lcd.setCursor(0,0); lcd.print("Jarak Tempuh :"); lcd.setCursor(3,1); lcd.print("2 Meter");
delay(2000); lcd.clear(); } if (tombol3 == LOW) { A = 1; JARAK = 3; Serial.print("mode "); Serial.println(JARAK); delay(100); lcd.clear();
lcd.setCursor(0,0); lcd.print("Jarak Tempuh :"); lcd.setCursor(3,1); lcd.print("3 Meter");
delay(2000); lcd.clear(); } if (tombol4 == LOW) { A = 1; JARAK = 4; Serial.print("mode "); Serial.println(JARAK); delay(100); lcd.clear();
lcd.setCursor(0,0); lcd.print("Jarak Tempuh :"); lcd.setCursor(3,1); lcd.print("4 Meter");
delay(2000); lcd.clear(); }
if (A == 1) // lanjutan sequential pertama jika sudah selesai {
lcd.setCursor(0,0); lcd.print("Tempatkan Mobil"); // tampilan LCD lcd.setCursor(0,1); lcd.print("Pada Track"); // tampilan LCD
if (photodiode == LOW) // jika low photodioda aktif {
timer1=millis(); // ambil data timer pertama lcd.clear(); // menghapus LCD
lcd.setCursor(0,0); lcd.print("dalam Proses, "); // tampilan LCD lcd.setCursor(0,1); lcd.print("tunggu.... "); // tampilan LCD
delay (1000); // waktu untuk menampilkan perintah pada LCD selama 1s lcd.clear(); // menghapus LCD
A = 2; // sequential kedua }
}
if (A == 2) // lanjutan sequential kedua // Look for new cards
if ( ! rfid.PICC_IsNewCardPresent()) // membaca kartu baru return;
// Verify if the NUID has been readed
if ( ! rfid.PICC_ReadCardSerial()) // bilangan HEX return;
// baca TAG
IDkartu = (rfid.uid.uidByte[0] ^ rfid.uid.uidByte[1] ^ rfid.uid.uidByte[2] ^ rfid.uid.uidByte[3]); Serial.print("ID kartu : ");
Serial.println(IDkartu);
if (IDkartu == 25) // jika id kartu membaca kode “25” {
timer2=millis(); // ambil data timer 2 delay(100);
WAKTU = (timer2 - timer1); // pengurangan hasil data timer2-timer1 WAKTU = WAKTU/1000; // untuk menjadikan satuan detik
KECEPATAN = JARAK / WAKTU; // rumus kecepatan v = s/t
lcd.setCursor(0, 0); lcd.print("Kec.1= "); lcd.print(KECEPATAN); lcd.print(" m/s "); Serial.print("Jarak Tempuh : "); Serial.print(JARAK); Serial.println(" m");
Serial.print("Waktu Tempuh : "); Serial.print(WAKTU); Serial.println(" s");
Serial.print("Laju Kecepatan : "); Serial.print(KECEPATAN); Serial.println(" m/s"); delay(1000); } if (IDkartu == 61) { timer2=millis(); delay(100);
WAKTU = WAKTU/1000;
KECEPATAN = JARAK / WAKTU;
lcd.setCursor(0, 1); lcd.print("Kec.2= "); lcd.print(KECEPATAN); lcd.print(" m/s "); Serial.print("Jarak Tempuh : "); Serial.print(JARAK); Serial.println(" m");
Serial.print("Waktu Tempuh : "); Serial.print(WAKTU); Serial.println(" s");
Serial.print("Laju Kecepatan : "); Serial.print(KECEPATAN); Serial.println(" m/s"); delay(1000); } // Halt PICC rfid.PICC_HaltA(); // Stop encryption on PCD rfid.PCD_StopCrypto1(); }