blinky lights test

About a year ago, Interlock members were offered to go in on two group purchases, coordinated through the mailing list. The first was for Freeduino kits, with the boards pre-populated with the USB controller chip and mini-B socket. The second was for strands of individually-addressable RGB LEDs which can be controlled with an Arduino using this
Adafruit WS2801 library.

I indulged in each, getting one Freeduino kit as a soldering-skills confidence-building project and to give me a second Arduino-compatible device in case I wanted to start do something possibly destructive of my “store-bought” name-brand Arduino. I also got a single 50-light strand of the LEDs.

Well, as it turns out, I didn’t solder together the Freeduino until a couple of months ago. But I started playing with the LEDs almost right away, demonstrating them at our open house in the spring. I haven’t done a whole lot with them, other than play around with the color space a little bit by having them display cyan, magenta, and yellow (eg, the combinations of the other two colors leaving out, respectively, red, green, and blue).

The main problem I had starting out was that I wasn’t quite ready yet to start messing with external DC power supplies capable of delivering more than the half-amp or so that a USB port can supply. Reportedly, each LED can draw up to 60 milliamps, so there was no way I could use the out-of-the-box example code from the library, which lights up all the lights in the strand.

I could have had it just light up a half-dozen or so of the lights, I suppose, but I wanted to try all the lights, just not at once. I soldered onto the end of each of the four wires a bit of lead clipped from through-hole parts for other soldering projects to give me something I could shove down into a breadboard connector or into the Arduino connectors. Red is 5V, blue is ground. White is data and green is clock (I think, but see the code).

So, here’s my modest modification of the example code, in which I modify the ColorWipe function to first turn off any previously-lit lights before lighting up a new light with the given color. It’s a bit lazy, having a fencepost error on each end of the strand, trying to turn off (eg, set to black) the light number -1 and failing to turn off the last light in the strand. I’ve come to think of that as the “last color used indicator” feature.


--- libraries/WS2801/examples/strandtest/strandtest.pde 2011-12-13 00:43:49.000000000 -0500
+++ strandshort.ino 2012-11-24 17:29:53.829648206 -0500
@@ -16,7 +16,7 @@

// Set the first variable to the NUMBER of pixels. 25 = 25 pixels in a row
-WS2801 strip = WS2801(25, dataPin, clockPin);
+WS2801 strip = WS2801(50, dataPin, clockPin);

// Optional: leave off pin numbers to use hardware SPI
// (pinout is then specific to each board and can’t be changed)
@@ -37,8 +37,9 @@
colorWipe(Color(255, 0, 0), 50);
colorWipe(Color(0, 255, 0), 50);
colorWipe(Color(0, 0, 255), 50);
- rainbow(20);
+/* rainbow(20);
rainbowCycle(20);
+*/
}

void rainbow(uint8_t wait) {
@@ -75,8 +76,13 @@
// good for testing purposes
void colorWipe(uint32_t c, uint8_t wait) {
int i;
+ int j;
+ uint32_t black;
+ black = Color(0,0,0);

for (i=0; i < strip.numPixels(); i++) {
+ j=i-1;
+ strip.setPixelColor(j,black);
strip.setPixelColor(i, c);
strip.show();
delay(wait);

from on November 26th, 2012Comments0 Comments

Printing a 3D Insulin Model

We’ve held the second of our monthly 3D printing meetings recently, with a fifth person getting trained up on how to use our current printer, and are on the cusp of another advancement in our previously-mentioned 3D printing capabilities, now that 3 people have decided which printer design they’re going to build next.

In the meantime, we continue to torture Beardicus’s poor little Huxley RepRapPro making other little tschotskes that speak to our interests. This doesn’t get us closer to the glorious future of 3D printers for everyone, but I like to think of it as our answer to Wall Street’s “profit taking”: Every once in a while it’s nice to just cash out a little bit and enjoy what you’ve already got.

My turn at that most recently was this little model of monomeric insulin, based on the crystal structure reported by Gursky et. al.

The trick is how to take a computer model of something like this:

9ins solvent-accessible surface Z rotation

and print it on the 3D printer so that it goes from being an on-the-screen abstraction to something you can hold.

Read the rest of this entry »

from on June 5th, 2012Comments0 Comments

Quick open house recap

I  don’t have tons of statistics or great pictures or anything–I suppose those that have them might post them later–but in the meantime I figured I’d give a quick recap of my experience at our open house Friday, before it fades too much further from active memory into the realm of myth and legend.

It was, in short, a great time.  We had a fairly good variety of folks wander through, from pre-teens on up.  I spent a while fishing out from a small water-filled crockpot slow cooker fun little blobs of warm polycaprolactone These I then shoved into the hands of anyone who would take them as they wandered through our conference/presentation/meeting room. It was great seeing folks’ reaction to its warm, pliable nature and to listen to them comment about how tough and rigid it is once cooled.  It’s a very minimalistic but (at least I’d like to think) very representative demonstration of the interactive, collaborative, exploratory,  hand’s-on environment we try to provide at Interlock to members and guests alike.

I took a bit of a break from running my mouth and from noodling around in the hot water and gooey PCL  to watch  a short but sweet TOOOL-designed lockpicking slideshow, followed by a lockpicking workshop.  Antitree had done the pied-piper trick, drawing a bunch of kids-in-fact and kids-at-heart into the conference room for a short statement of the lock picking rules, a little bit of lock construction and mechanism theory and picking how-to.  Then everyone took turns with the several sets of lock picking tools and real locksets for some hand’s-on experience.  Folks really seemed to have a good time with trying it out.

Elsewhere in the space, all the folks originally promised to appear were around.  I can only guess at how awesome their presentations were, but there seemed to be people everywhere.  Early on, I was worried no one would make it into the not-a-kitchen for snacks, but that turned out to be not-a-problem.

Not sure how much of the traffic was driven by word-of-mouth versus posted fliers, but I know at least some folks had seen our lead-off part in a feature in the independent weekly tabloid Rochester City Newspaper.

The lead-up to the open house rekindled a fire under some of our 3D printing aspirations.  I don’t want to give too much away there, but that’s been bubbling along these last few weeks.  And, in addition to folks who made it on Friday, we’ve also been having new folks continue to come in for our weekly Open Night.  This week, we met John, who brought us some fun new-to-us toys (again, perhaps more on that later, but in the meantime, thanks, John!).  Also, we got to meet and talk to (a different, distinct) Joe and Andrew.  And so it goes.

If you came to visit us Friday, we hope you liked what you saw and will come back.  If you missed it, not to worry:  Please keep an eye on our calendar for other events (at least two every week).  Or, if you can’t make it then, drop us a line and maybe we can work out an appointment for some other time.

 

from on March 21st, 2012Comments0 Comments