PhysComp midterm project, week 2: Rough prototype, sexed up

Our project is now all dressed up, NYC-style:

The black box: closed

Diego and/or Filippo cut all the squares out of black foamcore and set two of the infrared sensors into the sides. Then, when I rolled in after dinner, I taped the pieces together into a flat pattern and made velcro hinges to pull it together into a box:

The black box: interior

And then—my crowning achievement of the day—I devised a neat little latch for it.

The black box: closed latch

While Diego and Filippo were figuring out more deluxe ways to use Minim than what I had hashed together the day before, I set about making my breadboard setup a little more robust, so that it could stand being sloshed around a bit in the box. Because the wires that came with the IR sensors are multistranded and very fine, they’re difficult to poke into the holes in a breadboard, and then they don’t want to stay in once they’re there. So it seemed to me that they ought to be soldered to header pins, as shown in the soldering lab.

This is, of course, much more difficult than it looks—for me, at least. I present to you what I believe to be my ugliest soldering job yet:

Another bang-up soldering job

Hideous. Pathetic. Heartbreaking.

But soldered they were, and they were, in fact, slightly easier to plug into the breadboard. Once I, you know, straightened the pins out with pliers.

How are you supposed to do this? Is there some trick to soldering multistrand wire to a header pin? Was I just doing it all wrong, wrong, wrong? Is it a mess because (a) I can’t see in the shitty light of the lab, and (b) I can’t hold my hands steady? I hate this. Help!

PhysComp, week 6: Bride of Serial Out

This week’s lab was mostly uneventful, although it took me something like six hours to do—I started after our CommLab make-up class ended, around 4 pm, and stayed until nine or ten.

First I thought I’d use one of these nifty sensors I got from SparkFun,

PComp lab, week 5: Serial Out

but then I realized I have no idea how you’re supposed to hook them up. Stick the pins straight into the breadboard? Solder wires on? How long should the wires be? So instead I used the stupid knob again, plus one of the IRs I bought for our midterm project.

The thrill of the knob has totally worn off. Then I saw Jorge soldering wires to an ultrasonic range finder just like the one I have, and I thought maybe it was a good time to try out my own. Ha! Thus began one of my more frustrating soldering bouts so far.

Helping hands

It must have taken me forty-five minutes to solder three freaking wires onto this cookie . . . and then it took me another hour to realize that the reason it wasn’t working was that I’d soldered the yellow wire to the wrong hole. And then I couldn’t get it unsoldered to save my life, so I just attached a fourth wire.

Finally I got them all hooked up:

1 digital + 2 analog

And then, there was serial output:

Et cetera.

