Playful Experience Design Through Interactive and Wireless Techniques ------------------------------------//
Design and Technology // MFA // Fall 2008 // Parsons The New School for Design. ------------------------// Instructor: Yury Gitman
After solving the movement issue of servo, I started thinking about how to put all these electronic parts into my plush toy. First, I moved one of power supplies to mini breadboard and attached it on the Arduino board. Here I simply used both hot glue and tape.
Toys were having fun to hang out together! Matt's toy (with accessories made by Hsiang Ju and me) + Hsiang Ju's duck
The box made of cardboard was used to protect the circuit and provide a platform for servo to stand. Two batteries would be legs of the toy.
Everyone was working hard =)
I started sewing the skin of my toy. It's a lot of work, trust me.
My toy's head.
I got a plastic clown nose from Halloween Adventure, ha ha, and I used it as the head part, just the perfect size. Servo’s fan was attached on the plastic ball by hot glue, and the same, connected the plastic ball and the fur head skin. So toy’s head would turn to specific angles that I set when motor was triggered.
However, I made a mistake here. Without making sure where eyes would be, I hot glued the head skin with the plastic red ball. When I wanted to sew the IR sensor on its head, I found it’s hard to separate the fabric from the ball. Since I couldn’t mount the IR sensor at the right place, toy’s eyes were much lower than I originally expected.
Putting on its skin continuously.
Final review document
the testing video is on the way. to be continued...
Do you often have guests over and wonder what they're doing when you're not looking? Perhaps, they're getting too comfortable and have stopped asking before they open your drawers in the kitchen, bathroom, bedroom, etc. to get what they need?
Hello, How May I Help You? is an adorable and friendly solution for such people like you. Simply place the doll into a drawer of your choice, and turn on the switch before guests arrive. If they snoop into your drawer, the doll will "greet" them with a message when it opens.
Finally, Compy is up and working! Here are some photos of his guts, and his code is below!
Compy's front
I added googly eyes and a pipe cleaner bow-tie to give him a little craft charm.
Compy's Back
His battery pack is attached on the back.
Compy with his Battery Pack removed
The battery pack is attached with velcro. The chip clip which holds Compy onto a laptop is hot glued.
Compy's Guts
I used an Arduino Mini, and had to put that in a little acrylic box from the Container Store separate from another acrylic box containing the speaker and the IR sensor.
Code is below!
PING is a smart trash/recycling bin that tracks your trash activity and reports it online. His aim is to help you develop better recycling habits by collaborating with others.
PING is part of a larger concept that asks the question: "If objects had a voice, what would they say about us and how would we respond?" PING's 'voice' is able to tell users about their trash habits and connects them with other PING users online to allow opportunity for collaboration toward a more sustainable world. PING does this by tracking each time you throw an item in either its waste or recycling compartment and reports this activity online as well as communicating directly with the users through its own illuminating lights. Future iterations of PING will also include a way for the bin to measure weight of the trash, how often the bin gets filled up, and will be able to remind users of trash day so they'll remember to put the trash out. All this data collected will connect to much larger ideas online. For instance, knowing how much paper people recycle can help us calculate how many trees each individual is saving, etc. - allowing each person to feel a bit of accountability and reward for their recycling efforts and help them know that they do in fact play an important part. View a demo video:
PING was created by Katrina Bekessy. Katrina would love to hear any thoughts/opinions/feedback you might have about this project. If you'd like to learn more about it or share your thoughts, please contact Katrina at kmbekessy[at]gmail[dotcom].
So I got the code and circuitry to all work correctly for my "Let's Get It On" Lamp. I am so excited to get it working on the reals.
Yet, i'm still havin some issues with the pants circuitry. Sometimes the fly signal works, others it doesn't.
*Side note: there pants have enough batteries in them to melt through the crotch. This concerns me a bit and it could probably be wired in a more optimal way, with less batteries, but I need a break from this. FYI: Not for actual wearing!
/////-------------------------------------------------CODE-----------------------------------------------------///// /* * BlinkColorFader -- Example of how to select color & brightness * with two pots * * For more info on how to use pots and analog inputs see: * http://www.arduino.cc/en/Tutorial/AnalogInput * * BlinkM connections to Arduino * PWR - -- gnd -- black -- Gnd * PWR + -- +5V -- red -- 5V * I2C d -- SDA -- green -- Analog In 4 * I2C c -- SCK -- blue -- Analog In 5 * * Note: This sketch sends to the I2C "broadcast" address of 0, * so all BlinkMs on the I2C bus will respond. */
#include "Wire.h" #include "BlinkM_funcs.h"
//address for BlinkM #define blinkm_addr 0x00
// INPUT: Potentiometer should be connected to 5V and GND int potPin = 0; // Potentiometer output connected to analog pin 0 #define potPin 0 // analog in pins from zipper signal to control LED fade color: white to red #define ARRAY_SIZE 5 //this is the array size int potNums[ARRAY_SIZE]; //this reads AND stores 10 numbers from the potentiometer input. int pot_val; //potentiometer value from zipper position on jeans
// OUTPUT: Use digital pins 9-11, the Pulse-width Modulation (PWM) pins // LED's cathodes should be connected to digital GND int pPin = 7; //PLAY, conncected to pin8
// Program variables int currentPlace = 0; //this is the total value int placeHolder = 0; //placehoder for each spot in the array int ave = 0; //average pot input numbers (normalize/smooth the input signal)
//SETUP void setup() { BlinkM_beginWithPower(); BlinkM_stopScript(blinkm_addr); // turn off startup script Serial.begin(9600); // ...set up the serial ouput in 0004 format
for (int i = 0; ARRAY_SIZE < 5; i++) { potNums[i] = 0; //fills all values in the array to 0 } pinMode(pPin, OUTPUT); }
// MAIN void loop() { currentPlace -= potNums[placeHolder]; //subtract the last reading from array potNums[placeHolder] = analogRead(potPin); // read the potentiometer value at the input pin currentPlace += potNums[placeHolder]; //add to the array placeHolder++; //add 1 to the placeHolder each loop
if(placeHolder >= ARRAY_SIZE) { placeHolder = 0; //if the placeHolder goes thru the whole array, } //then loop back to the 1st spot in the array
ave = currentPlace/ARRAY_SIZE; //calc the average //Serial.println(ave); // send it to the computer (as ASCII digits)
pot_val = analogRead(potPin); // read the hue pot //Serial.println(pot_val);
//light should fade from white when zipper is up to red when zipper is down BlinkM_fadeToRGB( blinkm_addr, 255, int(pot_val/3.5), int(pot_val/3.5)); // adjust the green and blue to decrease with pot values
if (ave > 600) // Upper third of potentiometer"s range (600) { digitalWrite(pPin, HIGH); //keep digital pin open if zipper is near top }
else if (ave >= 200 && ave <= 500) // Middle third of potentiometer's range (100 - 150) { digitalWrite(pPin, HIGH); //keep digital pin open if zipper is in middle }
else if (ave < 100) // Lowest third of the potentiometer's range (50 - 100)/turn on music here (< 100) { digitalWrite(pPin, LOW); //put digital pin to GROUND if zipper is at bottom }
Here's the code: // Input settings int analogPin = 3; // ir sensor connected to analog pin 3 int val = 0; // variable to store the read value
// Digital pin settings int aOut = 9; // Play pin connected to digital pin 9
// Variables int aVal = 0; // Variables to store the input from the ir sensor
int DEBUG = 1; // Set to 1 to turn on debugging output
int average[100]; // Averaging Code setting byte counter = 0;
void setup() { pinMode(aOut, OUTPUT); // sets the pin as output
if (DEBUG) {
Serial.begin(9600); // Open serial communication for reporting } }
//Main program void loop(){ val = analogRead(analogPin);
//Averaging Code start average[counter] = val; byte c; int total = 0; for(c = 0;c<100;c++){ total += average[c]; } int averaged = total / 100; Serial.println(averaged); counter = (counter + 1) % 100; //Averaging Code. modified from Dave Millis example
if(val < 300){ analogWrite(aOut, 0); delay(1500); analogWrite(aOut, 255); delay(100); } else{ analogWrite(aOut, 255); } if (DEBUG) { // if we want to read the output DEBUG+=1; if(DEBUG>100){ //print every hunderd loops DEBUG = 1; // reset the counter Serial.print(val); }} }
And here is the new win bound recorder which is smaller, more solid, and works as well as the old one. It sounds actually better because I got a bigger speaker for it.
I've scrapped the Winbond, which is both good and bad. The Winbond would have been great for making bird sounds, but the Arduino Mini is so much more compact and easy to work with. It makes sound too, but the computery noises it makes are not very bird-like. In fact, they're just downright annoying.
I'm using the Play Melody code from an Arduino tutorial to get started. I had to add a couple of extra octaves (by halving the frequency of each tone for each octave), and now I'm working on getting the melody to play at the appropriate time.
Right now my code will play a little ditty after 15 seconds if someone is not in front of the IR sensor. I need more parameters, but it's not bad for a proof of concept. Consider is an implementation prototype.
Here is my arudino mini, hooked up to the arduino as a usb connector. Also featured within the mess of wires is an IR sensor, a speaker (bigger than the one I'll end up using, actually), and some fine LEDS to help me figure out what's going on when). The Red LED comes on when the IR is on and reading something is close, and Yellow LED comes on when the IR is reading that nothing is in front of it anymore.
A Close Up
This is just a close up shot of the Arduino Mini, connected to things. I'll be taking it off of the bread board as soon as I'm happy with my code. Until then, it stays, which unfortunately is holding me back from making Birdie look and feel prototypes.
So here's what I've got going so far...it doesn't look like much right now, but it will make a huge difference once I actually have it all set up in the real trash bin I intend to use. Right now I'm just trying to get everything to work.
I've go the IR sensors detecting which bin (recycling or waste) was used, and the Winbond chip changes tracks and plays back the appropriate sound depending which side was just used. I'm having a bit of a problem with the Windbond chip, though. When it needs to change tracks it won't play back the sound after it has moved forward. It'll only play the sound the next time that side of the bin is used. I can't figure out how to fix it in my code, but I don't think it's a huge problem...just strange. My code is posted at the end of this blog post.
I also have the Arduino counting how many times each side has been used. A green or yellow LED will light up when one side is used more than the other (green = you've recycled more, yellow = you've wasted more).
Alos, I assembled my XBee transceivers. It took FOREVER to solder everything - I even got injured in the process (one of the pins got shoved under my fingernail...awesome.). I haven't set them up to work yet...but that's going to happen in the next day or two. For now, all data from the bin can be seen through the serial reader in Arduino. I've posted a screenshot of it below.
Lastly, I started playing with some big FSR's to use as a rough scale/weight measurement for now. Next task for me is to figure how I'm going to normalize their numbers in my code...I have no clue how I'm going to do that...
Here's some pics:
The inside of my 'bin'...not pretty, but semi-functional at least!
Had to show off my awesome soldering job...male and female header pins all in a row, just so I can mount a silly XBee on it.
Screen shot of Arduino serial reader showing my bin data...with some lovely notes included in red.
-getting my Windbond chip to change tracks and play back the sound right after -normalizing my FSR inputs to numbers that actually mean something -keeping the stupid IR sensors consistent. Everytime I turn them on they start with different readings than before
Next things I need to do:
-include FSR's and photoresistor (for lid of bin) with rest of my circuit using a multiplexer -get XBee's to send bin data to computer wirelessly -build working circuit into actual trashbin -refine code to make readings more accurate
Am in way over my head? Yes, yes I am...
Here's my long Arduino code thus far. I'm sure it could be written much more succinctly/efficiently...
Prototype 005 Materials: PIC16F88, breadboard, servo, pot Notes: - The servo could keep turning left and right, but I couldn’t control its speed and directions. - I found that Arduino has a servo library that is easy to use for controlling servos. So I decided to switch to Arduino board.
Prototype 006 Materials: Arduino, servo, breadboard, IR sensor Notes: - In the very beginning, the range of IR sensor was too small. Thus the servo only moved when I almost touched the sensor. Here I scaled the value of IR sensor from 0-1023 to 0-179.
- The servo had a problem of drawing too much current.
- So I did iteration by separating power supply for the servo, but joined the grounds of the two power supplies. I also added decoupling capacitors to stabilize my voltage regulator.
- Here is the code: -------------------------------------------------------------------------------------------------------- #include <Servo.h>
Servo myservo; //create servo object to control a servo int sensor = 0; // analog pin used to connect the sensor int motorPin=11; int val; // variable to read the value from the analog pin
Serial.begin(9600); // set up Serial library at 9600 bps pinMode(sensor, INPUT); //pinMode(relay, OUTPUT); pinMode(motorPin, OUTPUT); myservo.setMaximumPulse(2000); myservo.setMinimumPulse(700);
Serial.print("Ready\n"); }
int getSensor() { val = analogRead(sensor); // reads the value of the potentiometer (value between 0 and 1023) val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
void loop() { /* val=getSensor(); if (val<140){ val=180; myservo.write(val); // sets the servo position according to the scaled value delay(15); // waits for the servo to get there }//end of if
while(getSensor()>30){ myservo.write(getSensor()); Serial.println(getSensor()); delay(15); }//end of while */ myservo.write(getSensor()); Serial.println(getSensor()); delay(15);
//moveFoward(); //moveBackward(); Servo::refresh(); } ------------------------------------------------------------------------------------------------- - I tried to pause the servo after every time it turns by expanding the delay time of myservo.write(). However, its movement became unpredictable. Then I tried moveFoward() and moveBackward() above, but they didn’t work well either. - Another problem I have is the click sound of servo. I was wondering if extreme turning angles like 179 or 180 caused those noise.
I set three functions for different range of distance as fallowing: 1.about 50-80cm: Play 2.about 15-50cm: Play and fwd 3.about under 15cm: Play and change volume
Here's the video where I use three leds to test if the code works first.
The left led is Play, the middle one is Fwd, and the right one is Vol. So, it works fine with pin high and low/led on and off. And here is the code.Download ir_recorder.rtf
Then I put the connectors to the recorder. Here is what happen on level 1 and 2.
I had some wacky issues connecting my IR sensor, but found a useful diagram, also including here:
I ended up adapting Matt's code also. My original code made the lights flicker a lot, but Matt averaged out the IR signal quite effectively. Kudos to you, sir. Matt's code is also after the jump.
Below is a video of my chipcorder working, and some photos of what it would look like if I could get it to work inside it's cute little box-like shell. I've apparently killed my other chip, and I think I've done something iffy to the volume pin on my second chip. Ruh roh. Before I screwed everything up, though, things were beautiful:
Look, there's my speaker, some holes for the LEDS, and all my buttons! Hooray!
Lodged
Also, this is a photograph of some stuff from Sparkfun lodged in my mailbox. Great! I know it looks like maybe if I tilt the box then it will slide out of the mailbox quite easily, but I assure you it does not work. I'm going to hack apart the box inside the mailbox tomorrow. I'll let you know how it goes.
Yes, the Winbond circuit now comes in a sleeker, more stylish look
complete with toggle power switch, built-in 1/8" jack for recording,
and mystery buttons for playback which I haven't labeled yet. Ships
with random quotes from Don Hertzfeldt animations. Bonus.
Title: The Boom Box Description: Box with matte board top custom cut to accommodate playback buttons, the speaker, LED's, toggle power switch, and jack for recording from device.
Title: Top View Description: Toggle switch has been turned on, as shown by the lit LED.
Title: Closeup Description: A closer look at the switch, the jack, and the LED's. One LED signifies power, and the other blinks when performing a playback action.
Title: Another Closeup Description: This closeup includes the playback buttons. They're not labeled yet, but they will be. I promise.
Title: Boom Box Guts Description: Top is attached with Velcro for easy removal. Inside, one breadboard contains the circuit with chip and the other is for button placement. A paper cup help to reverberate the sound from the speaker and a battery pack is hooked up to a 5 Volt regulator which is then controlled by the toggle switch. Huge thanks goes out to jumper cables and electrical tape.
Title: Another Angle Description: In case you wanted to actually follow my wiring, here it is!
Title: The Meat of It Description: How can I even begin to explain this thing? Thank goodness for datasheets.
Yup, it works. But the sound is pretty bad. I had to turn up the sound on my computer to the max to get the chip to record from it at an audible volume. I guess my next step would be to figure out how to actually control the volume from the chip. I recorded 2 tracks: "A Little Night Music" by Mozart and "Young Folks" by Peter Bjorn & John. Watch the video:
Photo: The whole circuit. Description: Here it is. I decided that I really don't like wire wrap - it always breaks! So I used 20AWG wire for the 1/8" audio plug, which is sticking out next to the yellow LED at top. I also added a 5-Volt regulator to power the board directly from the battery but immediately realized that there wasn't enough room for it. So it's just being powered from an Arduino board right now.
Photo: Top View Description: Not much to say about this one...Just wanted you to be able to see the entire board clearly.
What a disaster! I've ruined one an IR sensor, and only just about managed to get this second one in action. I haven't changed my code (yet), so I'm still using the code from the Arduino site. The code can been seen below.
Here are some fine photos of the thing in action. The Color Mixer
This is what my color mixer looks like from the top. The black rectangle on the right is my IR sensor. I'd like to make a nicer case for this soon.
The Innards
Here are the innards of my color mixer. It's kind of a mess.
The Disaster
Through the simultaneous use of solder, wrapping wire, and hot glue, I finally got this working, for the most part. I do not recommend this approach. Jumper wires are definitely the way to go.
So here it is! And it works pretty well. With my setup, the long pin on the LED actually goes to power and the other three hook up to the PMW pins on the Arduino and then go to ground (I stuck some resistors in there before taking that pins to ground). Here's what it looks like:
And here's some pics of the box itself and its innards:
The Box Just a little cardboard gift box I cut up to make little windows with vellum paper...I used Velcro to keep the top closed.
The Insides! Bascially the breadboard is stacked on top of the battery pack which is on top of the Arduino. Not elegant at all...
Close up of LED Just a closer peek at the LED setup with the resistors
I found this webpage with a great example of a tri-color LED used with the exact IR sensor we're using. It gave code for averaging/normalizing the sensor readings so that it won't flicker at all. I tried to use it, but I couldn't get it to work correctly. If anyone else wants to take a stab at it, check it out: http://letsmakerobots.com/node/672
Here's a plain text file of my Arduino code. In a different file, I used the serial commands to read the range of my sensor...The highest it went was about 620, but I wasn't really sure what that meant or how to make that meaningful through the way it would change the colors of the LED.
Here's a short video of a color mixer I made using a tri-color led. I used the color mixer code from the Arduino site. To see the code, click the link at the bottom of the post.
This is the inside of the mixer. That's the arduino on the left! Note I finally got that tri-color led working. Yesss! Turns out the short pin does go to power....good to know.
Material: Gummy Bear box, Led, Tissue, Arduino Board, Potentiometer, Resistors, 9V Battery, Wires. Code is modified from Arduino Example Code
-----------------------------------
// Input settings int analogPin = 3; // potentiometer connected to analog pin 3 int val = 0; // variable to store the read value
// Digital pin settings int aOut = 9; // LEDs connected to digital pins 9, 10 and 11 int bOut = 10; // int cOut = 11;
// Variables int aVal = 0; // Variables to store the input from the potentiometers int bVal = 0; int cVal = 0;
int DEBUG = 1; // Set to 1 to turn on debugging output
void setup() { pinMode(aOut, OUTPUT); // sets the pin as output pinMode(bOut, OUTPUT); // sets the pin as output pinMode(cOut, OUTPUT); // sets the pin as output
if (DEBUG) { Serial.begin(9600); } // Open serial communication for reporting }
//Main program void loop(){ val = analogRead(analogPin); // read the input pin
if(val < 341){ // first range = 0-340 val = (val*3)/4; // justify the range from 0-340 to 0-255; aVal = 256 - val; // a changes from 255 to 1 bVal = val; // b changes from 0 to 255 cVal = 1; // c is 1 } else if(val < 682){ //second range = 341-681 val = ((val-341))*3/4;//justify the range from341-681 to 0-255; aVal = 1; // a is 1 bVal = 256 - val; // b is from 255 to 1 cVal = val; // c is from 0 to 255 } else{ // third range = 682-1024 val = ((val-683)*3)/4;//justify the range from341-681 to 0-255; aVal = val; // a is from 0 to 255 bVal = 1; // b is 1 cVal = 256 - val; // c is from 255 to 1 } if (DEBUG) { // if we want to read the output DEBUG+=1; if(DEBUG>100){ //print every hunderd loops DEBUG = 1; // reset the counter Serial.print("val:"); Serial.print(val); Serial.print(" A:"); Serial.print(aVal); Serial.print(" B:"); Serial.print(bVal); Serial.print(" C:"); Serial.print(cVal); Serial.println(); } } analogWrite(aOut, aVal); analogWrite(bOut, bVal); analogWrite(cOut, cVal); }
-----------------------------------
By the way, yesterday I ran into an street installation made by Ted Southern in Dumbo. It is a sidewalk-attached interactive music maker ontrolled easily via an interface by the public. Basically the interface is just a box installed different tuners and sensors controlling two rows of speakers that have different sound quality from each other. So people passing by can play with it at ease without any instruction or guide. But the inconvenience about this project is that the artist has to screw and open the box to replace batteries (there are two 9 V)every few hours.
I got a simple Fisher-Price Elephant toy, which starts/stops playing a tune when the user bops its head. As for dissecting the toy...Well, let's just say "simple" is not synonymous with "easy." Given that it's a baby-toy, I expected it to be firmly built; but I didn't think it would be impossible to break it apart with a few hits with a hammer...
1. Original Form: What appears to be a innocent little elephant.
2. Opening the Battery Cover: There were two screws that secured the battery cover.
3. No Other Screws! Go for the Leg!: The two screws for the battery cover were the only ones that were visible on the exterior of the toy. I decided to snap off the front-right leg in hopes of revealing more screws.
However, once it was snapped off, I was able to see only one other screw, which was the screw that secured that opposite leg.
4. Get the Saw Out: After many attempts to snap the toy open with a hammer and a minus-screwdriver, I decided to carefully "shave" open the elephant with a saw. However, it was taking too long, and my arms were getting tired, so I reverted back to the screwdriver and hammer... I wasn't getting too far, so Yuri eventually helped me loosen the parts and take all the legs off.
5. Saw2: Even with all the legs off, I still couldn't see much of its interior, so I made a small cut in front of its body.
The speaker was revealed as a result.
6. Bye Saw! Hello Giant Scissors! (I think they're called Shears?): The small opening made in step 5 helped me see the inside a little bit better, but I still couldn't access the "brain" that operated the toy. As I began sawing again, Yuri found a better tool for me: Giant Scissors! I was able to easily cut open the entire side of its body to finally reveal the inside.
7. Closer Look: The toy functions mainly by three parts: a button, speaker and a microchip. The head, once it's pushes, pushes the button and triggers the microchip to play the tune out of the speaker.
I wasn't really interested in taking apart a toy that had motors in it or could move around and make noise, etc. So instead I found a toy that I thought was really interesting in terms of talking to other devices to send a receive information. It's called ClickBox by VTech. Basically, this little cube is the home to a little digital dude (in this case, a body builder) that you help to train and take care of so that when he comes into contact with other characters he can beat them at various games and competitions. He can talk to other characters by connecting one side of its cube with the side of another cube via magnets. It can also be plugged into a computer through USB to play in online games against other characters in a virtual world. Here's a little video of how it worked before I took it apart. Sorry about the reflection...it couldn't be helped too much...
Title: The Cube Description: Here's how the cube looks from each side. On the top right pic, you can see how the magnets work to connect to cubes together so they can talk to each other. When connected, one of the magnet buttons depresses to activate communication.
Title: The first peek inside... Description: The first thing I opened was the place where the battery goes. It's a 3-Volt battery...nothing larger could possibly fit in it! After I opened that, though, I couldn't find how to get in there deeper. Turns out that these little rubber grippie things on the corners can pop off and there you'll find more screws. Tricky!
Title: Packed like sardines Description: Once I finally got inside, the entire cube was packed with bundles of wires for the power, the USB, the little LCD screen, and the boards on each side of the cube that can talk with the other cubes. I love how the wires are bundled using tape...Seems so cheap and crude, but I guess it makes sense! I have a bunch of tape holding things together in my laptop as well. :-)
Title: Here's where it starts getting cool! Description: Finding out how the communication happens between cubes was a nice little surprise. It's so simple - when they connect with a magnet, a button depresses this little spring coil, turning on a little IR transmitter and receiver to do all the talking. It should be noted that the IR setup on the other side of the cube is opposite of this so that when two cubes are connected the IR transmitter of one cube is aligned with the IR receiver of the other cube.
Title: The IR is only half of it... Description: To really make the IR stuff work, a lot depends on the material used. Yury helped me discover that these two sides of the cube were made with translucent material so the IR signal can pass through. The magnet is there to make sure that cubes click together and stay aligned properly.
Title: Some cool little buttons/switches too! Description: I discovered some switches that I almost didn't notice at first. The buttons on the faceplate of the cube used to control the little character actually work thanks to these little actuator switches that are so tiny and flat that I almost didn't think they would really depress when I pushed them. The little reset button on the battery board was also pretty cool. It's nothing but a little bit of conductive material that comes in contact with a little part of the board to connect the circuit.
Title: The chip and the rest of it Description: The main board of the cube where the chip resides was pretty standard: some resistors, capacitors, and stuff. There was also a small motion sensor on board (the character responds to being shaken), and I liked how nicely the screen connected to the board. It was also interesting to see a huge glob of hot glue slabbed on to protect some of the soldered parts.
...and there you have it! I'm really glad I chose this toy. I learned a lot...from the way the toy was designed physically to pack all that stuff into it, to the type of technology they chose to use. I really liked seeing how such simple parts could make a such a complex little toy!
I took apart a Cute Drum that I purchased at Riteaid for $7.99. Its simplicity appealed to me, and you can't go wrong with a musical instrument. I think I might like to cover it in fur and make it a musical monster one day...
This is a little video of it working, while it's put together:
Recent Comments