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 ...
Portal Turret Plushie
Deadly, yet adorable, this plush turret from the game Portal talks and responds when you play with it. It senses when you pick it up, knock it over, or walk in front of it. The stuffing and soft fleece skin make it super cuddly, too!
Inspired by Up, not North.
- Portal_Turret.pde - Portal Turret Arduino Sketch
- PIRSensorTest.pde - PIR Sensor Test Arduino Sketch
- WaveShieldTest.pde - Wave Shield Test Arduino Sketch
- test.wav - Test WAV File
- Pattern Page 1.pdf - Rear and Center Pattern
- Pattern Page 2.pdf - Front Pattern
- Pattern Page 3.pdf - Leg and Leg Cover Pattern
Bill of Materials
|Qty||Part #||Description||Schematic ID||Source|
|1||Wave Shield||Adafruit Wave Shield for Arduino Kit - v1.1||Wave Shield||Source|
|1||RBBB Kit||Really Bare Bones Board Kit (Arduino Compatible)||RBBB||Source|
|1||PIR Motion Sensor||PIR Motion Sensor||PIR Sensor||Source|
|1||SD Card 2 GB||SanDisk 2 GB Class 2 SD Flash Memory Card SDSDB-2048-A11||SD Card||Source|
|1||TSW-150-07-L-S||CONN HEADER 50POS .100" SGL GOLD||Header Pins||Source|
|1||White Fleece Fabric||1/4 yard||Source|
|1||Red Tulle Fabric||1/8 yard||Source|
|1||Black Cotton Fabric||1/8 yard||Source|
|1||Polyester Fiberfill||12 ounces||Source|
|1||White Zipper||7 inches||Source|
|10||WP7113LID||5MM LOW CURRENT RED LED, LAMP THOLE, BULK||LED||Source|
|1||CF14JT100R||1/4w 100 ohms 5% Carbon Film Resistors||Source|
|1||CF14JT10K0||1/4w 10K ohms 5% Carbon Film Resistors||Source|
|1||BH48AASF||HOLDER BATTERY 8 CELL AA W/SNAP||Battery Pack||Source|
|1||Tilt Sensor||Tilt Sensor||Tilt Sensor||Source|
|1||ZMA00A150L04PC||Switch, Snap, Lef Actuated, 4.55mm Long, 50 Grams Oper Force, PC Term, 0.1 Amps||Lift Switch||Source|
|1||GF-1123-0009||Slide Switches STANDARD SPST 11A||Power Switch||Source|
Lay out your parts and make sure that you have everything. Clockwise from top left: voltage regulator, switch, LED, 2 resistors, 2 electrolytic capacitors, 2 ceramic capacitors, resonator, power jack, diode, PCB, ATMega328, IC socket, and 3 headers.
Start by inserting the resistors as shown. Bend the leads outwards after you have inserted the resistors so they hold themselves in place.
Insert the two small capacitors into the holes for caps C3 and C4. Bend their legs so they don't fall out when you turn the board upside-down.
Insert the LED and make sure that the LED's long lead goes in the hole closest to the (+) printed on the circuit board. Bend the leads so the LED stays in place. Solder the LED.
Insert the diode, switch and regulator. There is now wrong way to install the switch. The diode's stripe goes near the hole without a ring around it. The flat side of the regulator goes towards the side of the board.
Solder the LED, diode, switch, and voltage regulator in place.
Insert the two electrolytic capacitors as shown. Note the position of the stripes on the capacitors to make sure they are inserted correctly.
Bend the leads of the capacitors to hold them in place and solder their leads.
Insert the DIP (dual in-line package) socket. The divot on the end of socket goes closest to the switch. This lines up with what is printed on the circuit board.
Turn the board upside down and set it on something so that it is resting on the DIP socket. I used my diagonal cutters for this. This keeps the socket pushed through the holes while you're soldering. Solder the DIP socket. Solder two diagonal leads first and make sure the socket is fully seated. Then solder the rest of the leads.
Insert the resonator into the three holes marked with a little rectangle. The resonator can be installed wither way. I installed it with the label outwards so I can read it.
Next solder the header to the USB BUB II so that it can plug into the RBBB and program it.
The third board we need to assemble is the Wave Shield. Make sure that you have all the parts in the picture. My kit was missing a screw to hold the thumbwheel on the potentiometer, but we won't need that anyway.
Begin by placing the SD card slot. It should snap into place because of the plastic pins on its bottom.
Solder the four large flanges on the sides of the slot first. then solder the rest of the small pins that are in the middle of the board. The flanges are for structural support, and the small pins carry electronic signals.
Insert the 10k (brown-black-orange) resistor into the R6 slot. Note: this resistor is too close to IC4. I recommend that you install this resistor after installing IC4 otherwise your IC4 may not seat properly.
Bend the leads so it doesn't fall out when you turn the board over. Solder it in place.
Insert resistors R7 (1.5k, brown-green-red) and R8 (100k, brown-black-yellow) as shown.
Insert the 0.01uF (marked 103) ceramic capacitor in the holes for capacitor C8. Insert the five 0.1uF (marked 104) ceramic capacitors in the holes for C2, C3, C5, C6, and C7.
Bend the legs of the capacitors so they don't fall out and solder them in place. I found it helpful to clip each lead after I soldered it so they didn't get in my way.
Insert the MCP4921 integrated circuit in the holes marked for IC2. This is a 12-bit digital-to-analog converter. Make sure the dimple on the chip lines up with the silk screen printed on the circuit board.
Solder the leads of the IC. You don't need to clip these leads since they are already short.
Insert the TS922IN next in the holes for IC3. This is an op-amp. Make sure that the dimple on the chip lines up with the markings on the circuit board. Solder this IC in place.
Insert the SN74AHC125N in the slot for IC4. Again, line up the dimple on the IC with the markings on the circuit board. See how my IC didnt lay flat on the board because of R6. This is why I recommend you solder down IC4 before R6.
Solder down IC4. The SN74AHC125N integrated circuit has a description of "Buffers & Line Drivers Tri-State Quad Bus".
Insert the 3.3V regulator next. Make sure that the package lines up with the outline that is printed on the circuit board.
Inser the 6-pin ICSP header and button next. The button is symmetric and can go in either way. The same goes for the header.
Insert the three electrolycitic capacitors next. The white stripe with dashes on the side of the capacitors indicate the negative side of the lead. Put the negative lead in the hold that isn't near the (+) on the circuit board.
Insert the 10k potentiomter next. Solder it in place. You will have to use a lot of solder to fill the large holes and give it good mechanical strength.
Take five short pieces of wire, strip them at both ends, and solder them to connect the following pairs of holes on the Wave Shield: 2->LCS, 3->CLK, 4->DI, 5->LAT, 10->CCS. These wires are the ones that are hidden behind the wires connecting the RBBB to the Wave Shield.
Get 8 wires that are about 2 inches long. Make these wires as short as you are comfortable making them. Use them to connect the RBBB to the Wave Shield as detailed in the next couple steps.
First, connect pins 2, 3, 4, and 5 on the Wave shield to pins D2, D3, D4, and D5 on the RBBB as shown. Solder these wires.
Take the other 5 wires and use them to connect the Wave Shield to the RBBB as shown. They connect pins 10, 11, 12, 13, and gnd on the Wave Shield to pins D10, D11, D12, D13, and GND on the RBBB, respectively. Solder these wires in place.
Cut one longer length of wire and use it to connect 5V on the RBBB to 5V on the Wave Shield. Solder it in place.
Now is a good time to test out your components and make sure they work. Format the SD card with the settings shown in the image. Copy the "test.wav" audio file to the SD Card. Insert the SD Card into the Wave Shield. Plug the RBBB in to the USB BUB II, and connect it to your computer. Download the program WaveShieldTest.pde to the RBBB. Plug some headphones into the 3.5mm jack. If you hear sound, everything is working properly!
Cut the JST connector off the PIR sensor. We'll solder these wires directly. Strip the ends of the wires so about 1/8th inch of copper is exposed.
Solder the PIR wires to the Wave Shield as follows: brown-->Gnd, black-->Analog In 0. DO NOT solder the red wire yet. It is not connected correctly in the picture. (Skip to step 107 to see how the red wire should be connect to 5V instead of Vin.)
Solder a wire connecting the hole closest to the edge of the RBBB board in the PWR JACK square to Vin on the Wave Shield. This wire will supply +9V to the Wave Shield. (This step is left here to explain why this wire is present in photos of future steps.) Do not solder the 9V battery connector. Skip to step 103 to see how the 9V battery clip should be connected. (In this configuration, there is no switch to turn the robot on or off.)
Solder a 10k (brown-black-orange) resistor between 5V and Analog In 0 on the Wave Shield. This pull-up resistor is needed for the PIR sensor to work properly. DO NOT clip the resistor's leads. They are needed for future connections.
Wrap a wire around the resistor's lead coming out of Analog In 0 on the Wave Shield. The other end of this wire goes to A0 on the RBBB.
Solder the other end of the A0 wire to A0 on the RBBB. Solder another wire between 5v on the Wave Shield and 5V on the RBBB. Also solder a wire between Gnd and gnd on the Wave shield. These two holes aren't connected on the board to prevent a ground loop.
Solder a pair of wires to the two holes next to the audio jack on the Wave Shield. These will carry the audio signal to the speaker. (Do not solder these wires to the speaker yet. Do that after you have threaded the wires through your case. I'll show you when to do this in a later step.)
Connect gnd on the Wave Shield to the inner Analog In 1&4 connectors on the Wave Shield. These wires will be used for the ground connection for the tilt sensor and the lift switch. Don't solder the speaker to the Wave Shield yet. This will be done later.
I used a small plastic food container to house all the electronics. It measures about 5 inches by 3.5 inches at its widest. the dimensions don't really matter as long as you can fit all the electronics inside and it's small enough to fit into the plushie that you plan on making.
Draw a circle on the bottom of the container using sharpie. I traced the lid of a vitamin container. The circle should be about 1-5/8" in diameter. Put eight dots around the circle. An LED will be placed over each dot.
Make two small cuts on either side of each dot. These holes will be for the leads of the LEDs to pass through.
Press an LED through the holes you just cut. Take note of which side of the LED has the longer lead.
Continue making cuts on the sides of each dot and inserting LEDs. Make sure the leads alternate so that no long lead is next to another long lead.
Insert all eight of the LEDs. Make sure that all of your LEDs are inserted so that the leads alternate between being long and short. I put my LEDs so that the flat part of the LED is on the clockwise side of each LED.
Bend the short leads over so that they are in front of the short lead of the adjacent LED.
Continue bending the short leads over until every short LED is held down by the short lead of the next LED. The lower lead at each junction should be pressing up against the next LED's short lead.
Solder all of the short leads together. I pushed all of the long leads toward the center to get them out of my way.
Bend over all of the long leads and push them under each other like you did for the short leads. Make the circle of long leads slightly higher so that they don't touch the short leads. If they do, then the LEDs won't light up.
Now is a good time to test your soldering. Connect the LEDs to a 9V battery and a 100 ohm resistor (brown-black-brown) in series. If they don't light up, reverse the polarity.
This is what my LEDs looked like when I connected them to a battery. It's alive! ...almost.
Put the RBBB, Wave Shield, and PIR sensor in the container. Make an I-shaped cut in the container's lid near the holes for the speaker wire. This slot will let the speaker wire pass through the container to the speaker.
Take the other end of the speaker wire, pass it through the container lid, and solder it to the speaker. you can see that my terminals are already filled with solder because I had already made this connection before putting the wire through the lid. Oops!
Solder the tilt sensor as shown. Make sure that it is bent like in the picture. When the sensor is in the finished turret, the top of the sensor will be pointing down. I found that installing the sensor upside-down gives better (inverted) results.
Solder a 3-pin header to the RBBB holes marked GND, 5V, and RX. This header will be used to supply power for the LEDs. I'd suggest that you pull power from Vin instead (to avoid overcurrenting the 5V regulator), but this is what I did.
Crimp the ends of a pair of wires. Insert the crimped wires into a 3-pin female connector. This connector goes on the header we just soldered.
Take a 100 ohm resistor (brown-black-brown) and bend it like the resistor in the picture. Do not use a 10 ohm resistor (like the one in the picture) for this step! It will draw too much current.
Bend it around one of the long LED leads and solder it in place. Again, make sure to use a 100 ohm resistor (brown-black-brown). Solder the bent lead of the resistor to the LED leads.
Take the other end of the pair of wires that you just crimped, and solder one wire to the resistor and the other to one of the short LED leads.
Place the switch against the side of the container as shown. This side of the container will become the bottom of the turret. The LED ring should be on the far side of the bottom of the container. This switch is used to figure out when the turret has been picked up, so it should be on the side of the container that will be the bottom.
Cut a hole in the side of the turret and push one of the leads of the switch through it. This will help to hold the switch in place.
Cut another hole in the side of the container near where the second terminal of the switch is. Take a pair of wires, strip the ends, and push one of the wires through the second hole.
Solder the wire that you pushed through the hole to the second terminal of the switch.
Solder the other wire to the other terminal of the switch inside the container.
Make a pair of cuts on either side of the switch. Push a wire through these holes. Route the wire through the switch, and tie the wire off. This will help to hold the switch in place.
Solder a 2-pin header into the outer holes for pins Analog In 1&2 on the Wave Shield. The switch will connect to these two pins.
Crimp the ends of the wires that you soldered to the switch and put them in a 2-pin female connector.
Plug the LEDs in to the RBBB. The RX pin should be left unconnected. Make sure that the wire connected to the long leads of the LEDs is connected to 5V and the other is connected to GND.
Place the slide switch on the lid near the other switch. Make a pair of cuts on either side of the switch and connect them to make a C-shaped cut.
Make a pair of cuts beside the cutout just under the mounting holes on the switch.
Take a pair of wires, strip the ends, and solder one wire to one of the switch's terminals.
Take the other ends of the wires and solder them to G and +V on the RBBB. The wire soldered to the switch should be soldered to +V.
Take the remaining unsoldered wire and solder it to the black wire coming from the 9V battery connector. Solder the red wire from the 9V battery connector to the remaining switch terminal.
Use the small bent piece of wire to short the two outside leads of IC2 on the PIR sensor. This overrides the onboard voltage regulator and makes the PIR behave better when using an external supply.
Take the red wire from the PIR sensor and solder it to the resistor lead that is sticking out of the 5V hole on the RBBB.
Cut a hole in the container for the PIR sensor. The PIR sensor does not see well through plastic for some reason. I cut an octagon because it was easier than cutting a circle.
Take a thread or fine wire and thread it through one of the mounting holes on the PIR sensor.
Push the thread through one of the holes made by the LED leads.
Route the thread through another mounting hole on the PIR sensor. Continue doing this around the PI sensor and LED leads so that the PID sensor is held in place.
Cut the coat hanger at the bottom corners so you have one long straight piece of wire. I used a wrench to score the cuts before bending it with pliers to make these cuts.
Bend the long straight wire so it looks like this. This is the front two legs of the turret. The middle part will sit flush against the bottom of the turret for support.
Take the part of the wire hanger that doesn't have the hook on it and cut off any curved parts. Bend it like shown in the picture.
Push the new leg through the hole in the switch. This will allow the leg to pivot and activate the switch when the robot is lifted off the ground. Tape the leg to the silver lever of the switch the keep the leg from popping out.
Push a wire through the slits made on each side of the switch. Wrap the wire around the middle of the front legs and tie it down. This will keep the front legs from pivoting. -=*=--=*=- Now, upload the Portal_Turret.pde sketch to the RBBB. Format the SD Card again with the same settings as last time. Then convert your sound files to the proper format, and rename them like in the picture. The files LFT* are played when the turret is lifted up. The SEE* files are played when the PIR sensor detects movement. The TLT files are played when the turret is tipped over and the tilt sensor is triggered. POWERON.wav is played when the turret is turned on. I can't distribute the sound files I used for this project because they are copyrighted by Valve. You can easily find turret sound effects elsewhere on the internet by searching Google with the right keywords.
- A running stitch is sufficient for all stitches.
- Make sure to start the stitch so that the knot is on the same side as the seams and will end up inside the plushie. For stitching the white leg shields, start and end the knot on the underside of the leg.
- Sewing pins may be used to help align and secure pieces in place while sewing.
- A stuffing tool can be used to make filling the legs with fiberfill easier.
The design of the Plushie shell and all sewing was done by the lovely Charlyn.
Print and cut the pattern pieces out for the body. When you print these pieces, make sure to set "Page Scaling" to "None" in the "Print" dialogue box.
Use a marker to trace the pattern into white fleece, and cut out the pieces. Each panel needs to be cut out twice: once for the left side and once for the right side.
Place the right back piece on top of the right front piece so that the top edges are aligned. Stitch this edge together. Repeat for the left side.
Open the pieces at the stitch, and align the bottom of the right center piece with the right front piece as shown. Begin to stitch at the aligned edge.
Rotate the right center piece to align its long edge to the inside edge of the right front piece. Stitch together this side.
Continue to fold the center piece to align it with the next inner edge, and sew the edges together until the center piece has been sewed to the inner edges of the front and back pieces.
Sew the bottom edges of the front and back pieces together so that the seam is on the same side as the previous seams. Repeat this step and the three previous steps for the left side.
Place the right side on top of the left side so that the seams for both sides are on the outside. Stitch around the laser hole as shown.
Open up the sides so that seams are facing up. Cut a 3 inch square from the red mesh, and fold the square in half twice. Stitch around the hole and secure the mesh in place.
Bring the unstitched sides together. Place the zipper right-side down on the left side, and sew them together.
Flip the fabric inside out, and line the unstitched side of the zipper with the unstitched side of the fleece. Sew from the top until just past the zipper.
Flip the fabric right-side out, and carefully slip the fabric over the skeleton of the turret.
Open the zipper, and use the fiberfill to stuff the turret around the skeleton.
Cut slits in the front of the fabric so that it fits around the wire legs. Tip: If you need to adjust the cut, simply make another cut and sew up the previous cut.
Print out and cut the pattern for the legs and leg covers. When you print these pieces, make sure to set "Page Scaling" to "None" in the "Print" dialogue box.
Trace and cut the leg pattern out three times in the black cotton fabric. Trim the legs to fit over the wire, fold in half, and sew as shown.
Carefully slip the stuffed legs over the wire. Sew the slits up around the legs, making sure to sew the ends of the black fabric to the inside of the fleece.
Cut out the leg cover pattern three times from the white fleece, and position the pieces on top of each leg. Stitch the piece to the leg through the center, working around the wire in the leg. Tip: When performing a running stitch, make the stitches large on top and very small on the bottom to minimize the appearance of the white thread on the black legs.
15 - added attribution note
14 - updated description
13 - added a couple switches to the parts list
12 - updated steps 52 and 53 to remove "TK" placeholders
11 - added a speaker to the BOM
7 - edited step 130
3 - updated project images.
2 - added youtube link. updated line numbers.
1 - Initial project release
blog comments powered by Disqus