Ambient LED

  • Strategy:  

img_5407img_3574

Excessive use of eyes leads to a variety of eye problems, which not only affects our health, but also reduces our work efficiency. You need to take a few seconds blinking eyes or looking out of window in very 30 minutes using computer. I want to expand and contribute to a project I did this semester and make an ambient device for the body.

ComputerMate is a smart computer chair cushion that help you developing a healthy lifestyle. There is a push button (weight sensor) inside the cushion, so it can detect if user is sitting on the chair or not. All you need to do is to plug smart computer chair cushion in the power supply. A popup window will send you notifications and play relaxed music, eye, exercise video, or stretching exercise video every 30 minutes. If you close the window, computer send you another notification in (every) 5 minutes.

I’d like to add a new function to the seat cushion. The display light functions as a timer to remind users that they should take a break when using the computer for a long time without disturbing people. It use pre-attentive processing to display information. There is a circle of LED lights around the seat cushion. When the user sits on the seat cushion, the function is turned on:Every minute user sit on the cushion, one LED will light up, and so on. If someone is constantly sitting on a cushion for 30 minutes, all 30 LEDs around the seat cushion will be lit one by one. People can glance at the light when they are using the computer and sitting on the computer chair. Those LEDs are not only work as a timer telling you how long it will be before taking a break, but also work as reminder at a glance.

Conclusion:

  • Previous function:

A popup window will send you notifications and play relaxed music, eye, exercise video, or stretching exercise video every 30 minutes. (Arduino > p5)

  • New function (ambient device):

Every minute user sit on the cushion, one LED will light up, and so on. If someone is constantly sitting on a cushion for 30 minutes, all 30 leds around the seat cushion will be lit one by one. (Arduino)

Workshop #4 Worksheet

Use Pousman et al’s[1] design guidelines for ambient information systems to design an ambient device

1) Display information that is important but not critical.
One function this device has is telling you how long it will be before taking a break, which is an important but not critical information displaying by 30 LEDs.
2) Can move from the periphery to the focus of attention and back again.
3) Focus on the tangible; representations in the environment.
LED light display glanceable information. Human eyes is sensitive to light change. We can notice the change of color and brightness of light at a glance. Use light as representations in the environment is very common.
4) Provide subtle changes to reflect updates in information (should not be distracting)
This device provides constantly change to users to reflect constantly updates in real time. Every minute user sit on the cushion, one LED will light up, and so on. If someone is constantly sitting on a cushion for 30 minutes, all 30 leds around the seat cushion will be lit one by one.  
5) Aesthetically pleasing and environmentally appropriate.
LED lights enhance the user experience, many people often use LED lights to decorate the bedroom. The pattern and color of the light is aesthetically pleasing. The cushion is placed in computer chair in bedroom, so it is environmentally appropriate.

[1] Pousman, Z. and Stasko, J. 2006. A taxonomy of ambient information systems: four patterns of design. Proceedings of the working conference on Advanced visual interfaces. (2006), 67–74.

 

  • Documentation:

Material:

  • Adafruit Feather board
  • Addressable led stip

These LEDs have an IC built right into the LED. This allows a communication via a one-wire interface. This means that you can control lots of LEDs using just one digital pin of your Arduino.

  • Jumper wires
  • Usb charger
  • Usb cable

img_6248

(addressable led stip)

Step1: Circuit Diagram.

screen-shot-2019-02-13-at-9-54-47-pm

(circuit diagram)

There are four pins on the addressable led stip. One for GND(ground), one for power(5v), one for data, and one for timer. Since there are many different type of addressable led strip out there. I took a while to figure out how to connect those pins to Arduino board.

Addressable led strip has two ends, so you can plug in jumper wires in either direction. You can connect those two ends to the Arduino board with jumper wires in a positive or negative direction. If you choose the wrong direction, it won’t work. The strip has arrows in the direction that you’re flowing through.

img_8281-2

(close look of arrows on addressable led strip)

The red wire connect to 5v, the yellow on connect to ground. The white one connect to digital pin and the black one also connect to ground.

screen-shot-2019-02-13-at-9-56-24-pm

(close look of addressable led strip wires)

img_8149

(set up wiring)

Step2: code.

I was looking for the right library and example for addressable led stip. There are many of them online. See details in reference. I want to find on that can control the brightness and the color of each LED individually, which allows me to produce amazing and complex effects in a simple way.

  1. Installing the FastLED library!
  2. After installing the needed library, upload the following code to your Arduino board (this is an example sketch provided in the library examples folder). Go to File > Examples > FastLED > ColorPalette

Then i made few change of the example code and accomplish my goal. I changed the delay time to 1 minute, so for every one minute pass, one more led light up.

Test video:

For demonstration, I changed the delay time to 10 seconds, so for every one minute pass, one more led light up.

Step3: Fabrication.

img_4647img_1256

(make holders for LED strip)

img_9323

(stick pressure sensor on the back of cushion)

Test:

  • Insights:
  1. There are a lot of addressable led at creatron. Notice that what we can use is 5v addressable led strip. 9v and 12v are not for arduino.
  2. Voltage Feather board can provide is 3v. It is still working to this type of addressable led.
  3. Addressable led stip has two ends, so you can plug in jumper wires in either direction. You can connect those two ends to the Arduino board with jumper wires in a positive or negative direction. If you choose the wrong direction, it won’t work. The strip has arrows in the direction that you’re flowing through.
  4. There are four pins at each end of the strip. The red wire connect to 5v, the yellow on connect to ground. The white one connect to digital pin and the black one also connect to ground.
  • Information sources:

https://randomnerdtutorials.com/guide-for-ws2812b-addressable-rgb-led-strip-with-arduino/

  • Next Steps: How would you improve upon what you made?
  1. digital fabrication
  2. test the code with push button
  3. try different color and pattern