Assignment 7: Rough Crit on “Draw your Music”

This project again, simply turns images into sound; but based upon hand-drawn objects. Given that the construction of this project involves heavy coding before coming up with a hardware, I’m posting different codes and the execution of each code below:

  1. Arduino-Processing serial communication
  2. Start web camera, GRAY filter + capturing image when a keyboard button is pressed
  3. Load pixel values of the captured image, make update for any changes in the values.

All codes in Google Drive: https://drive.google.com/open?id=1MVJYFVdMPggZBqlvWBN4f_pIi2wlqiRa

Assignment 7: Rough Prototype- 3D Drawing Cube

For my project, I’ve gotten a few separate parts of my project to work, but not all of them.

Projector & Unity (Works)

Unity has this weird thing where there’s not a built-in way to get the full gaming experience while in the editor (or at least, I haven’t found one yet), but there’s a way to maximize the game scene, and if I set up my laptop to do the “extended projection”, it’s close enough to what I would want it to be. When I build the actual cube, if I make it slightly smaller than the projected image, it should be fine.

Projector & Cube (Works- kind of)

Unfortunately, the projector that I’m using doesn’t have the range that I wanted it to have (in terms of projecting within a close distance). The closest I can have an in-focus image is about 4 feet, so that scraps my idea of having the projector inside the cube and reflecting the image with a mirror. That takes away a huge component of the streamlined-ness that I wanted my final project to have, so I’ll try to make it up in other ways (perhaps a physical interface rather than a virtual one, etc.). I’ve finally gotten the dimensions for my cube as well – should end up being around 14″ x 16″,  which means I might have to get stiffer cardstock when building it, I’m going to try to build it with what I have first.

Motor & Arduino (Doesn’t work yet)

This part is the most frustrating so far- I’ve spent hours trying to get my 12V stepper motor to work with Adafruit’s motor shield, but for some reason it’s just not working. I think that the issue might have to do with the power supply, but I’m not sure (will try to troubleshoot this some more in class). Without this key component working, I haven’t been able to work on getting Unity to interface with Arduino, which is what I see as the biggest challenge of the project, so this is definitely my top priority right now.

Leap Motion & Unity (Works)

Leap Motion has done a great job of streamlining its integration with Unity, so I’ve been able to get it to do the basic functions that I need so far (drawing, rotation with hand gestures, etc.).

Sorry I don’t have any pictures or videos- my phone camera died and I didn’t have time to check out a camera from Hunt beforehand.

Rough Crit

There are two technical sides to my project, one being the lights, and the other the sound. The sound code I have from my last project, so to reimpliment it will not be much of a problem. This will mostly consist of dealing with capacitance issues of longer wires, which should resolve itself through the use of a intermediary capacitance sensor (although I haven’t tested this yet).

The lights prove a little more challenging. I discussed with Jake Marsico his workflow on doing installations such as the one I’m attempting, and following his pointers have come up with the following. I’ve designed a passive animation in processing, and then will sample points on that animation, and send the RGB values out from processing. These will then be assigned to the correct light based on a csv file exported from the rhino layout of the entire project. I have not yet tested this full scale as I haven’t been able to acquire the lights or the fadecandy that I plan on using yet. However the animation and csv are created, and I’m confident that this workflow will work out in the end, espescially with cursory guidance from Jake.

Here is the animation that will be passively displayed on the LEDs behind the map: sketch_171116a

The next steps are definetly to begin with material tests and mock ups, I would have liked to do this sooner but wanted to wait until I had time to discuss the project with Slee.

Some changes that need to happen with the design are bringing in more of an aspect of realization about pittsburgh. Not necessarily education, but realizing something that was at the bounds of conciousness beforehand.

Assignment 7: Scott

For my project I wanted to incorporate text to speech in physical computing in order give the ability of speech through typing.

After looking online I believed I could use an old ps/2 port keyboard to work with the Arduino by soldering wires to the correct pins and then using a library to get the key presses in my code. After a lot of struggling with getting the connection between the pins and wires, I decided to order the piece that will make this connection much easier, by plugging into the port and giving the output wires that go into the Arduino. This part hasn’t arrived yet so for this stage of the assignment I used the Serial input from the computer’s keyboard in order to show my idea.

^when I realized that this was probably not going to work

I found two text to speech libraries online for the Arduino, and incorporated both into my current project. The first library has the ability to take any string and will attempt to make the speaker speak it. It also has an adjustable pitch which I gave access to via buttons. To be honest, the outcome of this was a little disappointing. You can sort of tell what is being said, but its pretty hard to understand.

The second library I found had a bunch of pre-made words that it could say if initially written to memory. I use this library by having the speaker read the letters out that were typed. You can switch between these two modes with the switch on my breadboard.

To Do:

Currently, the volume is too low and I need to use an audio amplifier/bigger speaker to so that this will be audible in a noisy environment.

