You are on page 1of 8

Program Arduino Pembaca RFID Pintu Masuk Area Parkir

1. //Boas Dwi Hermon Pasanda

2. //135114027

3. //Program untuk membaca UID e-KTP dan mengirim ke laptop client secara serial melalui

wifi

4. //Pembaca RFID sebagai client yang terhubung ke Wireless Router

5. #include <PN532_HSU.h>

6. #include <PN532.h>

7. #include <LiquidCrystal.h>

8. PN532_HSU pn532hsu(Serial1);

9. PN532 nfc(pn532hsu);

10. LiquidCrystal lcd(40, 38, 36, 34, 32, 30 ); // pin interface LCD 16x2

11. //Pin Digital 40 ke RS LCD


12. //Pin Digital 38 ke E LCD

13. //Pin Digital 36 ke D4 LCD

14. //Pin Digital 34 ke D5 LCD

15. //Pin Digital 32 ke D6 LCD

16. //Pin Digital 30 ke D7 LCD

17.

18. void setup(void) {

19. lcd.begin(16,2);

20. lcd.setCursor(0,0);

21. lcd.print("Reader Pintu");

22. lcd.setCursor(0,1);

23. lcd.print("Masuk Parkir");


24. delay (3500);

25. pinMode(31, OUTPUT);

26. pinMode(33, OUTPUT);

27. pinMode(35, OUTPUT);

28. Serial.begin(115200); //Mega ke Wifi Shield

29. Serial1.begin(115200); //NFC ke Mega

30. nfc.begin();

31.

32. uint32_t versiondata = nfc.getFirmwareVersion();

33. if (! versiondata) {

34. while (1);

35. }

36. // Memperoleh data, tampilkan.


37. nfc.setPassiveActivationRetries(0xFF);

38. // configure board to read RFID tags

39. nfc.SAMConfig();

40. };

41.

42. void loop(void) {

43. boolean success;

44. uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 }; // Buffer untuk menyimpan UID

45. uint8_t uidLength; // Panjang UID (4 atau 7 byte berdasarkan

tipe kartu ISO14443A)

46. success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &uid[0], &uidLength);

47.

48. if (success) {
49. digitalWrite(31,HIGH); //LED Hijau

50. digitalWrite(35,HIGH); //Buzzer

51. digitalWrite(33,LOW); //LED Merah

52. delay(300);

53. digitalWrite(31,LOW);

54. digitalWrite(35,LOW);

55. digitalWrite(33,HIGH);

56. for(uint8_t i=0; i < uidLength; i++)

57. {

58. Serial.print((uint8_t)uid[i],HEX);

59. }

60. lcd.clear();
61. lcd.setCursor(0,0);

62. lcd.print("Tunggu beberapa");

63. lcd.setCursor(0,1);

64. lcd.print(" saat...");

65. delay (3000);

66. lcd.clear();

67. lcd.setCursor(0,0);

68. lcd.print(" e-KTP Terbaca");

69. lcd.setCursor(0,1);

70. lcd.print(" Silahkan masuk");

71. digitalWrite(33,LOW); //LED Merah

72. digitalWrite(31,HIGH); //LED Hijau

73. delay (1000);


74. delay (2000); //Delay 5 detik sebelum membaca lagi

75.

76. }

77. else

78. {

79. digitalWrite(31,LOW); //LED Hijau

80. digitalWrite(33,HIGH); //LED Merah

81. lcd.clear();

82. lcd.setCursor(0,0);

83. lcd.print(" Selamat Datang ");

84. lcd.setCursor(0,1);

85. lcd.print(" Tap e-KTP ");

}
}

You might also like