Guest User

Untitled

a guest
Jan 9th, 2018
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.35 KB | None | 0 0
  1. int RFIDResetPin = 13;
  2. #define led 12
  3. #define przekaznik 7
  4.  
  5. char tag1[13] = "00782AF08220";
  6. char tag2[13] = "0B0068956D9B";
  7. char tag3[13] = "TU WPISZCIE TRZECIEGO TAGA";
  8. char tagString[13];
  9. boolean first = false, second = false, third = false;
  10.  
  11.  
  12. void setup()
  13. {
  14. pinMode(przekaznik, OUTPUT);
  15. digitalWrite(przekaznik, HIGH);
  16. pinMode(RFIDResetPin, OUTPUT);
  17. digitalWrite(RFIDResetPin, HIGH);
  18. pinMode(led, OUTPUT);
  19. digitalWrite(led,LOW);
  20. Serial.begin (9600);
  21. }
  22.  
  23. void loop() {
  24. int index = 0;
  25. boolean reading = false;
  26.  
  27. while(Serial.available())
  28. {
  29. int readByte = Serial.read(); //read next available byte
  30.  
  31. if(readByte == 2) reading = true; //begining of tag
  32. if(readByte == 3) reading = false; //end of tag
  33.  
  34. if(reading && readByte != 2 && readByte != 10 && readByte != 13)
  35. {
  36. tagString[index] = readByte;
  37. index ++;
  38. }
  39. }
  40.  
  41. checkTag(tagString);
  42. clearTag(); //Clear the char of all value
  43.  
  44. if(first == true && second == true && third == true)
  45. {
  46. digitalWrite(led, LOW);
  47. delay(500);
  48. digitalWrite(led, HIGH);
  49. wlacz_przekaznik();
  50. first = false;
  51. second = false;
  52. third = false;
  53. }
  54. resetReader();
  55. }
  56.  
  57. void checkTag(char tag[])
  58. {
  59. if(strlen(tag) == 0) return; //empty, no need to contunue
  60. if(compareTag(tag, tag1) first = true;
  61. if(first == true) if(compareTag(tag, tag2) second = true;
  62. if(second == true) if(compareTag(tag, tag3) third = true;
  63. }
  64.  
  65. void lightLED(int pin)
  66. {
  67. ///////////////////////////////////
  68. //Turn on LED on pin "pin" for 250ms
  69. ///////////////////////////////////
  70. Serial.println(pin);
  71.  
  72. digitalWrite(led, HIGH);
  73. delay(250);
  74. digitalWrite(led, LOW);
  75. }
  76.  
  77. void resetReader()
  78. {
  79. ///////////////////////////////////
  80. //Reset the RFID reader to read again.
  81. ///////////////////////////////////
  82. digitalWrite(RFIDResetPin, LOW);
  83. digitalWrite(RFIDResetPin, HIGH);
  84. delay(1500);
  85. }
  86.  
  87. void clearTag()
  88. {
  89. for(int i = 0; i < strlen(tagString); i++)
  90. {
  91. tagString[i] = 0;
  92. }
  93. }
  94.  
  95. boolean compareTag(char one[], char two[])
  96. {
  97. if(strlen(one) == 0) return false; //empty
  98.  
  99. for(int i = 0; i < 12; i++){
  100. if(one[i] != two[i]) return false;
  101. }
  102.  
  103. return true; //no mismatches
  104. }
  105.  
  106. void wlacz_przekaznik()
  107. {
  108. digitalWrite(przekaznik,LOW);
  109. delay(15000);
  110. digitalWrite(przekaznik,HIGH);
  111. }
Advertisement
Add Comment
Please, Sign In to add comment