Posts Tagged ‘ ITP ’

PCOMP Final final project

After numerous revisions it’s finally finished.

physical computing

More or less. Working with small parts is very difficult especially with 30 gauge wire which is barely a thread and breaks easily which is one of the main problems I encountered with this project.

physical computing

The code is working great. But I may have crossed some wires that make the white array and yellow array stay on all the time. But the effect is there. I’m at a point where I don’t want to touch it anymore for fear that it may not work by noon today. I am honestly not satisfied with my work but the important part is I learned a lot with this project in terms of building and fabrication which I really need to work on.

Right now it’s all packed up in a box for transportation to the ITP floor. Thank you for a wonderful experience in Physical Computing.

physical computing

PCOMP Finals update

Dropped Processing. Dropped Temp sensor. Long live the Ultrasonic sensor.

I gave in and picked up the ultrasonic sensor. A quick jab at the library and pasted the same values I had for the temp and got it working.

PCOMP UPDATE

I initially used a central ground to reduce the cabling and copper tape to for the wiring. This was a mess. I switched to a thinner wire which meant re-soldering everything.

PCOMP UPDATE

Disaster strikes! A part of my arcylic falls off. Crazy glue to the rescue.

The good thing is that it works. Sort of.

PCOMP UPDATE

Still a way to go but a lot closer now.

PCOMP UPDATE

PCOMP UPDATE

CommLab: Web Final Proposal

 

I’d like to expand my choose your own adventure game into the text based adventure games of the early personal computing age. Much like Mystery House which took me a lot of hours to complete and even got the help of my entire family since this was on the Apple IIe, our first computer in 1983.

I’d render the text on just a plain black background and see if it will work using a CSS stylesheet and text input.

The story would be a mystery for the player to solve. More to come.

ICM Finals

I’ve decided to expand my midterm project for ICM by using real data this time.

Thanks to NYU Professor Dan Shiffman’s Yahoo Weather API code I had somewhere to begin with. Going through the Yahoo API wasn’t that hard and neither was parsing the data from the XML feed. I did however wanted to find locations outside the US since the original code is based on using ZIP for location. A newer version of the Yahoo Weather API uses their own WOEID which includes places outside the US but the syntax is not as easy as just entering the zip code.

I didn’t want to figure out how to map the entire WOEID database for this project so I selected a few cities for me.

I wanted to work with the flickr API as well into integrating photos appropriate to the weather condition but it wasn’t being cooperative. I ended up tagging the weather pattern data to images manually. None of the images are locally stored. This causes a bit of a slowdown but makes the file smaller.

Figures are in Farenheit.

Stuff I still like to add, conform the images to the location and weather pattern. Add a clothing suggestion. Ability to change location without having to enter the code manually for every city you want to check. Add  video for some reason or another.

Pampanga Lantern Weekend update

I decided not to fly out for Thanksgiving and instead work on my Physical Computing final project. I initially started out Thanksgiving by going through the Muppet Show episodes and getting the Open CV code to work.

My classmate Adria Navarro-Lopez suggested to use the OpenCV library instead of the Open Kinect to make things easier but sadly it was not. I got help from Lisa Park on installing the library and went to work. I got the OpenCV library to detect faces using the example of detecting faces and went through the code and send it out to the arduino via serial.

Processing code for face detection for some reason it only works on Processing 2.0a1 and not 2.0a4:

import processing.serial.;
import hypermedia.video.
;
import java.awt.Rectangle;

Serial myPort;
OpenCV opencv;

// contrast/brightness values
int contrastvalue    = 0;
int brightness
value  = 0;
String facesFound [];

void setup() {
  size(320, 240);
  println(Serial.list());
  //  String portName = Serial.list()[0];
  myPort = new Serial(this, Serial.list()[0], 9600);
  opencv = new OpenCV(this);
  opencv.capture(width, height);
  opencv.cascade( OpenCV.CASCADEFRONTALFACEALT );
}

public void stop() {
  opencv.stop();
  super.stop();
}

