2013-09-17 music inspire from JHCLaura on Vimeo.
Seeing this happening on Sep. 17 and it was so lovely. Inspired me to probably make something like that. One man/thing band with beautiful melody. Just love it so.
All my recent posts.
2013-09-17 music inspire from JHCLaura on Vimeo.
Seeing this happening on Sep. 17 and it was so lovely. Inspired me to probably make something like that. One man/thing band with beautiful melody. Just love it so.
(( click me to see magic ))
Reading through the reading of PComp and found this ITP alum guy doing amazing stuff with servomotor and solenoid to make an elegant drum set! So artistic done with small drum from Borneo and snail shells! That’s exactly what I want to do, delicate stuff with low-fi appearing. Simply blown my mind. And this work was done in ITP during 2010 I guess.
UNBELIEVABLE.
Inspired at the same time. Thank you(who?) so much to let me become part of ITP. Thank you(who?).
During the PComp Lab_03, although as struggling as usual, I found it very enjoyable to make the speaker speak! Such a lovely moment, probably as exciting as finding the existence of fire. And I even made a short Super Mario music, sweet!
PComp_Lab_MarioTime! from JHCLaura on Vimeo.
But I found it really difficult, when me and Billy tried to adjust the volume of speaker and also to make chords(two tunes speak at the same time).
For the volume
#include "pitches.h"
int lastButtonState = LOW;
boolean switchIsOn = false;
const int threshold = 10;
const int speakerPinNum = 8;
const int noteDuration = 20;
const int potenPinNum = 5;
int volumeAnalogValue = 0;
int volume = 0;
int note[] = {NOTE_C4, NOTE_E4, NOTE_G4};
void setup() {
Serial.begin(9600);
}
void loop() {
int buttonState = digitalRead(2);
volumeAnalogValue = analogRead(potenPinNum);
volume = map(volumeAnalogValue, 0, 1023, 0, 490);
Serial.println(volume);
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
switchIsOn = !switchIsOn;
}
}
lastButtonState = buttonState;
if (switchIsOn == true) {
analogWrite(speakerPinNum, volume);
Serial.println(volume);
for (int i=0; i<2; i++) {
int noteRead = analogRead(i);
if(noteRead > threshold) {
tone(speakerPinNum, note[i], noteDuration);
}
}
}
}
My original idea was
But it failed :/
Luckily, I bumped into my 2nd year buddy Andy and bothered him a couple of minutes and his advice simply blown my mind. He suggested using the potentiometer directly between digital pin #8 and the speaker, and adjust it directly without writing any codes! Wow. How I’ve never thought about this? And it worked! It simply proved that I’ve not thought it through totally. Hmmmm so much work to do, fighting 🙂
New codes!
#include "pitches.h"
int lastButtonState = LOW;
boolean switchIsOn = false;
const int threshold = 10;
const int speakerPinNum = 8;
const int noteDuration = 20;
const int potenPinNum = 5;
int volumeAnalogValue = 0;
int volume = 0;
int note[] = {
NOTE_C4, NOTE_E4, NOTE_G4};
void setup() {
Serial.begin(9600);
}
void loop() {
int buttonState = digitalRead(2);
volumeAnalogValue = analogRead(potenPinNum);
volume = map(volumeAnalogValue, 0, 1023, 0, 490);
Serial.println(volume);
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
switchIsOn = !switchIsOn;
}
}
lastButtonState = buttonState;
if (switchIsOn == true) {
for (int i=0; i<2; i++) {
int noteRead = analogRead(i);
Serial.println(noteRead);
if(noteRead > threshold) {
tone(speakerPinNum, note[i], noteDuration);
}
}
}
}
Time flies and here I am sweet ICM homework #3. It’s a collaboration work by Karam and I, and basically we just used each other’s class and try to make some interaction! I got the triangle class from Karam and background idea from Gladys, and this work was inspired by reading The Nature of Code of Daniel Shiffman. Just finished chapter 1. Super good/tough stuff!!
Here’s my new born baby(click me click me)! It’s about a person who loves being rained, just enjoys the feeling of being miserable. When rain stops, the smile stops and background went blue. You can click your mouse and make this guy happy again.
For this, I wrote 5 classes… just couldn’t stop, and hit into wall sooo many time. I was like a small rooted tree in the corner of ITP floor on Monday. And here’s are some problems(all about using class in class) and answers(except the last one) from try-and-error process of myself.
Still can’t solve the last problem. I guess there must be something wrong about my rain drops. I use distance between each rain drop and the man’s head to write some condition codes. The rain drops may seem to be affected well by the man, but I bet it’s actually not what we think they are, and that’s why although I could affect rain drops with the man, I failed to affect the smile with the rain drops? Too complicated. So in the end, I compromised and made the man smile when it’s raining and sad when it’s not.
Maybe it’s time to book an office hour with Dan.
And as usual, below are my baby’s bloody organs(codes).
Audio recording project of Neva and me!
Do you feel being cooked?
Neva and I wanted to play sound with space and left/right tracks to build up an environment in which the audience would feel being cooked, burned, sprayed on, drank etc..
Except the intro music and high heels sound, we recorded every pieces in Neva’s place. And then we used Pro Tool to edit. Thanks to the advice from teacher Craig, we edited whole piece at first, and then decided which one goes to Ceiling or Floor, which one goes to right or left soundtrack. And for some of the sound pieces , like rolling, we cut one single sound into pieces, and assigned them one after one into the right and left soundtrack.
In the end, the effect is quite good! We did create a 3D sound effect and it’s really interesting to hear our work delivered by 4 stereos(Much better than listening through computer).
Below are our fun time documentation!
Hi Elevator,
How you’re used_my assumption
How you’re actually used_from observation
What if… Then… Moment for you my dear Elevator
This is the idea of Caitlin and I, a self-made Paint software, for ICM week_02’s homework, making something animated and designed an UI. At first, we were ambitious and made a ideal Paint with multiple function, and even a fancy UI. BUT, it’s just too hard to accomplish 😉 Process of bloody stumbling is as followed:
And here’s my bloody baby!(click me click me click me)
And below are my bloody baby’s organs(codes).
Just have to say… Intro to Physical Computation is the most confusing and yet the most rewarding class I have in ITP so far. Problems and questions appear like bubbles from the boiling water, and when Tom Igoe explained the INPUT and INPUT_PULLUP to me in class, I felt my brain was stirred like a sticky mud. But once problems were sold, I felt I was in heaven.
Lab_02 before week_03_class

