I have decided at this point that the best way to recognise individual cards was to rig them with RFID tags. The cards could easily be made of two layers and plenty of available RFID stickers are thin enough to fool the casual observer. 

I ended up working with an RC522 RFID reader. After hooking the reader up to an Arduino. The code I used activates when the sensor picks up an RFID chip, at which point it reads the chip’s serial number and outputs it into the serial monitor. After this was done, I was able to rewrite my existing code for the display so that if the Arduino recognised the first three places of an RFID chip’s serial number (these I would have to write in manually), it would output the corresponding symbol onto the display.

Arduino Code

I have a certain aversion to arrays (I get high school flashbacks), which means that in order to map all cards in the pack, the solution had to get a bit inelegant (A lot of ‘else if’ statements. I call it the lumberjack method). It works fairly reliably though.

Working With RFID Tags

I had two kinds of RFID chip. The ZipNFC ones were much smaller but the range was considerably worse than the NTAG213. I needed chips that could be read through a full deck of cards if needed.

The project was starting to shape up at this point. Both the reader and the screen were working well and communicating comfortably.