void draw() {

  // grab a new frame
  // and convert to gray
  opencv.read();
  opencv.convert( GRAY );
  opencv.contrast( contrastvalue );
  opencv.brightness( brightness
value );

  // proceed detection
  Rectangle[] faces = opencv.detect( 1.2, 2, OpenCV.HAARDOCANNY_PRUNING, 40, 40 );

  // display the image
  image( opencv.image(), 0, 0 );

  // draw face area(s)
  noFill();
  stroke(255, 0, 0);

  for ( int i=0; i<faces.length; i++ ) {
    rect( faces[i].x, faces[i].y, faces[i].width, faces[i].height );
  }
  //count number of faces and send to arduino
  println(faces.length);
  //facesFound=faces.length;
  // myPort.write(facesFound);
  myPort.write(faces.length);
}

/*
 
Changes contrast/brigthness values
 */
void mouseDragged() {
  contrastvalue   = (int) map( mouseX, 0, width, -128, 128 );
  brightness
value = (int) map( mouseY, 0, width, -128, 128 );
}

The main problem I encountered was stabilizing the response of the arduino, The LED would flicker in response and not exactly the way I wanted. But the code was running the way I wanted it. It was the same problem my media controller group had encounted with the blue LED.

Arduino code for receiving:

//arduino code for lantern
//Melissa dela Merced mdm532@nyu.edu

const int bluePin=11;
const int greenPin=10;
const int whitePin=9;
const int yellowPin= 6;
const int redPin= 5;

int value = 0;

void setup(){
  Serial.begin(9600);

  pinMode(redPin, OUTPUT); //red LED
  pinMode(yellowPin, OUTPUT); //yellow LED
  pinMode(whitePin,OUTPUT); // white LED
  pinMode(bluePin,OUTPUT); // blue LED
  pinMode(greenPin,OUTPUT);//green LED
}
void loop(){
 // if (Serial.available){
    int input = Serial.read();
  if (input == 0);
  {
    digitalWrite(bluePin, LOW);
    digitalWrite(redPin, LOW);
    digitalWrite(yellowPin, LOW);
    digitalWrite(whitePin, LOW);
    digitalWrite(greenPin,LOW);
  }

  if (input ==1){
    digitalWrite(bluePin, HIGH);
    /   Serial.write(input);
     for(value=0; value <=255; value++){
     analogWrite(bluePin, value);
     delay(10);
     }
/
  }
  /* else{
   digitalWrite(bluePin, LOW);
   digitalWrite(redPin, LOW);
   digitalWrite(yellowPin, LOW);
   digitalWrite(whitePin, LOW);
   digitalWrite(greenPin,LOW);
  
   }/
  if (input ==2){
    digitalWrite(bluePin,HIGH);
    digitalWrite(whitePin,HIGH);
  }
  /
else {
   digitalWrite(redPin, LOW);
   digitalWrite(yellowPin, LOW);
   digitalWrite(whitePin, LOW);
   }*/
}
void establishContact() {
  while (Serial.available() <= 0) {
    Serial.println(“hello”);   // send a starting message
    delay(300);
  }
}

I’ll still work on this code next week. I probably just need a capacitor or something on the LEDs to smooth out the signals.

I took advantage of the O’Reilly book sales, I picked up a number of books, namely Making things Talk by NYU Professor Tom Igoe, Arduino Cookbook and the Making Arduino Bots and Gadgets. In between coding, I would either finish drilling the LED holes in my template and reading the three books. Insert the Steve Jobs bio by Walter Issacson for a little inspiration.

I even went through learning using the matrix if that would help.

pcompLED

I went through figuring the resistor array that I would have to build and found this great web site to even design the array for you.

 

But that didn’t help. So right before the Stanford-Notre Dame game on Saturday night, I went for the temp sensor. Using the temp sensor was stable and works like a charm. But the weather has been great today so the LED remains at the great weather reading.