It’s a bitter(FXCK!)-yet-sweet(YAH!) feeling when you found out that the whole problem was actually arose from a super simple reason! Frustrating about my first attempt to program Arduino and then finding LEDs failing to light up because of wrong direction. Anyway, YAH for the light!!!
During the self-labs, in the beginning I was really confused about the different wiring ways showed in the instructions, and I pondered deeply about it.


As pics show above, resistors were put in the different places. And then I just thought that, hey! why don’t I just try to wire it in different ways and see if it gives same result? And I tried and it did. Silly and happy.

Week_03_MouseControl
Billy and I used Joystick to control x and y. And quoting from Tom:
“… The joystick select button is a digital input, but it’s wired differently than the buttons you saw in the Digital Lab or the Mouse Control With Pushbuttons Lab. It’s wired to connect to ground when you press it. To read it, then, you’d still use
digitalWrite(), but you’d expect it to go low when pressed instead of high. And instead of a pulldown resistor like you’ve used in those other two labs, you’d use a pullup resistor, so that it’s connected to 5V when the switch is not open…. … The Arduino has built-in pullup resistors that you can use on the digital inputs. When you set the pin to be an input using thepinMode()command, use the parameter INPUT_PULLUP instead of INPUT.”
So at first we wrote the press of Joystick as pinMode(3, INPUT_PULLUP), but then we found that it’s actually difficult to control x, y and press in one single stick, so we decided to add another button as the right-click-mouse. We changed back the code about digitalInput as pinMode(3, INPUT) and adjusted the related code below as well. Also, we used map() to control the speed of the mouse movement since delay() will change the entire loop speed and it’s not necessary.
One thing I also want to mention is that, in class classmates came out a lot of ideas about how to control the mouse. With string sensors, force sensors, tilt sensors, buttons connected with different resistors, etc. Very creative!!! I was kind of shocked yet inspired at the same time. Maybe I should stop playing safe. Just let go my imagination first, and then try to catch its tail and fly with it carelessly after???
Very interesting 🙂
PComp_week_02_Zoetrope from JHCLaura on Vimeo.
In the 2nd class of PComp, Aaron and I made a zoetrope which is energized by a motor. So exciting!! If I were not in the class I would give it a happy shriek! This work was majorly done by talented Aaron since I haven’t got my Arduino Starter kit yet, and I borrowed one at 1 AM which is just 8 hours before the class… tragedy. Anyway, thank you Aaron!
At first, our zoetrope worked with only a potentiometer, and since we haven’t learned how to use it to get a variable supply yet but simply a on-and-off switch, we couldn’t control the speed of the motor, so it turned too fast for a clear animation. To solve this problem, Tom Igoe suggested adding a momentary switch to supply power by clicking it manually.
At first, we couldn’t make it right because we misunderstood the flow of the current. Thanks to Jason we got it done eventually. And here are some detailed pics of our work!
Before I start my feedback to the Video and Sound week_01 reading/video-admiring, let me introduce you the “70 Million” by Hold Your Horses, one of the millions(or countless) of sweet and juicy fruits of plagiarisms!
Before this essays/videos assignment, I had an impression that America was strict about copy write and filing law suits about it every single days. And now I know they only represent business. Free spirits exist behind those ugliness and I feel awesome to be here, because I buy the spirit that plagiarisms is inevitable and it dose make good works. Just like before writing a good movie screen, screenwriters must read/watch tons of scripts/stories/movies before, and it’s a lie to say they aren’t affected at all. Indeed, I might hesitate or even be angry about the plagiarisms if it’s about my works. BUT. Since this hasn’t happened on me so I’m good.
Also, there’s one thing really turns me on–“Most artists are converted to art by art itself.” quoted from Jonathan Lethem’s The Ecstacy of Influence: A Plagiarism. In my ITP two years I’ll keep copying and pasting myself, and wait to see what will I become in the end of this journey.
There’s another things I want to mention, that’s in Kirby Ferguson’s Embrace the Remix video, he said that “… Creativity doesn’t come from within, it comes from without. We’re not self, we’re dependent on one another…” Isn’t it one of the important core notions of ITP, to collaborate? We rely on each others, building ideas based on other ideas. For me, the process is like building a pyramid. We collect “resources” to construct bases, layers after layers, and in the end we reach the point of the pyramid and finish our works. Everyone builds his/her pyramids, with different heights and shapes.