« November 2006 | Main | January 2007 »

December 04, 2006

3 DAY HARD-CORE PROGRESS

Can't say we haven't worked hard on this project...

The first prototyping board was a mess. Wires everywhere. Bad MIDI connection...

before.jpg

Now the electronics are not only more compact and secure, but also more portable and packageble.

after.jpg

Everything fits in a small container.

inside_tap.jpg

The next images look at the construction process and the mechanisms we figured out. Including, laser cutting, wood working, the assembly.

inside_tube.jpg

The components:

tubes.jpg

The sliding inside mechanism:

sq_inside.jpg

The system:

insidetubes.jpg

The Luxeon was a disappointment. Not the actual LED, because it definitely was and still is painfully bright and in need of almost no resistance. But the bummer is that the Arduino is not providing enough Amps for it and therefore it looks really dim. The option of using a transistor and giving it its own power supply is now almost impossible given the lack of space inside the new ravezooka design.
Lesson for next time!

Luxeon.jpg

The trigger was an interesting challenge and it was definitely a lot of fun!

making_trigger.jpg

It works and we hope it keeps working.

testing.jpg

A detail of the trigger deconstruction and reconstruction:

trigger_close.jpg

I'm working hard on the Max patch. I definitely feel like i have a much better grasp on the program than before. It was a good learning experience.

me@work.jpg

This could well summarize a whole day of trouble shooting, frustration and pressure. But in the end there was progress and that's what matters.

summary.jpg

THE PROGRAMMING PROGRESS

Here is the Arduino Code:

int switchPin = 2; // digital input pin for a switch/trigger
int switchState = 0; // the state of the switch
int ultraSoundSignalout = 8; // Ultrasound signal out pin
int ultraSoundSignalin = 7; // Ultrasound signal in pin
int val = 0;
byte ultrasoundValue = 0;
int timecount = 0; // Echo counter
int ledPin = 13; // LED connected to digital pin 13
int IRsensor = 5; //analog pin for analog IR detector
int IRvalue = 0; // value from the analog input
int potPin = 4; // analog pin for potentiometer
int potValue = 0; // value from pot


void setup() {
pinMode(switchPin, INPUT); // set the switch pin to be an input
pinMode(ledPin, OUTPUT); // set the red LED pin to be an output
pinMode(potPin, OUTPUT);
// Set MIDI baud rate:
Serial.begin(31250);

}


void loop() {
IRvalue = analogRead(IRsensor); //read the state of IR
IRvalue /= 8;

timecount = 0;
val = 0;

switchState = digitalRead(switchPin);

//if the switch is pressed then do everything
if(switchState == 1){
digitalWrite(ledPin, HIGH); // turn on the yellow LED
pinMode(ultraSoundSignalout, OUTPUT); // Switch signalpin out to output

/* Send low-high-low pulse to activate the trigger pulse of the sensor
* -------------------------------------------------------------------
*/
digitalWrite(ultraSoundSignalout, LOW); // Send low pulse
delayMicroseconds(2); // Wait for 2 microseconds
digitalWrite(ultraSoundSignalout, HIGH); // Send high pulse
delayMicroseconds(5); // Wait for 5 microseconds
digitalWrite(ultraSoundSignalout, LOW); // Holdoff

/* Listening for echo pulse
* -------------------------------------------------------------------
*/
pinMode(ultraSoundSignalin, INPUT); // Switch signalpin in to input
val = digitalRead(ultraSoundSignalin); // Append signal value to val

while(val == LOW) { // Loop until pin reads a high value
val = digitalRead(ultraSoundSignalin);
}

while(val == HIGH) { // Loop until pin reads a high value
val = digitalRead(ultraSoundSignalin);
timecount = timecount +1; // Count echo pulse time
}

ultrasoundValue = timecount/8; // Append echo pulse time to ultrasoundValue
//Serial.print(ultrasoundValue, BYTE);
midiOut(176, 1, timecount);

// read the IR input:
IRvalue = 0;
for(int i = 0; i < 10; i++){
IRvalue += analogRead(IRsensor);
}
//divide by ten to get the average value
IRvalue = IRvalue / 10;
//divide by 8 to send a value between 0-127
IRvalue = IRvalue / 4;
midiOut(176, 2, IRvalue);

// read pot value and spit it out to later control volume
potValue = 0;
potValue = analogRead(potPin);
potValue /= 8;
midiOut(176, 3, potValue);
}
//else turn off the led and send a zero
else {
// Serial.print(0,BYTE);
midiOut(176, 1, 0);
midiOut(176, 2, 0);
midiOut(176, 3, 0);
digitalWrite(ledPin, LOW);
}

}
// sends a MIDI message. Doesn't check to see that
// cmd is greater than 127, or that data values are less than 127:
void midiOut(char cmd, char data1, char data2) {
Serial.print(cmd, BYTE);
Serial.print(data1, BYTE);
Serial.print(data2, BYTE); //sends the values of three switches

}

