Thursday, September 15, 2011

Another example of BlinkM and LED accents

The sign project continues to evolve. It looks like the material of the sign will be changing and the lighting on the sign itself will be very strong, so subtle changing lights behind it may or may not be the best solution for the dynamic, high-tech feel we're going for. Since the desk area layout is also changing, there will be a more open space and more light.

I'm doing more research to get more ideas for the best design. I like the LEDs under the acrylic, and the arrays of LEDs in the cubes.

This is the LED Glass Desk. These are single-pixel, BlinkMs under frosted glass. 

Wednesday, September 14, 2011

LPD8806 and progress on the netlogicdc sign

LPD8806 Interactive code
The office build-out is coming along, and I'm continuing work on the the design to get a prototype out.

I picked up a Digital Addressable RGB LED from Adafruit. After messing around with it a few nights, I finally got it working with the test  it up with the test code, so I'm confident I can use this to create my project.

This a really cool  component. It has 32 addressable RGB LEDs per meter. Each LED can be individually addressable. The strip itself can but cut into 2 LED segments, so any length of LEDs can be addressable. The 5 meter roll has 160 LEDs.

Adafruit has published code on the Adafruit LPD8806 github repo to get you started. This is a library that you add to Arduino, which makes it very easy to send commands to the strip.

Goals for today's post
I wanted to understand better the functionality of this LED strip, so I built an interactive Arduino program so I could send individual commands to the strip. So the goals for today's post are:
  1. Create a Arduino script to allow me to - interactively via serial - enter a single LED's color and fade time. Done.
  2. Create a randomized sequence of flashing LEDs, an effect somewhat like starlight. So far I'm working on getting the randomization to fade in and out.
Interactive Serial
I built a simple serial interactive sketch for Arduino. I used the interactive code for the BlinkM LED from Todd Kurt to model an interactive serial session using the built in serial monitor on the Arduino IDE. If you are using the original Adafruit code, you'll need to add the correct library to your Arduino program folder.

Download my interactive serial sketch for the LDP8806 on github. You'll need to use my updated Adafruit library with the Arduino sketch. This is so that you can use both the older Adafruit libraries alongside the newer optimized cjbaar libraries.

Be aware that you'll need to update any sketches by finding and replacing LPD8806 with LPD8806old in any sketches to use the old code.

The biggest sketch difference is that the new code uses the specific SPI pins on the Arduino board, whereas the older Adafruit code allowed you to specify which digital pins to use.

Once the sketch is running on your Arduino UNO, open the serial monitor using the Arduino IDE. The following commands will interactively change the string LEDs:
 r - (r)eset
 c - (c)olor chase
 w - (w)heel
 i - colorW(i)pe
 s - (s)et inidividual to R, G, B, LED
 f - set (f)ade speed
This should give you a good idea of the various capabilities of the Digital LED Strip.

Randomized Sequence
Based on the results of the interactive program, I built the following sketch, strand_nldc_green, for a sequence to base the netlogicdc sign off off. The company colors are green, so it's called the nldc green sketch. Note that the program is actually blue. While tinkering, the blue is much more easy on the eyes.

For future posts
  1. Find or Optimize the code to make it faster.
  2. Create an interaction program for a PING sensor and/or IR sensors
Today's goal is to create an aesthetically pleasing light sequence. Once the bugs are ironed out, I'll move on to the adding an interactive component, that will affect the quality or color of the LED strip.

If you have questions on how to use this, send a comment. I work a full time job, so I won't get back immediately, but I'll check back every few days.



Thursday, September 1, 2011

about singularityNode()

I've been working for several years on personal projects and artwork, using do it yourself ideas, materials and components from Make Magazine, Adafruit Industries, Solarbotics and SparkFun Electronics. I'm documenting my discoveries, triumphs and failures here. If you've found your way to this page, then you may find some of it useful. Stick around, there will be more.

Hacker Philosophy
I love to learn, love to create, and love to teach. I like the process of troubleshooting something, making it work, and discovering interesting ways to create things. I've always appreciated the open source movement, both on the software and on the hardware side. The word hacker or hacking has acheieved controversial status over the years, but to me it still means the playful and creative re-purposing of anything that can be disassembled or rearranged. 

More about me
Shortly after coming into existence sometime in the 20th century, I started taking apart everything I could find. As my development as a human being continued, I learned to crawl, talk, tie my own shoes... And I learned that if I ever wanted to play with any of my toys, I had to figure out how to put stuff back together.

I finally was able to put some things back together. You learn real fast how to put toys back together when you realize that they no longer work after taking them apart. And as extra motivation, no, your parents won't buy you another one, when you broke the last one. Even if it's your favorite motorized police car that bounced off walls and reversed away from them.

Eventually all that fixing - or breaking then fixing - led me to a real job. I worked as a bicycle mechanic for 2 years. The company I worked for began to have problems, and I eventually ended up in computers. Fixing broken computers. Oh, yes, I broke my first computer by taking it apart, years before.

After years of working in the IT managed services industry, I made a decision to complete my college education. I discovered that MICA in Baltimore, MD had a new Interactive Media program, that promoted Interaction as an art form. Initially I intended to stick with web design, but I quickly discovered the world of interactive electronics.

After attending from 2005 to 2008, I was awarded a Bachelor's in the Arts degree, in Interactive Media. I finally decided that it was time to pursue a career again.

We are in complete control of our destinies. Even if they don't come about the way we expect. Allow the unexpected. 
Live and let live, unless you touch my stuff.
Albert Einstein is attributed with saying, "The most fundamental question we can ever ask ourselves is whether or not the universe we live in is friendly or hostile." Whether he said it not * I think this is a great way to approach life.

- Mike Ries, 2011