Category: Assignment 5: Prototyping 101

After prototyping the capactive sensors and the polyphonic function I went about creating an enclosure for the full piece. I lazer cut and engraved a small box to fit in the palm of ones hand, and added a strap for security and comfort. It’s not the most ergonomic thing in the world, but it functions…

I ran into extensive problems with the capacitive sensors and wiring. Hopefully someon can exlpain this to me, but for some reason whenever I used wires longer than about ~6 inches they would begin to trigger from the proximity to the power wire. I then took apart the box and added another slot to run the sensor wires through, this proved also innefective as I ran into the same problem with longer wires. If I had more time I would have set up the whole thing inside the box, but at this point I had already taken it apart several times and was doubtful I could fit everything inside this small of a form factor. I settled for being able to hold the thing, and just not move around too much.

It has a volume control on the breadboard, and you can switch notes and key by changing the pins the wires go into.

I was unable to integrate the 3axis accelerometer for the other hand, but I’m happy with the piece as it is.

After first round of prototyping, I decided to make the device hand-held instead of connecting to the power box.

So I decided to tape the arduino board on the back of the breadboard and use a 9V battery. The plan is to power the speaker and IR sensor using the Arduino and to power the two servo motors by the 9V battery. This means I need to plan out my circuit layout on the breadboard.

This leads to multiple problems:
1. My transistor got really heated. Initially I plugged the +/- wires to the breadboard. Then I tried the embedded power input and use the Vin pin to power the arduino, but unfortunately the same problem occurs. This also leads to my second problem ->

2. My arduino port was not recognized by the program. The error message was:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

This problem has occurred before when I burned the arduino, so I thought the same thing was happening. But the led light on the arduino was still lit so I decided to google and look into the problem. I did the following things and nothing worked:

– check that I have the right board and port selected in the GUI
– exit Arduino software, disconnect Arduino USB, wait a minute, reconnect and try again

In the end, I unplugged every pin that was connected to the arduino and it worked! And I plugged back the pins one at a time to see what exactly was causing the problem. I came to the conclusion that my arduino could not handle two servo inputs.

To be safe, I decided to get rid of the transistor and go back to using the external power box instead.

3. Servo twitching. I initially mapped my IR read data to a servo range of 0-180, and the servo would twitch and have negative values. I then realized the particular servo I selected had a range of -90~90.

4. I also shortcircuit-ed one of my servos, but my arduino could not handle 2 servos anyway, so I had to rely on the one servo to perform.

Lessons learned:

Do not glue your parts until your are certain the circuit would work. I could have switch out of my burned servo, but I hotglued it for my prototype and it became a restraint.

Be careful when using external power. I have yet to figure out what is wrong and what a better alternative would be.

Wiring should be as simple as possible. I was using a lot of wires to connect things where instead I could have plugged the +/- wires directly into the +/- on the breadboard.

I made a skeleton out of polymer clay, with a wire armature so that the limbs would be strong, and so that I could use wire to join the different pieces of the skeleton together so that they would all dangle from each other, and so that there was not much resistance or friction occurring, which allows it to move more fluidly and without as much restriction

After I made the form, I attached a string to the head, which controls the height of the skeleton, and one to each limb for individual arm and leg control.

In order to move them, I would string the string through the cardboard backing(visually separating the skeleton from the mechanisms) and use a servo motor to wind up the string and shorten it, causing the limb/head to rise or fall. I realized that since the servos only rotate up to 180 degrees, there was not enough circumference being used to wrap up a large enough amount of thread to really make a difference or let the skeleton dance, so I attached sticks to the servo,s and tied the string to the end of them. This makes it so that the circumference that the knot is traveling is substantial enough to change the length of the thread sufficiently, and is less problematic(in terms of tangling) than winding up the cord.

Once I rigged the body up, I added the speaker, which plays a tune while the skeleton dances, and hooked up a sensor that detects when someone is nearby. When the sensor is triggered, the skeleton dances by moving his limbs a semi-random amount.

How do you feel when you see a package at your door that isn’t for you? Personally, I get a little sad, and then I’m just curious about what’s inside. What could my housemate possibly be ordering?