After all that hair-pulling, the ultrasonic sensor was giving me really erratic readings (then again, so was the push-button switch: its value didn't change when I pushed the button, but it did when I touched the button). So I switched to two IR sensors, since I had so many lying around.

Then I got to the part about the handshake. Handshaking? Was not happening for me. I think it may have had something to do with this:

PhysComp homework, week 6: serial out 2: 15 PhysComp homework, week 6: serial out 2: 16

The Processing application was looking for the word "hello," but the Arduino didn't seem to be able to say the word without stuttering horribly. I tried for more than an hour, I think, to get them to talk to each other, but finally I had to just give up.

PhysComp midterm project, week 2: Rough prototype

A semi-working prototype!

Part 2 in the saga that began last week.

After spending about an hour playing with the Minim library in Processing, I went into the lab to see if I could get it to work with actual input from our IR sensors. This was basically a repeat of this week’s homework, which I’d done, for once, before the morning it was due, so the wiring part was uncharacteristically easy. I need to get some header pins, though; the stranded wire on the IR sensors is a pain to plug into a breadboard.

So our project—which I realize I didn’t explain last week—is going to be a cubeoid musical (or, at least, noisy) instrument with an infrared sensor set into each side, mounted corner-up (as demonstrated by Diego) on a camera tripod. One or more players can then use their hands or other body parts or utensils or pets to trigger different sounds from each side. We were thinking that for Phase One, i.e., this week, we’d have the sounds be synthesized tones, and that for Phase Two, the final version, we’d make it play various different loops.

It turned out, however, that it’s far easier—for me, at least—to get Minim to play loops than to synthesize sounds. And there are a lot of free sound clips out there in the world. I got mine from CanadianMusicArtists.com. This pre-prototype, therefore, has only two sensors, both of which trigger audio loops. It also has the beginnings of a lame-ass bouncing ball animation, but it doesn’t do what I want it to do, mostly because the signal’s changing too rapidly. Graphics were a tentative feature for Phase Two, so I’m not going to fuss with that part any more this week.

Here’s some crappy video of Filippo (left) and Diego (right) making the sensors generate noise. You can barely hear it, unfortunately—listen for the annoying rapid clicking sound, which I think is the hi-hat sound.

The beauty part? This doubles as my ICM homework.

Here’s the Arduino code:

/* Reads data from two analog sensors (IR sensors, in this specific example)
and outputs the values in a format that can be easily parsed in Processing.
*/

int ledPin = 7;
int irSensor0 = 0;
int irSensor1 = 1;
int sensorValue = 0;

void setup()
{
// Flash the LED three times to announce the start of program.
pinMode( 7, OUTPUT );
digitalWrite( 7, LOW );
delay( 300 );
digitalWrite( 7, HIGH );
delay( 300 );
digitalWrite( 7, LOW );
delay( 300 );
digitalWrite( 7, HIGH );
delay( 300 );
digitalWrite( 7, LOW );
delay( 300 );
digitalWrite( 7, HIGH );
delay( 300 );
digitalWrite( 7, LOW );

// Start serial port at 9600 bps:
Serial.begin( 9600 );
}

void loop()
{
if (Serial.available() > 0)
{
// Read the first (0) sensor:
sensorValue = analogRead( irSensor1 );

// print the results:
Serial.print( sensorValue, DEC );
Serial.print( "\t" );

// read the second (1) sensor:
sensorValue = analogRead( irSensor0 );
// print the results:
Serial.println( sensorValue, DEC );

// Follow the last sensor value with a println() so that
// each set of four readings prints on a line by itself:
Serial.println( sensorValue, DEC );
// delay ( 100 );
}
}

And here’s the Processing code, where most of the excitement takes place.

Midterm project, week 1: Observation

First, Diego, Filippo, and I met to talk about what we thought our project was going to be, how we would actually implement the idea, and what materials and research we’d need to do to get there.

Diego checking out the vintage iPod box I brought in as a visual aid for the shape of our thing:
P1000151.JPG

I’m not sure what else we might have observed that would be truly relevant in the development of a gadget that doesn’t serve any real purpose, but we observed whatever we could think of.

What I think is significant about the cat thing is that it’s proof that, really, anyone can play a theremin. You don’t have to be human, you don’t need opposable thumbs, you don’t have to know anything about electricity or traditional musical instrument interfaces (though there is evidence that animals know more about electromagnetic fields that humans do, in some ways).

Filippo showing the Jon Spencer video:
P1000153.JPG

The Jon Spencer video shows us a similar thing, but also introduces theatricality to the mix. Anyone, even a nonhuman, can play a theremin or thereminic instrument, but if you are a human and you have a sense of whimsy, you can play that instrument in a much greater variety of ways. Spencer shows that you can play a theremin with any part of your body. Probably the only other instrument that can boast such versatility is the drum, but even that is mostly theoretical. Yes, sure, you can strike a drum with your nose, but it’s going to hurt, so most people probably don’t do it. Playing a theremin with your nose is harmless, however. There is no penalty for eccentricity, except that if you flail around too much, you might stray out of the sensors’ range.

The loopqoob is also versatile—you don’t have to have fingers, necessarily, but they certainly help. Ditto for eyes—the markings on the loopqoob help you tell the sides apart, but do they really hint at what revealing each side does? No. Those patterns on the side probably respresent something, but the metaphors are not obvious.

And then, we observed actual, live humans using the IR-sensing thingummy on Diego’s Groovebox. Here’s Diego setting it up:

and here are various people trying to make sense of it.

Mostly, we learned that people like playing with IR sensors. But I think it’d be more interesting to be able to play one of these things with someone else—to introduce some more variety to the mix.

PhysComp, week 5: Serial Out

I was trying to figure out the math to make part of the graph show up as brown—i.e., earth—and then scatter flowers on top, but something wasn’t working out and I was running late, so I gave up.

Anyway, here are the progress shots:

Setup:
P1000190.JPG

Pot hooked up:
P1000199.JPG

Blinking LED:
P1000204.JPG

I also shot a fascinating movie of the program loading on the Arduino and starting up—you know, flickering yellow light, then blinking LED; hot stuff:

Final code on Arduino:

int potPin = 0;
int potValue = 0;
int ledPin = 2;

void setup()
{
// flash LED three times to announce start of program
pinMode( 2, OUTPUT );
digitalWrite( 2, LOW );
delay( 500 );
digitalWrite( 2, HIGH );
delay( 500 );
digitalWrite( 2, LOW );
delay( 500 );
digitalWrite( 2, HIGH );
delay( 500 );
digitalWrite( 2, LOW );
delay( 500 );
digitalWrite( 2, HIGH );
delay( 500 );
digitalWrite( 2, LOW );
delay( 500 );
digitalWrite( 2, HIGH );

// start serial port at 9600 bps:
Serial.begin( 9600 );
}

void loop()
{
// read analog input, divide by 4 to fit it in the range 0-255:
potValue = analogRead( potPin );
potValue = potValue / 4;
Serial.print( potValue, BYTE );
// pause for 10 milliseconds:
delay( 10 );
}

Final Processing applet

Walter Benjamin


Walter Benjamin: The Work of Art in the Age of Mechanical Reproduction

Somewhere I have some notes on this mind-numbing article, but I can’t find them. It’s probably because I carried this thing around with me for almost two weeks, as I slowly, slowly forced myself to read it. When I finally got to the blessed end, my response was . . . nothing? I have next to nothing to say about this article. It has next to nothing to say to me.

First of all, the political angle seems utterly forced. If you lop off the preface and epilogue, the essay seems less absurd, more grounded in reality. Instead of contextualizing Benjamin’s arguments, the comments about Marxism and Fascism push the discussion out of context, from the matter-of-fact, yeah-duh realm of “films are different from paintings” to the what-the-fuck-are-you-talking-about realm of “everything can be explained by Marxist theory, including your sandwich.” I’ll have the roast Capitalist Pig with frisée on ciabatta, please. Thank you. Sentences like,

However, theses about the art of the proletariat after its assumption of power or about the art of a classless society would have less bearing on these demands than theses about the developmental tendencies of art under present conditions of production.

make my brain shut right off. I must have restarted reading this piece four times; finally, the only way I got past the first page was to just turn it over. Skipped it. Gave up on trying to make sense of it. Moved on.

This kind of thing makes me feel like I’m growing senile. Help! I’m turning into my mother!

It also makes me wonder if it’s just a translation issue. “Aura”? Are you kidding me? Surely there was a better word available—a word that means something, a word that does not automatically invoke the sensation of being bullshitted. If we’re supposed to take this “aura” concept seriously, the translator needs to find a word that’s not loaded down with the weight of all that is woo-woo.

Probably another reason why I found this essay mind-numbing is that I just. don’t. care. about. film. I watch, like, four movies a year, and those are all on Netflix. I can’t remember what was the last movie I saw in a theater—Art School Confidential, maybe? To which I was dragged. Before that, I think it was Crouching Tiger, Hidden Dragon. Honest. Not a movie person. Even when I was TA’ing a film class in college, I don’t think I ever watched more than half of the movies that were under discussion. It wasn’t necessary to see the films in order to mark up students’ papers: if the paper’s good, you don’t need to have seen the film.

Similarly, if the essay’s good, you don’t have to be already up to your neck in Marxist art theory to find it relevant.

The essay is not good.

The question my mind kept coming back to, as I drifted in and out of sleep while trying to read this thing, was, What does this have to do with our class? The best I could come up with was that bit about how at a play, the audience identifies with the actors, while at a film, they identify with the camera. So . . . something about interactivity, and what’s interactive versus what’s mock-interactive . . . ?

The other thing I kept coming back to was, He’s piling an awful lot of cultural significance on top of traditional art. Not just the aura nonsense, but also the stuff about cult and ritual. Maybe this is my perspective only because I’m from an era that has radio and TV and movies and computers, or maybe it’s because I grew up in an artist’s family, but I don’t find art important. Not in and of itself. Individual works, or parts of works, might be moving or thought-provoking, but art by itself? A lot of it is shite. The idea of it having any cult significance? Unless Benjamin is talking about religious icons, I don’t see it. And if he’s talking about something else, he fails to explain what that something else is.

One of my favorite lines in the whole string:

An analysis of art in the age of mechanical reproduction must do justice to these relationships, for they lead us to an all-important insight: for the first time in world history, mechanical reproduction emancipates the work of art from its parasitical dependence on ritual.

Those are strong words, Walter. And completely meaningless ones. Awesome.

Another fave: “Artistic production begins with ceremonial objects designed to serve in a cult.”

This, I’m certain, is just an instance of awkward translation. The verb tense is confusing. Why present tense? Why not “Artistic production began”? Because that’s what he goes on to mean. So, here, the translator is just making him sound like an ass.

Much as in the aura argument, Benjamin’s invoking, in §xiii, of Freud as some kind of master of scientific investigation, undermines whatever it is he’s trying to say. So, as the film reveals to us visual details that normally go unnoticed, so psychoanalysis supposedly reveals psychological details that we otherwise don’t perceive.

Yes, we don’t perceive them because they’re not there. It’s amazing to me that people still talk about psychoanalysis, when to me, it’s always seemed that Freud might just as well have been talking about astrology or cloudbusters. I mean, he just fucking made stuff up about his patients. He generated ideas about how people behave in his head and then managed to convince himself—and thousands of other suckers—that his ideas could be seen in living, breathing action.

I don’t know. I’m trying to make it sound here like I have some kind of overall response to what Benjamin is saying. But, really, I don’t have a response to his argument because I can’t find his argument. He says a bunch of stuff, a few words on each page may spark a glimmer of recognition in my brain, but otherwise he might as well be talking about 1930s German politics, for all that I can relate to it. Oh, wait—he is talking aboit 1930s German politics, at least in part. Right.

Oh, the Rapture!

For week 5’s ICM homework, I was so excited to be able to scrape data off Web pages that the page I chose to work with was the Rapture Index.

It’s always bugged me that the Rapture Index doesn’t have an RSS feed—it’s like the weather; we need to know it every day. Now, however, I can finally just roll my own feed.

The problem is that I can’t get my Rapture Scraper to show the correct description of the prophetic activity level (see under “why is this null?!?”). Just because the index has been stuck at “fasten your seatbelts” for as long as I’ve been watching it doesn’t mean that I don’t want to know for sure. Like, what if the index suddenly climbs above the record high of 182? They’d have to make a new prophetic activity category, don’t you think?

So anyway, that’s the main thing I’d like to fix. I’m also unclear on why the text is so jagged. Smoothing is turned on in two places, and I’m using the font (Lucida Sans 20) only at the size at which it was bitmapped.

Another modification I’d like to make, oh, I dunno, when I have some of that “free time” I’m always hearing about, would be to maybe have the rapture balls bounce around at a speed that’s proportional to the index. The colors should probably also heat up. So when the world goes crazy, so will the application.

India’s ITP blog