Updates from firmread Toggle Comment Threads | Keyboard Shortcuts

  • firmread 6:44 am on December 19, 2011 Permalink | Reply  

    Cee Dhe Music Box 

    http://vimeo.com/33888432

    Reinterpret the meaning of musical artifact, repurpose cd player after it was found drowning under the tide of digital music innovations. I tried to mimic the interaction of mechanical music box.

     
  • firmread 6:41 am on December 19, 2011 Permalink | Reply  

    Pulse WindmilK 

    This project is a Pulse sensor experimentation piece.
    Utilizing a servo motor connected to the propeller to visualize heartbeat detected from the lid of the milk bottle.

     
  • firmread 5:53 am on December 3, 2011 Permalink | Reply  

    Arduino 1.0 

    Hi guys,

    Sorry for missing the class on this Friday, I worked overnight and my sickness just not allow me to push myself out of the bed as usual 😦

    However, I have a very big news that you guys should know about.
    Arduino has just release its 1.0 version!

    You can check out to the Appendix H “Migrating to Arduino 1.0” for Arduino Cookbook 2nd edition that would be release soon.
    Catch up with tech and design !

    ps. Can someone post anything about how exploration on making Twig Sound Recorder works went on this class, Thx.

     

    Best,
    Firm

     
  • firmread 11:54 am on December 1, 2011 Permalink | Reply  

    The Forum 

    This is my experimentation on making water switches.

    However, I still have to figure out about the consistency problem of the piece. Breaking down aspect such as floor material or human conductivity. But for now it might be better to apply it for only just site-specific installation.

    #include <Charliplexing.h> //Imports the library, which needs to be
    
    byte line = 0; //Row counter
    char buffer[10];
    int value;
    
    int delaytime = 100;
    int slow = 2;
    
    int sen1Pin = A4;
    int sen2Pin = A5;
    
    int waterState1 = 0;
    int waterState2 = 0;
    
    int watercalibrate = 3;
    
    void setup()
    {
     LedSign::Init(); //Initializes the screen
     pinMode(sen1Pin, INPUT);
     pinMode(sen2Pin, INPUT);
     Serial.begin(9600);
    }
    
    void loop()
    {
     // serial tests
     Serial.print(analogRead(sen1Pin),DEC);
     Serial.print(" , ");
     Serial.println(analogRead(sen2Pin),DEC);
     //delay(delaytime);
    
     waterState1 = analogRead(sen1Pin);
     waterState2 = analogRead(sen2Pin);
    
    // if(waterState1 < watercalibrate && waterState2 < watercalibrate) {
    // steadywave();
    // }
     if (waterState1 > watercalibrate){
     // && waterState2 < watercalibrate
     fragmentleft();
     }
     else if ( waterState2 > watercalibrate){
     // waterState1 < watercalibrate &&
     fragmentright();
     }
     else {
     steadywave();
     }
    }
    
    void DisplayBitMap(int lineint)
    {
     //int data[9] = {95, 247, 123, 511, 255, 1, 5, 31, 15};
    
     //for(line = 0; line < 9; line++) {
     for (byte led=0; led<14; ++led) {
     if (lineint & (1<<led)) {
     LedSign::Set(led, line, 1);
     } else {
     LedSign::Set(led, line, 0);
     }
     }
    
     line++;
     if(line >= 9) line = 0;
    }
    
    void steadywave(){
     delay(delaytime);
     DisplayBitMap(4369);
     DisplayBitMap(15291);
     DisplayBitMap(12014);
     DisplayBitMap(1092);
     DisplayBitMap(0);
     DisplayBitMap(4369);
     DisplayBitMap(15291);
     DisplayBitMap(12014);
     DisplayBitMap(1092);
     delay(delaytime);
     DisplayBitMap(0);
     DisplayBitMap(4369);
     DisplayBitMap(15291);
     DisplayBitMap(12014);
     DisplayBitMap(1092);
     DisplayBitMap(0);
     DisplayBitMap(4369);
     DisplayBitMap(15291);
     DisplayBitMap(12014);
     delay(delaytime);
     DisplayBitMap(1092);
     DisplayBitMap(0);
     DisplayBitMap(4369);
     DisplayBitMap(15291);
     DisplayBitMap(3822);
     DisplayBitMap(1092);
     DisplayBitMap(0);
     DisplayBitMap(4369);
     DisplayBitMap(15291);
     delay(delaytime);
     DisplayBitMap(3822);
     DisplayBitMap(1092);
     DisplayBitMap(0);
     DisplayBitMap(4369);
     DisplayBitMap(15291);
     DisplayBitMap(12014);
     DisplayBitMap(1092);
     DisplayBitMap(0);
     DisplayBitMap(4369);
     delay(delaytime);
     DisplayBitMap(15291);
     DisplayBitMap(3822);
     DisplayBitMap(1092);
     DisplayBitMap(0);
     DisplayBitMap(4369);
     DisplayBitMap(15291);
     DisplayBitMap(12014);
     DisplayBitMap(1092);
     DisplayBitMap(0);
    
    }
    
    void fragmentleft(){
    
    delay(delaytime*slow);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(3);
     DisplayBitMap(2);
     delay(delaytime*slow);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(7);
     DisplayBitMap(12);
     DisplayBitMap(8);
     delay(delaytime*slow);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(7);
     DisplayBitMap(8);
     DisplayBitMap(16);
     DisplayBitMap(16);
     delay(delaytime*slow);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(7);
     DisplayBitMap(8);
     DisplayBitMap(16);
     DisplayBitMap(32);
     DisplayBitMap(64);
     DisplayBitMap(64);
     delay(delaytime*slow);
     DisplayBitMap(255);
     DisplayBitMap(384);
     DisplayBitMap(768);
     DisplayBitMap(1536);
     DisplayBitMap(3072);
     DisplayBitMap(3072);
     DisplayBitMap(3072);
     DisplayBitMap(3072);
     DisplayBitMap(3072);
     delay(delaytime*slow);
     DisplayBitMap(3840);
     DisplayBitMap(7168);
     DisplayBitMap(6144);
     DisplayBitMap(6144);
     DisplayBitMap(6144);
     DisplayBitMap(6144);
     DisplayBitMap(12288);
     DisplayBitMap(12288);
     DisplayBitMap(12288);
    
    }
    void fragmentright(){
     delay(delaytime*slow);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(8192);
     DisplayBitMap(4096);
     delay(delaytime*slow);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(12288);
     DisplayBitMap(2048);
     DisplayBitMap(2048);
     delay(delaytime*slow);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(12288);
     DisplayBitMap(2048);
     DisplayBitMap(1024);
     DisplayBitMap(1024);
     delay(delaytime*slow);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(0);
     DisplayBitMap(14336);
     DisplayBitMap(1024);
     DisplayBitMap(512);
     DisplayBitMap(256);
     DisplayBitMap(256);
     DisplayBitMap(256);
     delay(delaytime*slow);
     DisplayBitMap(12288);
     DisplayBitMap(3072);
     DisplayBitMap(1536);
     DisplayBitMap(768);
     DisplayBitMap(384);
     DisplayBitMap(128);
     DisplayBitMap(128);
     DisplayBitMap(128);
     DisplayBitMap(128);
     delay(delaytime*slow);
     DisplayBitMap(384);
     DisplayBitMap(64);
     DisplayBitMap(96);
     DisplayBitMap(32);
     DisplayBitMap(48);
     DisplayBitMap(48);
     DisplayBitMap(48);
     DisplayBitMap(48);
     DisplayBitMap(96);
     delay(delaytime*slow);
     DisplayBitMap(14);
     DisplayBitMap(7);
     DisplayBitMap(3);
     DisplayBitMap(3);
     DisplayBitMap(3);
     DisplayBitMap(3);
     DisplayBitMap(3);
     DisplayBitMap(7);
     DisplayBitMap(6);
    }
    
     
  • firmread 4:24 pm on October 28, 2011 Permalink | Reply  

    Boo!!! I’m not a pumpkin! 

    midterm project of : Firm Tharit Tothong
    project name : Boo!!! I’m not a pumpkin!

    This pumpkin take a character like a ghost in Mario game. (this guy )

    Basically, the idea is the pumpkin going to do something when you’re not there.
    Initial ideas now are to use proximity sensor to detect people and it hide itself if there is someone there, while it casually lit up when nobody nearby.
    Also, it make some sound this sound is refer to Ghost house theme in Mario game and the beat is an analogy of the heartbeat of Boo. So when no body is closed to it, the beat goes slow because it’s relax. And goes more upbeat if there is someone nearby.

    documentation video

     #include "pitches.h"
     int speaker = 5;
     int bulb = 6;
     int lightPin1 = 3;
     int lightPin2 = 4;
     int brightness = 0;
     int fadeAmount = 5;</code>
    
    // notes in the melody:
     int melody[] = {
     NOTE_B3, NOTE_CS4, NOTE_A3, NOTE_C4, NOTE_B3 ,NOTE_CS4, NOTE_A3, NOTE_C4};
    
    // note durations: 4 = quarter note, 8 = eighth note, etc.:
     int noteDurations[] = {
     4, 4, 4, 4,4,4,4,4 };
    
    void setup() {
     pinMode(speaker, OUTPUT);
     pinMode(bulb, OUTPUT);
     }
    
    void loop() {
     note();
     fade();
     }
    
    void note(){
     for (int thisNote = 0; thisNote < 8; thisNote++) {
    
    // modulate music speed through proximity sensor
     int tempo = map (analogRead(0),10,400,300,4000);
     int noteDuration = tempo/noteDurations[thisNote];
     tone(speaker, melody[thisNote],noteDuration);
     int pauseBetweenNotes = noteDuration * 1.30;
     delay(pauseBetweenNotes);
     // stop the tone playing:
     noTone(speaker);
     }
     }
    
    void fade(){
     int brightness = map (analogRead(1),10,250,10,255);
     analogWrite(bulb, brightness);
     }
    
    
     
  • firmread 7:30 am on October 23, 2011 Permalink | Reply  

    This and that on carving pumpkin 

    I’ve never done this before so I did a little bit research,,,

    How to Carve a Pumpkin for Halloween
    (series of how to video)

    How to Make Jack-O-Lanterns Last Longer
    (short tip article)

    Just wanna share, so you know 🙂

     
  • firmread 8:54 am on September 18, 2011 Permalink | Reply  

    Maker Faire!!! 

    Here we go, Maker Faire!

    “In the wind” By ITP students Michell Cardona and Nelson Ramon
    http://blog.makezine.com/archive/2011/08/oscillating-wind-generator-flutters-and-flickers.html
    Basically, this project works by using wind to generate electricity to operate the LED light.
    Nice prototype for some self-sufficiency circuit.

    Next, “Contact Microphone”, it is a simple kit using the piezoelectric pickup to get the vibration. But the application of the kit can happen in very variety ways. For video example check out their site here.

    Last but not least, “Electrisize Machines” by Samwell Freeman. I like how the project is not so practical but more like a critical design about how we use computer so much and don’t do enough body exercise. So you just have to exercise to do simple inputs like keyboard and mouse.
    http://makerfaire.com/pub/e/6962

    There is other 3 projects that I like on Major Studio blog (It’s double assignments on this Faire, sweet huh?). Just wanna post a quick link here in case you guys care to check it out.

     
  • firmread 4:38 pm on September 16, 2011 Permalink | Reply  

    Firm Tharit Tothong 

    Hi everybody, I’m Firm from Bangkok, Thailand.
    My undergrad major is Interior Architecture. After graduated I have this interested in media design.

    I had a class with one of DT alumni in Thailand. He introduced me to the scene of Physical Computing and CV.
    Main platform I used back then is Max/MSP.
    So I know a bit on the basic, but I used to work on just PIC Microcontroller and how to make it works.
    Which now I have bought Arduino,, From now on is the fresh start though.

    My favorite childhood toy,,,

    Bamboo Copter!
    (Actually most of them were plastic but, somehow, we keep calling it bamboo.)

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel