SD shield and RFID conflicting

Currently I am trying to create an attendance taking system that uses a RFID sensor to identify students to certain IDs that are given off by each tag. Currently I have the sensor working, and it is reading in different cards correctly.

I am now trying to figure out how to display/generate a list for which student's have "signed in". I have looked into data-logging possibilities for the Arduino and saw that it is possible to do with a breakout board for SD cards; however, this is where I ran into a problem. I noticed that the breakout board uses the same pins that are needed by my RFID sensor . Is there anything I can do about this/is there another way to log data?

I am fairly new to using arduino so any suggestions for improving this project would be greatly appreciated

Off-load the logging through the serial port... Commercial unit or something like this


You could use the soft serial library to read from almost any pin.
When it comes to recognizing and storing cards numbers its a little problematic because even a EM4x02 tag has 5 bytes of data (others have more) which will not fit into a integral data type on the arduino. So you will need a byte array for storing card data which makes searching and sorting complicated.
A possible workaround to this is converting the tag id to integral data using a crc function

I would suggest sending the check-in events to a PC somewhere which keeps a register of who's in and out. The administrator would then access the PC to see the current status and make any adjustments needed. For example I suspect the students typically won't bother to check out individually so the administrator would need an easy way to clear the list. You would also want to give each student positive feedback that they had checked in successfully.

Which pins does your breakout use? SD normally uses the SPI interface and it is ok to connect multiple devices to SPI as long as the Slave Select pin (SS, sometimes labeled CE - chip enable) is different for each device.

Thank you for all your suggestions Ray, Nilton, Peter, and Sirch.

Which pins does your breakout use? SD normally uses the SPI interface and it is ok to connect multiple devices to SPI as long as the Slave Select pin (SS, sometimes labeled CE - chip enable) is different for each device.

I decided to buy an ethernet shield and am planning on using the SD card on it to log/save a text file of which students are signing in. I was unaware that it was okay to connect multiple devices to certain pins, so that was of great help. Currently I am waiting for it to come in the mail before I can test this, though.

With this method though, I thought of a problem I will most likely run into. If the same card is being scanned in, multiple occurrences of a student will be saved into the text file. I have been trying to think of solutions for this but nothing is coming to mind in order to prevent this from happening.

I would just like to emphasize that you do need different SS pin connections on the SPI.

Regarding duplicates, how many students are logging in? You can read as well as write the SD card file so you could read the RFID and then scan through the file to see if this ID is already in the file. Or you could de-dupe the data in whatever application you are going to use to read the collected data.

Thank you again, sirch.

I just ran into another problem while attempting to display something on an attached LCD.
I have attached the file I am working with.

As stated in the coding, I am having trouble with the LCD printing once a card is scanned in ( to my understanding I have coded it to clear the LCD, then display “Thank you for signing in” once a card is recognized by the reader). If I omit the printing of “Thank you for signing in” and just tell it to clear the lcd, it will clear (but very slowly and letter by letter).

Currently I have the RFID wired as follows in the pictures below.

Since both components shared digital pin 11 and 12, I jumped the wiires together on a breadboard… is this what is causing my problem?

sketch_nov24a.ino (22 KB)

Sorry for the double post; solved the previous problem though. I ended up changing some of the pins from the LCD so it wouldn't conflict with the RFID reader.

New problem though: I just received my SD shield and it appears that it conflicts with my RFID reader. Before plugging the shield in, the reader/lcd work perfectly fine. After plugging in the shield, the reader stops working. I noticed that, while trying to use data-logging examples from the SD library, that the SD shield requires pin 10 to be enabled.

The SDA from the RFID is supposed to be connected to pin 10 as well and I am guessing that this is conflicting with the shield..Any suggestions on how to fix/solve this problem?

This is the shield that I am using: SD Card Shield V3.0‏‎ - Seeed Wiki