Once the ps/2 port that I ordered shows up, I will hopefully be able to interface with the ps/2 keyboard so that I don’t need to use the keyboard that the arduino is plugged into via USB. This will be nice because my final vision for this project is to not have it be plugged into a computer but standalone box with a keyboard and speaker and everything else tucked inside, including a power supply.

code

video

 

Assignment 7 – Rough Crit – Tatyana Mustakos

For my rough crit, I made an automaton that moves its head and hand. It also has shoulder rotation that allows it to rotate its arm, and well as tendons which allow it to reach out/ retract.

https://photos.app.goo.gl/khiN5u3OMJzX4H7g2

https://photos.app.goo.gl/4w65Jl4bumMZOUW33

I made the face and hand out of paperclay, and the arm and body out of cardboard for this version. I will construct the final completely out of paper clay so that the aesthetics are more cohesive.

For the final version I want to have it so that the piece is still, but once someone holds their hand out to it, it looks up a bit and reaches out to touch their hand

code:

/*
* servo movement
* Tatyana Mustakos
*/

#include

Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
Servo myservo1;

int pos = 0; // variable to store the servo position
int pos1 =0;
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
myservo1.attach(10);
}

void loop() {
for (pos = 0; pos = 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable ‘pos’
delay(15); // waits 15ms for the servo to reach the position
}

for (pos1 = 0; pos1 = 0; pos1 -= 1) { // goes from 180 degrees to 0 degrees
myservo1.write(pos1); // tell servo to go to position in variable ‘pos’
delay(15); // waits 15ms for the servo to reach the position
}
}

 

 

 

My other project (sorry i couldnt pick) is a radial plotter, it draws images but is restricted to only curved brush strokes. the pen is attatched to an arm that can extend or retract (this affects the distance from the plotter itself, or the origin point), and can rotate side to side. This project is an experimentation of a sort of reverse computer vision, instead of traditional vector plotters, I wanted to focus more on the brush stroke (fake sketch prototype below)

I created a working(aside from the gear and inward rotary) prototype that extends and rotates around the base axis. I have working pieces and will laser cut them so that they function smothely. The arm can extend due to a motor rotating the gear, the pen will move up and down based on an actuator (with a mechanism simiair to a pen clicker), and the base will rotate with a servo (since it doesnt need to rotate more than 180 degrees).

I will implement drawing through processing and the load pixels function, calculating which line/curve segments the plotter should draw.

Another interesting thing that will occur is seeing what will happen/ how the image will draw differently based on where the plotter is placed

 

Assignment 7 – Rough Crit Update

I decided to do an installation that involved 3 pieces of ‘technology enhanced’ silverware.

I got 2/3 of the prototypes working, the third prototype needs another redesign, and I plan to finish the CAD for this over the break to make up for lost time. If I can’t get this working by this Saturday, I’ll just 3D print a design that I know will work, and then polish that up.

First Prototype – Nervous Fork:

Fork

Todo for Fork:

-Test with big and small fork, to make sure servo is able to carry the weight of the fork.

-Install a handle with a battery pack + microcontroller

-Use rubber/some kind of firm material to keep fork firm when string isn’t being pulled

-Use stronger wire/string

Second Prototype – The Continuous Spoon:

Spoon

Todo with Spoon:

-Cut off heads of spoons so that only heads rotate

-Design a handle and way to conceal the motor

-Get better/smaller motor, as current one has crooked shaft

-Solder on switch to turn it on and add a battery pack

Second Prototype – Jig-knife:

Broken Gearbox

Current issue: Center/arm that attaches to small gear isn’t the correct length or is a little bit off center, causing the gear to swing in a non-circular shape. I need to carefully design this gearbox to ensure that everything is at a fixed distance so the gears will mesh properly.

Todo with Gearbox:
-Redesign lasecut gearbox

-3D print working gearbox as a fall-back

– Make nice casing for gear box and attach knife to piston

-Add on switch and battery

-Pick a stronger and faster motor to handle force of meshing gears

-Add handlebars to hold jigsaw knife

OPTIONAL (Given time):
– Add FSR to plate, and send (text or tweet) messages about weight of food on plate.

 

Digital Fish Tank

Arduino Code

For this draft, I modified my initial concept a bit. Instead of having a “smart” fish tank that responds to texts/messages, I’ve decided to make a digital interface for a fish tank that is child-friendly. It will control the same elements as I planned, but possess different inputs.

The switches and buttons I’ve used in past projects are functional, but I’m not a huge fan of their form. While I could modify them/ work around that, instead I’ve chosen to make my own switches using conductive tape — ultimately they’re going to be tile-shaped, but they’re currently not much more than functional. Which leads me to…

Currently my project has about no form, but my end project will have the shape of a fish and more intuitive interactions. I also plan on adding in a water pump, but it’s not currently added to the project because the pump I plan on using is at home and I’m going to bring it back with me after break. Flow rate will be controlled by a row of sensors to measure speed (either hand-made like the switches (which would just be three switches in a row with one tile) or with capacitive touch sensors, if I can get them to work well and look good).

(^preliminary sketch)

(testing the tape)