In this scenario I’m using a RHT03 Humidity and Temperature Sensor from Sparkfun . The RHT03 is similar to the DHT22 sensor so I installed the library made by github user nethoncho and it releases the temperature in celcius.

More to come.

pcompLED

Pampanga lantern – Physical Computing Final

 

Sooo my last idea didn’t exactly fly but that’s the way it is here. My classmates instead gave me better ideas to make this more interesting. One that resonated was suggested by Lisa Park that I should look at the work of installation artist Olafur Eliasson and his installation work in London called the Weather Project.

The Weather Project

This now inspired me to make something smaller using ordinary light bulbs and AC power. By using a servo motor to control an dimmer switch found at Lowes or Home Depot to control the brightness of the lamp.

I then started designing the lamp itself. By using 6 x 60w bulbs hanging overhead.

But then the lamp looked too ordinary. I felt like I could buy something in Ikea and it would still be better than anything I would make. I wanted to use a lamp that my family makes, but unfortunately none are in the country right now.

While talking to my brother and sister, they gave me the idea of using shells.

Photo by flickr user Beth (Nautilus Shell Studios) under a CC BY 2.0 License

Photo by flickr user Beth (Nautilus Shell Studios) under a CC BY 2.0 License

These are abundant in the Philippines but I don’t have the time to procure them at this time. I’m just making my sister bring a bunch that I can use for future project.

So then I finally settled on a Pampanga Lantern.

Photo by flickr user dementia under a BY-NA-SA-2.0 Creative Commons license.

The Pampanga lantern has Christian significance. A spin off of the more traditional “parol” or Christmas lantern, this symbolizes the star that led the three wise men to the Baby Jesus. This version is made from the Province of Pampanga in the Philippines and is only manufactured for the holidays. Each array of lights are controlled in a sequence and a parade is held every year displaying various designs from different provinces. These can lanterns can be from the size of a plate to twenty feet. The one displayed here took a year to make.


As far as I know, they don’t use Arduinos to power this.

So now I’ve decided to make mine a lantern.

I wanted to make it the traditional way by using either stiff wire or wood to build the frame and wrap paper around it. But after an afternoon of bending wire to my will, I was quickly frustrated at the slow pace and difficulty in handling 16 gauge wire. While at chuch I had the insanely great idea of using a laser cutter. DUH!

So an afternoon of hanging in the shop and talking to Tak Cheung and Oya Kosebay gave great fabrication ideas on how to build it.

I went home and designed the pattern on illustrator for the laser cutter and came up with this.

A Saturday trip to Canal Plastics and picked me up a 1/8″ 1′ x 2′ acrylic sheet of transparent plastic and headed to the lab where Jackson and Michael Columbo helped with the laser cutter as well as conforming my pattern to the laser cutter. For future reference laser people, make sure your design is inside the 1′ x 2′ dimension of the material/ laser cutter. Like really in there with a border. Think of it as a safe area.

After roughly an hour.

Now the holes I originally designed were too small now for LEDs to pass through so I has to use a hand drill with a 1/8″ bit for the LED pins to fit through. Lesson learned. But at the same thing it gave me practice on using a hand drill while watching PAC12 footbal over the weekend. Go Trojans!!

Now for the wiring and / programming part. I’m planning to use copper tape and the wiring board in a separate device which will hang from the ceiling and basically just keep the lights on the board. I’ve etched the colors as well and will use paper to cover it and diffuse the light. Think of it like the USS Enterprise saucer section but hanging on the wall.

Photo copywright of Paramount Pictures

I’m thinking of being able to switch between two sensors or one or whichever works. I’m currently in possesion of the humidity and temperature sensor RHT03 from sparkfun instead of a thermistor. Using a wonderful library available on the arduino website it maps the RHT03 the same way. It’s technically a digital sensor so it’s pretty much straightforward.

To measure person presence, an infrared sensor would be perfect but I’ve spent my money on LEDs then the kinect happened.