One Max patch still retains the gun-like sounds and has a good slider effect.

max_final_1.png

The other Max patch uses a polyphonic voice and a crazy slider too.

max_final_2.png

December 05, 2006

P-COMP FINAL STRETCH

The progress continued, and honestly it would never end, but thanks to deadlines we don't have a choice but wrap things up. Many things have been learnt. Here's how the last 2 days started.

Re-upholstery

upholstery.jpg

Unfortunately or fortunately we had to go through a few prototypes. Here is one reject:

reject1.jpg

reject.jpg

The stuffing:

stuffing.jpg

inside_ravezooka.jpg

We implemented a nice volume control pot:

rave_nob.jpg

We also implemented a handle, for easier and more comfortable use:

tom2.jpg

The aesthetic look of the Ravezooka is definitely one aspect we are happy with. The construction is also more stable but still a little problematic when we worked on the trigger switch.

final1.jpg

me&rave.jpg

tom1.jpg

Someone had a sneak preview and did some user testing. We truly hope that it works again like it did today.

tom3.jpg

Feel the wrath of the Ravezooka...and stay tuned for the final presentation.

feelthewrath.jpg

This is the final product with a nice amp.

real_final.jpg

The Max patches have stayed the same. Ready for use.

December 07, 2006

ADVANCED MICROCONTROLLER FINAL PROGRESS

THE CLOCK -- LUSCIOUS ELECTRIC DELIGHT

The Proto-board was tested and used.

proto_board.jpg

And then an Army of pcbs invaded and the assembly process began.

army.jpg

Leif at work.

leif.jpg

soldering.jpg

Rob's troubleshooting the Zigbee clock.

rob.jpg

And this is the Radio:

robsradio.jpg

P-COMP FINAL PRESENTATION

WEDNESDAY, DECEMBER 6TH 2006

During our second to last Pcomp class we presented the Ravezooka to the public.

aboveview.jpg

front.jpg

sideview.jpg

Some user testing pictures from class:

lisa_rave.jpg

nancy.jpg

nancy2.jpg

Lesley and I.

lesley.jpg

me.jpg

US.

us2.jpg

us.jpg

December 10, 2006

ADVANCED MICROCONTROLLER DISPLAY MOUNTING

Saturday's Progress

Saturday afternoon we got together to assemble the display, test it and mount it. The display was first assembled into four rows and then mounted to a piece of clear Plexi board.

separate_lines.jpg

A nice close-up.

closeup_segments.jpg

Rob and I needed to figure out a way to draw the holes in their exact positions but also leave a little bit of play to really make the display tight and flat. A combination of tracing and eye-balling seemed to really work.

drawing_plexi.jpg

This was the first time I've ever drilled plexi, especially using a drill-press. Leif and I worked on securing the single boards to the plexi.

installing_on_plexi.jpg

And here's the best view of them all!

backs.jpg

Leif is re-attaching the boards to power, while Rob is setting up the Zigbee.

leif_ass.jpgrob_asse1.jpg

rob_asse.jpg

And while troubleshooting and testing we took a look at what was coming from the components using a Spectrum Analizer.

rob_osc.jpg

rob-osc1.jpg

And then the display was plugged in.

final_screen.jpg

test_led.jpg

final_display.jpg

And here's the video of the first display test.

Download file

December 11, 2006

ADVANCED MICROCONTROLLER SUCCESS

THE FINAL PRODUCT!

Here are a few stills of the different states of the Luscious Electric Delight:

The Title:

Luscious02.jpg
Photo by SAI SRISKANDARAJAH

