As the first smart sensor, smartColours, is close to completion, I'm starting a new project called smartRFID.
RFID stands for Radio-Frequency IDentification (reference). RFID is used everywhere: price tags on the department stores, contact-less keys for cars, clocking cards at offices...
There are various kinds of RFID tags, with different operating frequencies —most common are 125 KHz or 13,56 MHz—, features —read-only or write-and-read—, operating distance from which it can be read —from 1 cm up to 100 m— and formats —from very small as capsule, button, up to classic credit card form-factor.
The RFID system consists on a reader and one or more tags. Both the reader and the tag are two-way radio transmitter-receivers. The reader sends a signal to the tag, and the tag sends its unique identifier back. The tag doesn't require a battery, as its antenna takes the energy from the radio waves and powers the micro-chip (reference).
The idea is to use RFID tags, for example to identify boxes.
The goal is to read RFID tags.
I selected a basic RFID tag, read-only, which provides a unique combination of 5 bytes plus 1 byte for checksum validation. Five bytes —or 40 bits— provide 1 099 511 627 776 unique combinations!
As for the colours, reading any and all RFID tags is possible, but identifying the tags currently used seems more useful. Instead of a lengthy identification sequence, I prefer to deal with just a number. So the RFID unique combination with 5 bytes needs to be translated into a single digit number. This will be done by a table.
Operating distance should be consistent with the scale of fischertechnik models. An operating distance between 2 and 4 cm seems convenient.
The sensor would be connected through I²C to the Robo TX controller and should fit into a 30 x 30 x 30 yellow box (references 38287 and 38440).
There are only two main commands:
The following commands provide a more advanced usage. Instead of dealing with a lengthy RFID unique identifier with 5 bytes, smRFID_identify read the 5 bytes RFID tag, controls the check-sum and returns a single digit number:
The commands are detailed here.
Contrary the the smartColours sensor, the RFID reader comes ready to use.
Only a protocol adapter with logic level converter is required. So there's no need for a prototype!