RFID Control

I have the RFID Qwiic Kit with some “round button” tags. I am using the Arduino sketch provided by QWIIC with the interrupt. What ZI want to do is read three “tags” into the Arduino, assign them each to a specific item. Then when a tag comes into proximity to a reader (for now I have only one reader, but that will change later) I want the interrupt to signal the tags presence and then I want to read out which item has been detected. The “readout” can be in the form of:

if (interrupt == TRUE && itemOneIs Detected ==TRUE) {

perform a first action};

if(interrupt == TRUE && itemTwoIsDetected ==TRUE){

perform a second action}.

Here is my problem. First of all, each time I run the tag over the RFID sensor the same tag number appears (but with a different time) even though I am using two different tags. Second problem. Once the interrupt goes LOW it remains LOW. I can’t get it to go back high.

Please HELP

Each tag should have a 40-bit unique ID. You should be able to code the Arduino to name them a unique name based off of whether or not the ID matches up.

As for the other issue, it is probably a problem with your code. I would strongly suggest that you post on the Arduino Forums for code assistance as I an not sure that this is a hardware related issue:

https://forum.arduino.cc/c/using-arduin … estions/20

I hope this helps.

I have three questions. 1) When the first tag is read, the interrupt goes low. It stays low thereafter. Is there a way to reset the interrupt? If so, how? 2) I am using an Arduino Mega. When I use myRfid.getTag, what type of return do I get back? String? Char? 3) I want to compare the RETURN (I think it is named “tag”, to an already known “tag”. How do I do that? Do you have code segments for such an operation?

1: You can modify the FW for the Attiny85 to have the interrupt reset and not stay low. I suggest you read up on Arduino code and see how best to accomplish this as we do not do code consulting.

2: The hook-up guide shows a screen shot of what data is output via serial in the Arduino terminal: https://learn.sparkfun.com/tutorials/sp … mple-code-

3: This is another code consulting questions. See #1.

TS-John I have no idea what you mean when you say I can modify the FW for the Attiny85. What is an FW? What is an Attiny85? I need to know what voltage the Arduino should send to what pin? And when that voltage should be sent. As for the screen shot, yes I know the board will return a 13 bit number. I used YOUR code to get that far. But once I get that 13 bit number your documentation does not say one word about how I can use it. Or even what kind of integer it is, or even how many bytes or how it is formatted. I can’t program the Arduino unless I know the structure of the incoming information. I have been on the Arduino forums and so far nobody else seems to know how to use the Qwiic RFID IDXXCA either. I can’t move forward with SparkFun products if I can’t get this simple question resolved.

Hey again. Our examples for products are provided for our customers to get started with the product. It is up to you to run with your own projects and write your own code, design your own projects, etc.

I would suggest that you consider reading through the embedded electronics tutorials to get a better understanding here: https://www.sparkfun.com/tutorials/57

I also highly suggest that you start with the SparkFun SIK if you are new to Arduino found here: https://www.sparkfun.com/products/15267

To understand how to code an Arduino on an intermediate or advanced level I recommend the Arduino cookbook 2nd edition(available elsewhere).

If you need consulting I am sure you can find a local source to hire. Perhaps at your local hackerspace or community.

FW = firmware

Attiny85 = onboard microcontroller for the RFID reader.

Hope this helps.

Too avoid more confusion, if you are talking about KIT-15209, the microcontroller is an ATTiny84

Looking at the source in https://github.com/sparkfun/SparkFun_Qw … no_Library (you can find it from the Documents tab on the KIT-15209 page), myRfid.getTag() returns a String of 6 bytes, the tag ID.

The firmware that runs on the ATTiny84 can be found at https://github.com/sparkfun/SparkFun_Qw … FID_IDXXLA

Looking at the firmware, the reader will read one or more tags. When it reads a tag, the interrupt pin will go low. Once the Arduino has retrieved all the tags info, the interrupt pin will go high. So you should wait for the interrupt pin to go low, then keep calling myRfid.getTag() to get all the tags that have been read since the last interrupt until the interrupt pin goes high.

/mike

Thank you Mike. I will try that again. It didn’t work that way before, but one never knows. Appreciate the response.