Different Animations:

LED1.jpg
Photo by SAI SRISKANDARAJAH

LED2.jpg
Photo by SAI SRISKANDARAJAH

LED3.jpg
Photo by SAI SRISKANDARAJAH

Final Credits:

LED4.jpg
Photo by SAI SRISKANDARAJAH

AND HERE'S THE CLOCK WORKING:

LED5.jpg
Photo by me.

AND THE VIDEO! IT GOES THROUGH ALL THE ANIMATION STATES WE HAVE SO FAR
Including Live Video Feedback, Swirls and the Clock.

Download file
Video by me.

Or for better image quality:

http://itp.nyu.edu/~lpm248/advMicro/LED/LEDfinal.MOV
Video by me.

~THE END~

December 13, 2006

LIGHT DIMMER RANDOM CODE

This piece of code is the last code i wrote to generate a random series of values to try to achieve the flickering effect i was after.

Unfortunately the random number generator in Arduino isn't very good, like in most cases, so i am actually right now manually working out the kind of effect that I want to then figure out what math is necessary.

A more transitional and smooth curve is necessary and i am working out a piece of code for that as well.

/*
DAC pins: digital I/O 6 - 13
*/
int time;
long randNumber;

void setup() {
Serial.begin(9600);
//set pins as outputs:
for (int i = 6; i < 14; i++) {
pinMode(i, OUTPUT);
}
time = millis();
randomSeed(time);
}

void loop() {
setDAC(random(255));
delay(random(1000));
delay (10);
}

void setDAC(byte DAClevel) {
byte thisValue = 0;
for (int k = 6; k < 14; k++) {
// read the appropriate bit from DAClevel:
if ( (DAClevel & (1<<(k-6))) >0 ) {
thisValue= 1;
}
else {
thisValue= 0;
}
// turn on or off the pin based on the value of the bit:
// Serial.print(thisValue, DEC);
digitalWrite(k, thisValue);
}
Serial.println(DAClevel, DEC);
}

I will soon update the blog with some video of the light dimming transitions.

December 14, 2006

ICM FINAL - PROPAGANDA P-COMP

ARDUINO MEETS PROPAGANDA

We ordered some sturdy and playful buttons. Here's a close up:

buttons.jpg

First components that go on the board are tje transistors, which i had never worked with before. Actually I mistook them a few times for a voltage regulators and fried my circuit. Good times.

beginning_button.jpg

A better view of the beginning circuit:

breadboard_buttons.jpg

Buttons side view:

buttons_sideview.jpg

Now we have to encase the electronics in a box and try to adapt the color of the buttons to match the visuals.

buttons_total.jpg

Applet coming soon.

ICM FINAL PRESENTATION

IN CLASS PRESENTATION
Building a case for it

For our ICM Final Class we built a basic casing for the Arduino and the Huge buttons which we hacked to be Orange and Purple, like the images on screen.

outside_ICM.jpg

And the inside was taped and secured to the box, leaving enough room for the wires.

inside_ICM2.jpg

And here's the applet that substitues the buttons with key presses:

December 15, 2006

RAVEZOOKA© PRESS!!!!

THE RAVEZOOKA© COLLECTS LOVE ON THE WEB!!!!

Check these links out!!

http://www.we-make-money-not-art.com/archives/009203.php#comments

http://www.boingboing.net/2006/12/15/sonic_art_weapon_rav.html

http://blog.wired.com/tableofmalcontents/2006/12/start_the_riot_.html

http://www.gizmodo.com/gadgets/gadgets/ravezooka-weapon-fires-sound-not-bullets-222167.php

http://uk.gizmodo.com/

http://www.slashgear.com/ravezooka-plays-music-from-your-victims-152978.php

http://www.unmediated.org/2006/12/ravezooka.html

feed://feeds.feedburner.com/floatonitblog

http://warrencountyreport.com/?q=node/133454&PHPSESSID=7283d11cfbd5900302f51954ab850b2a

http://theblogverse.com/2006/12/15/sonic-art-weapon-ravezooka/

http://tailrank.com/968897/Ravezooka

http://ourdescent.wordpress.com/

December 29, 2006

WHAT I AM WORKING ON NOW

THE NEW MISSION

I am trying to build a website. Anyone wants to help?

myweb.png