Updates from March, 2009 Toggle Comment Threads | Keyboard Shortcuts

  • Yury Gitman 10:30 pm on March 2, 2009 Permalink | Reply  

    Passage of time v3.0 with PWM 

    I added PWM to the fifth iteration of my Passage of Time project. The switches still work as in the previous version – the rocker switch for on/off, the toggle for switching patterns and the pushbutton to add in a third pattern. The PWM support only 6 of the 12 LED’s in the time piece and the second pattern augments the fade in/out with additional non PWM LED’s.

    http://vimeo.com/moogaloop.swf?clip_id=3447352&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00adef&fullscreen=1

     
  • Yury Gitman 5:54 pm on March 2, 2009 Permalink | Reply  

    Passage of Time 7 Prototypes 

    I have been thinking about exactly what my project would be used for and I am not exactly sure, so I decided to work on more role prototypes than implementation or look and feel.

    Role 1):  Create a soothing light in a residential/personal setting. Create an ambient light to influence its environment, but not become too distracting. Not meant to provide lighting for reading or working. User can also set several sequences to determine "mood" of the light. For example, slow/soothing cycle in a dark room to help fall asleep or a rapid light sequence to help the user stay awake.

    Role 2): Make the light and form usable. Place drinks/items on the light sources. Not interactive. The user can determine the light sequences with buttons, but placing items on the sources does not influence the pattern. Minimal interaction and soft light in a dimly lit atmosphere.

    Look and Feel (Role 2, Center Piece):

    Role_2_Coasters_Look

    A larger center is illuminated by a diffused white light. This center piece is surrounded by 6 smaller red pods that can be used to support drinks. The glasses atop the red pods will be illuminated red and the light from the led within the red pod passes through them. The 6 outer red pods are controlled by pwm and the entire pod glows red, no concentrated light.

    Implementation (Role 2):

    Role_2_Coasters_Implementation

    The containers would be spray painted white, as in previous prototypes, to diffuse the light. The artifact will have a power cord that reaches the Arduino through a hole in the center item. The outer containers would be attached to the larger center one, and would be illuminated by a single 360 degree led that passes through the center piece. The lights would share a common ground, that would not affect the light that hits the side of the white container. The user could select from pre-defined light patterns via buttons placed next to the power cord. An on/off switch would also be accessible on the outside of the container, next to the power cord.

    Role 3): User can interact with the piece via non traditional buttons, altering the patterns of the lights and which lights would affect the pattern. Another ambient light for a dim lit space, but would provide some interaction as the user could "program" the light sequence. A number of buttons could be placed on a larger circular container. A pre-determined button would be used to clear the sequences and to let the user know that they can program a new sequnce. The user could then press the desired buttons in the appropiate order they would like to be played back. This would allow the user to add some interaction to an otherwise static object.

    Look and Feel (Role 3, Memory):

    Role_3_Inter_Look

    The larger centerpiece would be lit via a single 360 degrees led and would not pass through the top. This would create a white light base, that the user could choose to have on or off. This white light base could also be programmed into the sequnce of the lights, via button presses of the "clear/reset" button. The top pods would also be lit by single 360 degree leds and the entire top could be physically clicked. The top would contain 9 red pods that could be programmed into the light sequence. The light sequnce could also be turned off and the white turned on, by programming the red center button (pressing it).

    Implementation (Role 3):

    Role_3_Inter_Imple

    To make the button physically clickable, two push buttons would support the top of each red pod, leaving a small gap between lid and base. This would allow the user to press down and the top and physically feel the button click. The led would be placed in the center via a hole in the bottom of the red pod, and the top of the center pod, to allow access to the Arduino with the wires. The lid of the center pod would be painted solid white and the sides, would be semi-opaque. This would block all white light coming out of the top of the white base and would allow white light to pass through its sides.

     
  • Yury Gitman 1:35 am on March 2, 2009 Permalink | Reply  

    Passage of Time with PWM + Buttons 

    Unfortunately, when pressing a button you have to wait until the
    animation sequence is complete to see the effect of the button press,
    which is driving me crazy! The only solution that I have come up with is to copy and paste that checking function code throughout the for loops. But I think that there has to be a better way, and I will find it. It's not too bad to do that for this project, but for more complex animations I feel that this way is inefficient and there must be a better solution.

    Video Time.

    http://vimeo.com/moogaloop.swf?clip_id=3430561&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=ff9933&fullscreen=1
    Passage of Time with PWM and Buttons from Nick Hardeman on Vimeo.

    Here is the Download Code.

     
  • Yury Gitman 1:29 am on March 2, 2009 Permalink | Reply  

    Passage of Time with Buttons 

    Adding buttons to the passage of time project. I have them sharing the same power source and initially had them sharing the same ground. However, this did not work because one button would trigger the other. A quick trip to the Arduino site solved that. Each has its own ground with a resistor on it. This allows the buttons to read up to about 515, since they are sharing the same power source. Pressing the buttons in different combinations yields different results, red on, red off, white on, white off and if both red and white are on, a little surprise for you.

    I forgot to show it in the video, but I have a toggle switch for the power inside the container, which is simply cutting the ground for all of the leds. This means that the Arduino still runs after the power toggle is turned off.

    Check out the vid.

    http://vimeo.com/moogaloop.swf?clip_id=3430520&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=ff9933&fullscreen=1
    Passage of Time with Buttons from Nick Hardeman on Vimeo.

    Here is the Download Code
    .

     
  • Yury Gitman 12:11 am on March 2, 2009 Permalink | Reply  

    Switches Homework (::YAY:: finally, it’s done! [thanks for your help, joe :)]) 

    Here's my code:

    int led9 = 9; 
    int led11 = 11;
    int led10 = 10;
    int pins[] = {9,11,10};
    int num_pins = 3;
    int button7 = 7;
    int button6 = 6;
    int val = 0;
    int val2 = 0;

    void setup() {
      pinMode(led9, OUTPUT); 
      pinMode(led11, OUTPUT); 
      pinMode(led10, OUTPUT);
      pinMode(button7, INPUT); 
      pinMode(button6, INPUT); 
      int i;
      for(i=0; i<num_pins; i++)
        pinMode(pins[i], OUTPUT);
      Serial.begin(9600);
      
    }
    void loop(){
        int i;
        digitalWrite(led9, HIGH);  
        val = digitalRead(button7);
        val2 = digitalRead(button6);
        Serial.println(val);
         if((val) == HIGH){
           digitalWrite(led11, HIGH);
           delay(200);
           digitalWrite(led9, LOW);
           delay(100);
           digitalWrite(led9, HIGH);
           delay(100);
           }else{
             digitalWrite(led10,LOW);
             digitalWrite(led11,LOW);
             digitalWrite(led9,HIGH);
          }
        if((val) == HIGH && (val2) == HIGH){
             digitalWrite(led9, HIGH);
             digitalWrite(led11, HIGH);
             delay(200);
             digitalWrite(led11,LOW);
             delay(200);
             digitalWrite(led10, HIGH);
          }
        if((val2) == HIGH && (val) == LOW){
          for(i = 0; i<3; i++){
            digitalWrite(pins[i], HIGH);
            delay(100);
            digitalWrite(pins[i], LOW);
            delay(100);
         }
      }
    }

    Here's my video: 

    http://vimeo.com/3429664

     
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