I designed my project to scare/annoy anyone that lets their curiosity get the better of them and decides to be nosy — the package freaks out whenever you try to open it. (You can’t quite tell in the video, but the box vibrates slightly every 2 seconds when closed, mostly to add an extra little touch of annoyance to its presence).

So I finally bit the bullet and watched the exorcism the other week to get in the holiday spirit. Its safe to say that movie is horrifying, so why not recreate one of the most pivotal scenes (pun intended). I decided to rig a baby doll to spin its head 360 degrees while also emitting some pretty unpleasant sounds. I found a baby doll at a local goodwill and from there took its built in button and dialog and rewired it into my bread board in order to use the switch to trigger its pre recorded sayings as well as my components. When its foot is pressed a speaker in its back will begin to let out a wailing sound as a servo begins to turn its head 360 degrees. It will spin until the sound ends. Each time you press the foot you also get a creepy randomized saying from the baby (that of which came with the doll). If I were to do it over again I would have tinkered with the speaker I added and mess with the frequency. Secondly I wish I resolved the head rotation so that every 2 times you press its foot the head will come around to its original forward facing position, now it ends where ever the sound stops.

This is a makeshift wooden piano, with a solenoid that moves when a key is played to create rhythm.

I had originally intended to create a self playing piano, with the solenoids moving each key when required. However, that seemed to pose too many mechanical issues (the solenoid moved up and down too much, and required a lot of room to move etc) so I gave up and used a working solenoid to create some beats instead. 🙂

For this project, I wanted to portray themes of nostalgia and unpleasant truths. I used a toy from my childhood, and augmented it, turning it into something slightly horrifying and much different from my idealized memory of the toy.

I started by trying to reverse engineer the toy and learn how it worked mechanically, so that would know what wires to change to suit my needs.

The toy features 5 capacitive touch sensors, a speaker, and two servos. I decided I wanted to ‘trigger’ different actions of the cat, and to do so I made a control panel with conductive tape that would allow a user to trigger different actions and play noise. These actions are Hiss, Purr, Meow, Look Left, and Look Right.

I had hoped to circuit bend the speaker board to get interesting results, but unfortunately most of the speaker timing and signal processing were in the IC, and I was not willing to mess around with the whole board due to the motor control circuits on the same pcb, as I was afraid of shorting out important components.

Instead, I made an external pitch shifter using an Atiny85, the circuit and code for this board can be found here:

I soldered the components to a protoboard and broke out the speaker wires for the cat toy, also soldering them to the board. I then added two buttons to allow the user to change the pitch manually, and mounted them to a control box.

For this assignment, I really wanted to explore the realm of music visualization. So I built a very simple a music visualizer that flashes an LED every time a new note occurs in a given piece of music. The music in the example is J.S. Bach’s Toccata and Fugue in D Minor, aka the classic Dracula song for a little Halloween flavor.

My initial prototype just included 1 LED blinking every time the note changed but my final product now has different LEDs for each given note.

The biggest challenge that I had while working on this assignment was that I has to learn how to incorporate an external servo driver for all the LEDs I needed. The reason that I needed to use this driver was because the ardiuno board itself did not support more than 12 pins so more has to be added.

The idea was to create a bat that would respond differently depending on where it was “pet”. Since no linear softpots were available, this idea evolved into its current state using the rotary soft pot.

Much of the difficulty was getting the readings to be consistent, testing different mapping values (there’s no indication of how to map output values to pot inputs, whether it should be inches, radians, degrees around the rotary pot etc.) and figuring out why the pot wasn’t reading half the time. The pot does read in degrees it seems, and is better for touch detection in a certain area, rather than producing a spectrum of tones by running your finger along the circle.

Note: Despite what some websites recommend, do NOT connect softpot directly to power and ground. It will burn the pot.

My project is inspired by an anxious creature. I wanted to create this anxiety though the sound and movement. This relationship would be affected by the distance of the person interacting with the creature.

One large challenge was experimenting with sound and randomness in order to generate an organic chirp/noise. I also had difficulty getting the motor to turn, however this remained more of a hardware issue. In addition, I experimented a lot with the form and aesthetic. Initially the form did not seem to match the building chaos of sound, so I ended up using the wires to enhance the noise.