Project Documentation – Drawing Robot

This will show the progress of our project, from start to finish. See my previous entry for the original concept of our project.

Here are the materials we began building our project with.

You can see we have our Arduino Uno, a motor, resistors, batteries and a battery pack, wires, a USB cable to connect the Arduino to a laptop, and of course, a laptop.

Once we gathered all our materials, we set out to begin coding in Processing and Pure Data to get the motor to respond correctly to sound input from a song.

More coding and testing.

The motor finally works! Below is the motor seated inside the drawing attachment built from Bionicle pieces.

Then we have to glue the motor to the apparatus that moves the drawing utensil.

The project is all set up!

Below is a video of the project in action when we shared it in class. It doesn’t quite perform as strongly as intended, but it would do much better if some parts were tweaked and strengthened.

Drawing Robot

Sound Sketcher aka THE GREAT AUDIOGRAPH

For our project we plan on making a machine that will draw a line based on audio input. Here are our sketches of what we though this might look like:

Jon’s original idea of what our machine could look like.

Our machine would move forward at a constant speed. A piece of chalk or a pen attached to a movable arm would draw a line on the ground. An attached microphone would receive notes or tones from the user. The audio would then be converted into data, through Pure Data or Processing. That data would be used to set the speed the drawing arm moves back and forth. When turned on and given an audio input, the machine would draw a long curved line along the ground, based on the input. This idea had a problem though, since it would be difficult to attach a computer to something that could move more than a couple feet. Since we only have a week to make this project we had to simplify things and remove the mobile aspect altogether.

Here is a rough sketch of what we are doing now:

A quick sketch of what our project will be like.

Rather than having a moving vehicle, we will instead have a stationary rotating device which will draw out the audio input in lines in circles as it goes around the drawing surface. This eliminates the mobility problem, and even adds to the visual interest. Rather than drawing a single long line in one direction, the line would continuously overlap itself, perhaps creating an image reminiscent of a Spirograph.

We will have to research how motors work, and how their speed can be changed so that they can suit the purposes of our project. We will work with an arduino to build this, so some research on how to use the arduino will be useful. We also need to see how arduino can interface with pure data or processing. We also need to convert audio input into numbers so that the motor can turn the pen/chalk at the correct speed.

For supplies we have an arduino, various electrical components like resistors and LEDs, and we may use legos to build the frame. We may have to purchase two motors as well, one for spinning the drawing utensil, and the other to make the chalk/pen draw.

Gangnam Style Squared!

I love the Gangnam Style song, and I like the version of the song where Hyuna sings even more. So I figured, since the songs have the same tempo and everything, I’d like to make a patch that lets people seamlessly change between the two videos. In PD, I created this patch that lets the user crossfade between the two videos using the X position of the mouse on the screen.

Here is a picture of the program. It’s a little messy. There’s a chunk of unused sound code in there because I wanted sound with the video too but the wav files of the songs were not in agreement with Pure Data so they wouldn’t play.

Here is a link to a youtube video of the program in action. It shows the entire process of using the program. First I got the files, but then I forgot to start the mouse metro so I did that and then the program functions as intended. http://youtu.be/KqMkoCJGNnc

Shiny Balls Mirror

Go here to see the art: http://www.smoothware.com/danny/newshinyballsmirror.html

I like this piece because it redefines what a mirror can be made of. We can’t think of mirrors in any other way than just the shiny smooth glass surfaces we are used to. This work is successful in that it provides a working version of a mirror in a medium that we wouldn’t think could be used to make one. This mirror is made of pinball-like balls that are moved by motors, directed by a camera, to produce the image that the camera sees. I’m not really sure how this could be taken to a new direction, other than finding other unusual ways to make a functioning mirror.

Here are some images from the site.

Paw Prints

This sketch was inspired by a cat leaving paw prints in the snow in winter. Click to make footprints!

Spider Web

This sketch is inspired by a spider’s web, and it draws triangles that all connect towards the center of the window. It ended up looking more like a top-down view of a city.

Bubbly Ripples

This sketch was inspired by water ripples, and I wanted to work with arrays in moving images, so this sketch uses arrays to move the bubbles around. The finished program reminds me of soda now.

Box Cat Takes to the Skies

This week I expanded on my last sketch, adding changing background colors based on nyan-cat’s height in the sky and mouse-based locations that a mini-nyan cat uses to follow the mouse.

I am not very good at all at programming so I needed a little more help on this one. I found the Processing reference to be very useful. The reference can be accessed quickly by typing a keyword in Processing, highlighting it, right-clicking and selecting to look it up in the reference. It explains everything about the highlighted term in question, how it can be used, and it provides explanations of related terms as well. But for questions I did not have the keyword for, like when I was having problems declaring variables, the Processing.org forums provided me with the information I needed. I discovered that variables declared in one method cannot be seen in another, so variables used by both the setup and draw methods needed to be declared outside both methods. I found that information here: http://forum.processing.org/topic/cannot-find-anything-named-token

Thanks to the technical resources Processing provides I was able to create this sketch.

Hello (Box) Kitty

I first began to work with processing this week, and here is the process I went though in creating my first sketch.

Here is my finished first processing sketch.

My first ideas on the Processing sketch

Then I revised it some more after I began coding.

I made some approximate measurements on my paper sketch.

Here are a series of images that show how my sketch was made.

And here is the finished product once the code runs.

 

The finished program is below.