Introduction: RFIDuino - Using an Arduino & RFID Reader to Make a Puzzle GeoCache

I enjoy both Geocaching and electronics and have made a couple of electronic puzzle caches using an Arduino.
My latest creation (with the help of a fellow cacher for the code) is using an Arduino and RFID reader to make a puzzle geocache we call RFIDuino.

The GeoCacher takes RFIDuino and has to find 3 RFID tags in order to get the location of the final geocache.
They are given the coordinates of the first tag, when they find and scan it they are given the coordinates of the second tag - and so on until they find the final.  After they find the final cache and sign the logbook RFIDuino is returned to the original hiding place for the next person.
Even if you don't geocache you could make your own RFID reader similar to the one in this Instructable and use it for a treasure hunt game.  It could be adapted to have a locked lid operated by a servo similar to the "reverse geocache box".

Step 1: Parts List

You will need the following:

- Arduino of some kind.  I have been building my own on stripboard, but recently bought some "Evil Mad  Scientist" ATmegaxx8 Target Boards to use in future projects.  If you build your own you should add a "protection diode" on the + side of the input voltage.  An IN4001 or similar will work.
- Parallax RFID Reader Module
- HD44780 compatible LCD display.  I find a black on yellow works best in daylight vs a blue on white. I get mine from DipMicro
- Small 10K trim-pot for the display contrast.
- 5v Boost Regulator For this project I wanted 2x AA to power the device as most geocachers carry them.  However with the code I use they drain in about 1 1/2 hours, so a 4x AA may be a better option
- hook up wire.  I use wire from cat5 stranded patch cable.
- case of some sort.  I used a clear blue case found at most electronics stores.

Step 2: Circuit

I don't have a schematic but will draw one up if there are enough requests.
However it's a pretty simple circuit so:

Parallax Reader:
VCC to 5V
Enable to Arduino digital pin 2
SOUT to Arduino digital pin 5
GND to ground

LCD Display
Pin 1 to ground
Pin 2 to 5V
Pin 3 to trim pot middle pin (contrast)
Pin 4 to Arduino digital pin 7 (RS)
Pin 5 to ground
Pin 6 to Arduino digital pin 8 (EN)
Pin 11 to Arduino digital pin 9 (DS4)
Pin 12 to Arduino digital pin 10 (DS5)
Pin 13 to Arduino digital pin 11 (DS6)
Pin 14 to Arduino digital pin 12 (DS7)
Pin 15 to 5V (backlight +)
Pin 16 to ground via ~100 ohm resistor (backlight -)

5V Booster
This has Vin, ground and Vout

10K trim pot
One side to 5V
Middle to LCD
Other side to ground

Step 3: The Code

The code/sketch for this project was written by a fellow geocacher.

You obviously will need to change the tag id's and the coordinates.
The program will read tags and display their id if you change the line:
boolean ProgrammerMode = false;
to
boolean ProgrammerMode = true;
but remember to change this back to true and upload the sketch afterwards.

The cache is listed on geocaching.com