Never having made a reverse geocache box I wanted to make one for my wife’s birthday this year. Using directions from Adafruit it was fairly easy. It is amazing how the small GPS unit works!
Here is my parts lists
- Wooden Box from Michael’s – Wooden Box
- Metro from Adafruit – Adafruit Metro 328 with Headers
- Ultimate GPS Breakout from Adafruit – Adafruit Ultimate GPS Breakout
- Micro Servo – Micro Servo
- LCD Screen – Adafruit Standard LCD 16×2 + Extras
- 6″ Pre Crimped Connector Wires & Connector Housing – Wires With-Pre Crimped Terminals
I already had the 6 battery pack and rechargeable batteries. I had also bought a proto shield for the Metro but for some reason couldn’t seem to get it working so abandoned it.
Once you get your parts take the time to get each one working individually before combining them into the reverse geocache box.
For the GPS unit it worked pretty much straight out of the box. It has 4 wires +power, ground, RX and TX. Connect RX to pin 2 and TX to pin 3.
I did have trouble at first understanding how to get GPS coordinates for the code. You can find the coordinates in Google Maps.
To get your coordinates in a format you can use go to Google Maps and click on your desired location. You should see a small image popup towards the bottom of the map like this one.
Click on the coordinates and a second image should appear on the left side.
The image below is the one you want to see.
Write down the coordinates, in this case 35°46’35.5″N 78°39’02.2″W. Now translate the coordinates into this format “N35 46.355, W078 39.022”; make sure to put the zero after the W. You may need to tweak the numbers to get the exact location you want.
One thing to note is it does take a couple of minutes to lock onto a GPS signal. This worked fine through the wooden box when outside or in my car.
Getting the LCD to work was probably the hardest task as there are so many wires. Here is how I set it up.
LCD Pins 1,5, 16 to ground. Pins 2, 15 to + power and 3 to the potentiometer middle pin.
Remember to connect the other potentiometer pins. One goes to ground and one to + power.
LCD pin 4 – Arduino pin 7
LCD pin 6 – Arduino pin 8
LCD pin 11 – Arduino pin 6
LCD pin 12 – Arduino pin 10
LCD pin 13 – Arduino pin 11
LCD pin 14 – Arduino pin 12
The micro servo has 3 wires. Connect the yellow wire to pin 9, brown wire to ground and the orange wire to +5v. This is what will lock the reverse geocache box closed. In the image you see we connected a short dowel to the servo horn by bending a wire. When the box is closed the three eyelets line up. Two are on the bottom and one on the inside of the box lid.The dowel is then pushed forward through the eyelets to lock the box. While this setup does work it is a little too finicky. I plan on upgrading this mechanism by adding a small wooden block with a hole drilled in it for the dowel to pass through. That way it will always be lined up and straight.
Reverse Geocache Box Construction
Now to put it all together. First I measured the size of the lcd screen and cut a whole in the lid. I also cut a whole in the side near the batteries for an on and off switch. Then I began placing components in the box starting with the lcd screen and wiring it to the microcontroller and a small breadboard. You could also buy a proto shield for the microcontroller and solder the wires to that as well.
At this point I also cut the battery plug ground wire and soldered it to the on off switch.
You can see in the image above I am using 3 eyelet screws and a dowel attached to the micro servo to lock and unlock the box. In the future I will add a small block of wood with a hole for the dowel to pass through in order to keep the dowel lined up better. Right now the dowel is too loose and prone to being at the wrong angle when locking the box.
See my code here – Reverse Geocache Code
This code is far from perfect and could use some tweaks. Based on code from Adafruit.