Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Connections:
- ------------------------------
- Arduino Uno <---> RF-KLM900S
- ******************************
- 3.3V <---> EN
- 5V <---> 5V
- GND <---> GND
- 3 <---> TTL_R
- 2 <---> TTL_T
- ------------------------------
- */
- #include <SoftwareSerial.h>
- SoftwareSerial SSerial(2, 3); // RX, TX
- int numOfTags = 3;
- //Single Read BB 00 22 00 00 22 7E
- byte A[] = {0xBB, 0x00, 0x22, 0x00, 0x00, 0x22, 0x7E};
- String TagNo[] = {"30 08 33 B2 DD D9 01 40 00 00 00 00",
- "E2 80 68 94 00 00 50 20 91 08 58 7E",
- "E2 80 68 94 00 00 50 20 91 08 58 88"
- };
- String TagID_RX = "";
- static unsigned long lastTime = 0;
- void setup() {
- SSerial.begin(115200);
- Serial.begin(115200);
- delay(2000);
- }
- void loop() {
- static String inputString;
- static unsigned long lastCharArrivalTime = 0;
- if (millis() - lastTime > 50 && inputString == "") {
- SSerial.write(A, sizeof(A));
- lastTime = millis();
- }
- if (SSerial.available())
- {
- byte incomingByte = SSerial.read();
- inputString += "0123456789ABCDEF"[incomingByte / 16];
- inputString += "0123456789ABCDEF"[incomingByte % 16];
- inputString += ' ';
- lastCharArrivalTime = millis();
- }
- if (lastCharArrivalTime != 0 && millis() - lastCharArrivalTime >= 10)
- {
- TagID_RX = inputString.substring(24, 59);
- for (int i = 0; i < numOfTags; i++) {
- if (!TagID_RX.compareTo(TagNo[i])) {
- Serial.print("Tag No [");
- Serial.print(i + 1);
- Serial.println("] Found.");
- Serial.println("------------------");
- }
- }
- inputString = "";
- lastCharArrivalTime = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment