Skip to content

Building the device

AsherGlick edited this page Aug 22, 2011 · 10 revisions

My device was built using a modified Paralax RFID board, but the program can handle any data that has already been processed. possibly a future program will be released to handle unprocessed data, leaving just the sine wave generation up to an external circuit. I will be putting pictures and instructions on how to construct your board on this page.

I will be adding complete instructions on how to build this device soon, then pictures. And links to other sites with instructions on how to build this.

To build this you will need

  1. a paralax RFID reader
  2. an atmege328 (can be found on an arduino*)
  3. 5v regulator
  4. resistors
  5. circuit board

(*) if you are using an arduino be aware that you will need a AVR programmer and that the arduino will not be able to burn the program itself, also when you burn the program you will be overwriting the arduino boot loader and will have to re-burn the boot loader when you want to use it as an arduino again

Removing the PIC

currently on the Paralax RFID board there is a PIC that controls the input an output

Building The Board

if you are using an Arduino board it should already have the necessary components (minus a couple LEDs) and you can skip this step

Connecting the AVR

To connect the RFID antenna to the ATMega chip, you will need to connect four wires, power(vcc), ground(gnd), clock(clk), and dmod_out.
Power and ground function as you think they would, to provide power to the device.
The clock pin tells the AVR when it should gather data from the antenna, when this signal changes from (low/high) to (low/high) an interrupt function is triggered which polls the RFID antenna dmod_out signal.

Pin Shifting

If you are experienced with AVRs you can change what pins the program uses, however the current pins were chosen so that the code would have to do the least amount of work possible to access the data that it needs. This is only crucial in the interrupt function, because there are only a finite number of cycles that are available to use before the next interrupt is triggered. If you use too many cycles then the only every other interrupt will be triggered. As a result this will decrease the accuracy by half, as well as mess up the first phase of the decoding algorithm. So in short, don't change the pins unless you are sure you know what you are doing.

Optional Components

Hooking up the servo