Category: Assignment 7: Rough Crit

I’m still currently in the stages of figuring out a good beat detection system for the Arduino. Most of the algorithms I have come up with or have found online are either much, much too complicated (designed for a ras. pi.) or extremely insufficient for a good final project. On the other hand, controlling the LEDs as well as utilizing the microphone to analyze inputs is is currently under control.

For the final, I only really seems to have to either find a beat detection algorithm or create my own. Obviously, I would also have to make the infinity mirror as well. Below is the link to what is accomplished so far.

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:

So far, I have collected depth sensing data from the kinect, processes it (the 2D array of sensor data for each pixel is divided into blocks, and the average of the depth values in each block is calculated) and sent it to the arduino via serial connection.

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.

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.

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.

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.

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.

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).