safwan092

UHF_RFID_KM900S_Simple_code_Software_Serial

Jul 25th, 2022
1,145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.71 KB | None | 0 0
  1. /*
  2. Connections:
  3. ------------------------------
  4. Arduino Uno <---> RF-KLM900S
  5. ******************************
  6.     3.3V    <--->     EN
  7.     5V      <--->     5V
  8.     GND     <--->     GND
  9.     3       <--->     TTL_R
  10.     2       <--->     TTL_T
  11. ------------------------------
  12. */
  13. #include <SoftwareSerial.h>
  14.  
  15. SoftwareSerial SSerial(2, 3); // RX, TX
  16.  
  17. int numOfTags = 3;
  18. //Single Read BB    00    22    00    00    22    7E
  19. byte A[] = {0xBB, 0x00, 0x22, 0x00, 0x00, 0x22, 0x7E};
  20.  
  21. String TagNo[] = {"30 08 33 B2 DD D9 01 40 00 00 00 00",
  22.                   "E2 80 68 94 00 00 50 20 91 08 58 7E",
  23.                   "E2 80 68 94 00 00 50 20 91 08 58 88"
  24.                  };
  25.  
  26. String TagID_RX = "";
  27. static unsigned long lastTime = 0;
  28.  
  29. void setup() {
  30.   SSerial.begin(115200);
  31.   Serial.begin(115200);
  32.   delay(2000);
  33. }
  34.  
  35. void loop() {
  36.  
  37.   static String inputString;
  38.   static unsigned long lastCharArrivalTime = 0;
  39.  
  40.   if (millis() - lastTime > 50 && inputString == "") {
  41.     SSerial.write(A, sizeof(A));
  42.     lastTime = millis();
  43.   }
  44.  
  45.   if (SSerial.available())
  46.   {
  47.     byte incomingByte = SSerial.read();
  48.     inputString += "0123456789ABCDEF"[incomingByte / 16];
  49.     inputString += "0123456789ABCDEF"[incomingByte % 16];
  50.     inputString += ' ';
  51.     lastCharArrivalTime = millis();
  52.   }
  53.  
  54.   if (lastCharArrivalTime != 0 && millis() - lastCharArrivalTime >= 10)
  55.   {
  56.     TagID_RX = inputString.substring(24, 59);
  57.     for (int i = 0; i < numOfTags; i++) {
  58.       if (!TagID_RX.compareTo(TagNo[i])) {
  59.         Serial.print("Tag No [");
  60.         Serial.print(i + 1);
  61.         Serial.println("] Found.");
  62.         Serial.println("------------------");
  63.       }
  64.     }
  65.     inputString = "";
  66.     lastCharArrivalTime = 0;
  67.   }
  68.  
  69. }
Advertisement
Add Comment
Please, Sign In to add comment