Yes the Xbox Kinect that was once a toy and now a hackers device and something I already have. I just plan on using processing to get the serial data from the IR cam of the kinect using the Open Kinect library since I don’t really need to map out a person at this time over the OpenNI library and send that data to the arduino to measure people presence.

The other option is to use the current data that I’m getting from my ICM project final which gets the weather from the Yahoo Weather API and send it serial to the arduino.

It’s something to work on the holidays before the big cruch for December. Hopefully I’ll be finished with most of this weekend and Happy Holidays!

 

 

Business card study

callingcard

Business card studies

Stupid Pet trick

As part of every student in physical computing is to complete the stupid pet trick and mine is the “belly monitor”.

After some unusual ideas deliberated over in class, I’ve ended up with a belly monitor that monitors your eating limit. Since this varies from person to person, I’ve decided to proceed with a two inch velcro bench to attach the device.

I first thought of using a flex sensor and that didn’t work. The numbers the felx sensor was giving me is just too random for my taste and it kept falling off the female connector even when I taped it together. Soldering is not a good idea since it may melt the sensor.

I ended up using a large force sensor which I have duct taped to the velcro belt procured from Home Depot.

stupidpetrick

Now that the sensor thing has been sorted out I wanted a portable power source. I connected a 9V battery and that wasn’t giving me power or should I say consistent readings as compared to a USB connection

stupidpetrick

So I dropped that idea.

stupidpetrick

I went back to USB power and decided that a sound once you reached your limit would be funny. So I installed a tone beeper thingy or an audio transducer. This now tells you if the device is activated and will slowly increase in tone as you reach the upper limit.

IMG_2803

I decided to use a smaller breadboard since I wanted it to be as small as possible. There’s still space for a battery connection but at the moment this is what I have.

Using the code below, it gave life to my stupid pet trick.

//belly monitor
//Melissa A. dela Merced mdm532@nyu.edu

const int ledPin = 7;
const int redLED=8;
int analogValue=0;
int brightness = 0;
int flex = analogRead(A1);

void setup(){

Serial.begin(9600);
int flex = analogRead(A1);
pinMode(redLED,OUTPUT);

}

void loop(){
flex = analogRead(A1);
analogValue = analogRead(A1);
brightness = analogValue/2;
Serial.println(flex);

flex = map(flex,0, 200, 255, 0); //sensor
flex = min(flex,400);
flex = max(flex,0);

analogWrite (redLED,flex);
int frequency = map(flex, 0,255,100,1000);
tone (5, frequency,10);

}

Let’s play with electricity

electricity

This week doesn’t require any mad programming skills and just basic electrical know how.

electricity

With the help of helping hands, this allows me to both hold the points together to get a reading on the multimeter and take a picture at the same time. Of course this one beeps.

So does this one. Notice that I wired the board in such a way that both sides have power and ground.

electricity
electricity

Which of the images above has a complete circuit?

But fun question, does electricity pass through our bodies? Yes, but we still provide enough resistance that the 5V from the Arduino will not shock us nor complete the circuit.

electricity

And just like that with a resistor and all, we have another lit LED.

electricity

Interesting that the LED uses approximately 1.72 V out of 5V.

electricity

The amount of electricity passing through the resistor is approximately 3.31 V. Add that up it’s almost 5V. At least we know where all the power is going.

electricity

electricity

Let’s add a switch and see if it affects the power flow.

electricity

Well apparently all it does is just cut off the power completely.

electricity

Notice that the gree light is not as bright as the red one. Different color LEDs have different power requirements.

electricity

electricity

Notice the difference between the power usage of the green and the red LED and the amount that passes through the resistor.

electricity

Now when we add another LED, they don’t light up as brightly as before.

electricity

The resistor is now only getting 0.14 V.

electricity

But if we re-arrange the LED’s that they’re all being powered by a single line instead of a series of leads. It’s a whole lot brighter.

electricity

The resistor is using up 3.38V. while the LED’s are at 1.65 V.

electricity

What’s wrong here?

Design a site like this with WordPress.com
Get started