For my first Instructable, I will show you how to build your own ultrasonic batgoggles using an Arduino microcontroller clone, Devantech ultrasonic sensor and welding goggles for around $60 or less if you already have standard electronics components. You could also skip the electronics and make a simple bat-mask perfect to wear to the next Batman movie. In that case, the cost would only be about $15.
These goggles allow you to experience what it is like to use auditory cues like a bat and is intended for children in a science center setting to learn about echolocation. The goal was to keep costs as low as possible, avoid making the form of the interaction to be generic or unrelated to its educational purpose and to ensure that the physical form of device embodies the subject matter. For a more thorough discussion of its design, please see the project webpage.
To keeps costs and size low, an Arduino clone is built used however, but this project works just as well with pre-built Arduino microcontrollers.
These goggles were built for "Dynamic User-centered Research and Design" course in the Arts, Media & Engineering program at Arizona State University.
Step 1: Necessary Materials
-Welding goggles (Mine are "Neiko" brand and are easily found on eBay as "Flip up welding goggles" for 3-10 dollars shipped, this specific type works really well)
-Devantech SRF05 Ultrasonic Sensor (or other comparable sensor -- however, the SRF05 has a very low power consumption of 4mA and great resolution from 3 cm to 4 meters, it is about $30)
-something to make ears out of (I used plastic cones, see also: "How to build a better bat costume")
-some type of enclosure for electronics
-3/8" split seam flexible black convoluted tubing (to hide connecting wires)
-piezo buzzer that can run on 5v-9v
-plasti-dip spray can (black)
Microcontroller Electronics (these components can be skipped if using a pre-built controller)
- Arduino programmed Atmega8 or 168 DIP chip.
- a spare Arduino board or ArduinoMini USB programmer
- Small PC board (available at Radioshack)
- 9V battery connector (available at Radioshack)
- 7805 5v voltage regulator
- 16 MHz crystal (available @ sparkfun)
- two 22pF capacitors (available @ sparkfun)
- 10 microF electrolytic capacitor
- 1 microF electrolytic capacitor
- 1k resistor and 1 LED (optional but highly recommended)
- 2N4401 transistor (optional)
- female and male headers (optional)
- 28 pin DIP socket or two 14 pin DIP socket s(optional)
- small breadboard for prototyping (optional)
The electronics components can also be obtained from www.digikey.com or www.mouser.com
Tools and supplies you may need
-hot glue gun
-wire strippers etc.
Step 2: Design Some Ears
I used plastic cones that are used for physical therapy, which we happened to have a large supply of in our lab. But this tutorial gives another nice option for bat ears.
I first drew an oval with a sharpie and cut it out with a Dremel. I saved the cutoff piece to use for the inside of the ear.
Step 3: Cut Ears
Please take care not to burn yourself while using a hot glue gun!!! You can also easily melt the plastic cones by accident.
Step 4: Prepare Goggles
You will also want to sand and spray the ears as well. Sanded plastic dust is nasty for your lungs and eyes so please wear a mask and safety glasses for these steps.
I sprayed about 3 coats with about 10-15 minutes between coats to get an even texture. When wet, the paint appears glossy, but it dries to a matte texture.
Step 5: Assemble Electronics
I included picture of the PC board version (with sensor/buzzer not connected) as well as a prototyping version built on a breadboard for reference. The breadboard version also shows how to connect the Arduino board as a USB programmer for the microcontroller chip. Since I used a DIP socket for the chip, I can also remove the chip and put it in an Arduino board to program it, but it can be tricky to pull the chip out without bending all the pins -- thats why i included the female header pins for the tx/rx. Even though the board is very cramped, you can see that all of the pins of the controller have a solder pad available to connect to. Since they aren't necessary for this project I did not solder female headers to the unused pins but if they were, you would have the full capabilities of an Arduino Diecimilia except on-board USB in a very small package. The width of the board is approximately one half of the Diecimilia board and about the same length. (here is a similar setup.) It is optional to use a transistor to power the buzzer, the Arduino can provide enough current from the pin itself. However, using the transistor allows you to use other sound making devices other than a buzzer if you have one.
Step 6: Prepare Buzzer and Sensor Wires
Step 7: Finish Wires
Step 8: Upload Code
The code works by playing beeps and then varying the inter-beep interval based on the distance measured by the sensor. So, if you are close to an object, the inter-beep interval decreases and the beeps occur faster. If you are far away from an object, the inter-beep interval increases so the bleeps occur more slowly. The controller checks the distance every 60ms, so the inter-beep interval changes dynamically. Currently it is scaled so 1 inch makes a 10ms difference in inter-beep interval. This makes the goggles work better for closer distances, but can be increased to work better for further distances. I tried an exponential scaling that increased the range at closer distances(using fscale but it didn't seem to change the response much in exchange for tons of code, so I scrapped it.) Since the time it takes to read the distance depends on the distance of the object being sensed (the sensor returns pulses up to 30ms long) the code measures the time it took to get the reading and compensates the delay times by that amount.
Every line on the code is commented and is (hopefully) self-explanatory.
Step 9: Put Electronics in an Enclosure
Drill a hole in your enclosure that can fit the convoluted tubing. I did this using a trial and error approach starting with a small size and increasing the diameter until the tubing fit just right. Run the wires through the hole then squeeze in the convoluted tubing. My cables are slightly long so I had to fold them around to fit. Some Velcro holds the circuit board to the enclosure.
Step 10: Connect Wires
Step 11: Close Enclosure
Step 12: Attach Ears
Step 13: Attaching Ears Continued
The ultrasonic sensor somehow was the perfect fit to be shoved onto the locking mechanism for the flip up capability of the goggles. You have to pull the rubber goggle frame out of the plastic lens piece slightly from the top to make space then the sensor fits right in. The sensor does pop out sometimes, so a little glue could fix it for good. Unfortunately this method of attachment makes it impossible to flip the lenses up anymore.
Step 14: Experience Echolocation
Please do not wear these in hazardous environments or in traffic! These goggles are for educational purposes only and meant for controlled environments since they are intended to block your peripheral vision and regular vision so you are more reliant on auditory cues.
I am not responsible for any injuries as a result of wearing these goggles! Thanks!
Since this is based on Arduino, you could easily add a Zigbee or blueSMIRF module to interfaces these with computers wirelessly. Future work might be adding a dial to adjust the sensitivity and adding a on/off switch.