Featured User: kurt
Open-source hardware project hosting is my passion. I spend most of my free time building neat gadgets or planning what I'll build next. I love building things, and I want to make Open Hardware Hub a place that inspires others to build, ...
Updates 2013 February 18
It's been a while, hasn't it? Well, that's ok because we've got a lot of updates to talk about. Most of these have been effective on the site fora couple weeks now. A few may or may not be active when this article gets posted, but they'll certainly be applied in the ...
Scavenger Hunt Beacon Decoder and AVR Programmer
Use this to decode the messages broadcast by a Scavenger Hunt Beacon. The messages are displayed on an LCD screen when the Beacon's IR beam hits the Decoder's receiver. This project also doubles as an AVR Programmer Shield for an Arduino.
- Scavenger Hunt Beacon Decoder V1.zip - Scavenger Hunt Beacon Decoder GERBER
- Scavenger Hunt Beacon Decoder.sch - Scavenger Hunt Beacon Decoder EAGLE Schematic
- Scavenger Hunt Beacon Decoder.brd - Scavenger Hunt Beacon Decoder EAGLE Board
- Scavenger_Beacon_Decoder.pde - Scavenger Hunt Beacon Decoder Arduino Sketch
Bill of Materials
|Qty||Part #||Description||Schematic ID||Source|
|1||WP7113LID||5MM LOW CURRENT RED LED, LAMP THOLE, BULK||LED_ERR||Source|
|1||WP7113CGCK||5mm Green LED,Water Clear/Domed Lens, PB Free||LED_PROG||Source|
|1||OVLGY0C9B9||LED, 5MM, TAPERED, YELLOW||LED_HB||Source|
|3||CF14JT100R||1/4w 100 ohms 5% Carbon Film Resistors||R1, R2, R3||Source|
|1||CF14JT4K70||1/4w 4.7K ohms 5% Carbon Film Resistors||R4||Source|
|1||CT6EP103||TRIMMER 10K OHM 0.5W TH||P1||Source|
|1||LCD Display||20 x 4 Blue LCD Character Display||Source|
|1||PT334-6B||PHOTOTRANSISTOR 5MM BLACK AXIAL||PQ||Source|
Solder the four resistors in place. You may have to prop them up on one side because the footprints on the PCB (printed circuit board) are too small.
Solder the two IC sockets down. By putting two sockets back-to-back like this, we can program any size AVR microcontroller with this board.
Solder the small IC socket. This socket is designed to be used when programming an ATTiny13. It can also program any other 8-pin AVR microcontroller provided that the pins are the same for MISO, MOSI, VCC, GND, and RESET.
The black phototransistor should have the flattened side facing in towards the middle of the board. (The collector and emitter of the phototransistor are marked on the board if you wish to double check.)
The LEDs should line up with their outlines on the board. The LEDs I used look different from the ones in the parts list, but any LED should work.
Solder the female headers on either side of the two big IC sockets. These headers connect directly to the IC pins closest to each socket. Wires should be soldered into the 6 holes marked "Wires". The free ends of these wires can be inserted into these female headers to configure the board so that it can program any AVR microcontroller inserted into the large IC sockets.
Solder two 3-pin male header strips where the board is labeled ISP. (It should be labeled ICSP. That is a typo on the board artwork.)
Solder another female header strip across the top of the board. This header strip is where the LCD screen will plug in. Solder the potentiometer in place. You will probably have to bend the legs of the potentiometer to get them to fit in the holes. This potentiometer adjusts the contrast of the LCD screen. If you can't see any characters on the LCD screen, try adjusting this to make them show up.
Solder the make headers on both sides of the board. The headers should point down so that they can be inserted into the female headers on the Arduino.
Plug your ATTiny13 into the socket marked "ATTiny13". Then plug the Decoder board into your Arduino. Connect your Arduino to your PC and download the ArduinoISP sketch to the Arduino. You can find this sketch by going to File -> Examples -> ArduinoISP as shown in the image to the left.
Once the ArduinoISP program is uploaded, the yellow heart beat LED should begin pulsing. This shows that the Arduino is ready to program an AVR microcontroller.
Next, program the AVR microcontroller. Navigate to the folder that holds your .hex file in a command prompt window. (Open the Start Menu, type cmd, and press enter to open a command prompt in Windows 7.) Execute the command below.
C:\WinAVR-20100110\bin\avrdude.exe -p t13 -P com5 -c avrisp -b 19200 -U flash:w:"Scavenger Beacon.hex"
You will have to modify some things in the above command. Change com5 to whatever port your Arduino is on. (In Windows you can find this by opening up Device Manager.) Also, replace Scavenger Beacon.hex with the name of the .hex file you want to program. If you want to program a microcontroller other than an ATTiny13, then you will have to change the t13 to match your new micrcontroller. You might also have to change the path to avrdude.exe depending on where you installed it. The path shown is where AVR Studio installed avrdude.exe for me.
Plug your 16-pin LCD into the female header at the top of the board. Plug the Decoder into an Arduino. Connect the Arduino to your computer. Download the Scavenger_Beacon_Decoder.pde sketch. Upload it to your Arduino. To decode messages from a beacon, line up the IR LED on the Beacon with the black phototransistor on the Decoder. Watch the demo movie at the top of this page to see the decoder in action.
1 - Initial project release
blog comments powered by Disqus