This two-part circuit consists of a buzzer and a controller. Attach the buzzer to an item you might frequently lose, and use the button and the volume knob on the controller to activate the buzzer when the item becomes lost.
The buzzer and controller communicate wirelessly using a 434 MHz radio transmitter and receiver, and the code uses the Virtual Wire library.
2 x Teensy (or Arduino, etc)
2 x Header / sockets for Teensy - I used qty 4 of a DIP socket similar to PRT-07939 from Sparkfun and cut them apart in the middle. You could also use female headers.
1 x 434 MHz radio transmitter: WRL-10534 from Sparkfun
1 x 434 MHz radio receiver: WRL-10532 from Sparkfun
1 x Piezo buzzer - any will work as long as it's 3V3 tolerant, I used COM-13940 from Sparkfun
1 x push button - any will work, I used a panel mount button similar to COM-11992 from Sparkfun
1 x rotary potentiometer - any will work, I used a panel mount 3310Y-001-502L-ND from Digikey
2 x 9V batteries
2 x 9V battery snap connectors
2 x 5V linear regulators - I used what I had around, part #s UA7805C and LM78L05
1 x large (~1000uF) capacitor
3 x smaller capacitors - I used 0.47, 0.1, and 0.01 uF since that is what my linear regulators' datasheets recommended
1 x resistor, to use as a pull-down for the push button. I used 1.2K, it could be bigger to save power.
2 x breadboards for testing the circuit
2 x perfboards or solderable breadboards for the final circuit
Wire, soldering iron, solder
3D printer + filament for case (optional)
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Breadboard the Circuit
Follow the diagram to assemble the circuit on a breadboard.
I chose to use Teensy's to encode and decode the radio signal since it's what I had on hand, but if you are looking to minimize space or current draw then the HT-12E IC chips shown in the datasheet might be preferable.
It is important to use pins 11 and 12 on the teensy to connect to the radio modules, since that is what the virtual wire library defaults to. The other pins can be interchanged according to your needs, as long as you update the code in the setup section.
The three smaller capacitors are for filtering the power rails. They are not completely necessary but will help increase reliability by providing a stable voltage to the Teensy's and radio receiver and transmitter.
The larger capacitor is used as a low pass filter to turn the PWM output of the teensy into a DC voltage that is acceptable for the pizeo buzzer. This is pretty important because piezo buzzers aren't meant to work with an AC PWM signal. However, this capacitor would not be necessary if you have a non-piezo speaker such as Sparkfun COM-07950, which is designed to operate with a square wave.
The antennas must be the proper length in order to achieve the best signal. The 17 cm length is calculated to be a quarter wavelength of the 434 MHz radio wave which achieves resonance. Alternatively, you can build a loading coil antenna such as this Instructable, but I haven't tried that.
Step 2: Program the Teensy's
My code is available on GitHub here:
There is separate code for the receiver and transmitter.
In the transmitter code, you may have to tune the min and max volume and pot reading variables until the volume range is right for your specific potentiometer and pizeo buzzer combination. The DC voltage applied to the buzzer will be vol / 255 * Vref, where Vref is 3.3V for a teensy and vol is calculated in the code based on the potentiometer reading.
In the code I utilized several energy-saving tricks for the Teensy described here. Without those tricks, the buzzer circuit and the control circuit drew 40 mA each even when the button was not pressed, so a standard 9V battery would run out of energy after just ~12 hours.
Step 3: Solder the Circuit
Once the circuit is working on the breadboard, it is time to solder it onto a perfboard.
I laid out the components taking into account how I want the circuits to fit into a box that I would 3D print. I attached the panel mount components on the transmitter (the pot and push button) with wires so they have vertical wiggle room to accommodate box assembly.
Be sure to leave a spot for the batteries, and also keep in mind that the 5V linear regulators will get hot.
I wrapped the wires of the 9V battery clips and the antennas through the holes in the perfboard before soldering for the purpose of strain relief. Likewise, I added hot glue to the pins of the potentiometer as a proxy for potting compound.
Step 4: Assemble and Start Using
Mount the circuits into 3D printed boxes. On the buzzer box (yellow), I mounted the electronics using heat set inserts which melt into the plastic with a soldering iron. On the control box (white), the circuit attaches through the panel mount components, so I did not use heat set inserts here to avoid overconstraint.
Attach the buzzer to a commonly misplaced object such as a backpack or coat. The next time the item is lost, it can be easily located by activating the buzzer.