The micro-course for art/sculpture students was fun, interesting, and generally worth the time and effort. Of course, I taught it so there may be some bias there. :-)
Here's code for the various examples we covered in the course.
And a big thank-you to Ellen Akimoto for instigating the event!
November 16, 2009
November 2, 2009
Wireless acceleration sensor!
Here's a webpage I put together a few months ago describing how to use XBee wireless transceivers as 3-axis wireless accelerometers. I'm not sure that wireless is the best way to go with this, but it worked to some degree and it made a fun summer project. One of my students is currently working on some interesting lab applications for the device, so stay tuned...
Arduino, LED driver, network status detector
xbee accelerometer
Cylon Pumpkin
This has been done before. There are several good ways to do it: most use either a 555 timer chip and decimal counter chip, or an Arduino. Stefan and I used an Arduino (Boarduino, technically) which limited our scanner to 14 LEDs. No problem --- 14 gives a nice scanning effect!
Here's how we wired it: the numbers on the Boarduino block refer to the digital lines d0--d13.
It's only necessary to have one current-limiting resistor in the circuit, rather than one on each LED, since only one LED is on at a time and the LEDs prevent current from flowing back into the Boarduino on the "off" pins.
Now for the code. It's relatively simple: just count up and down, turning on and off the count LED as you go.
// Cylon pumpkin driver
// Eric Ayars
// 10/24/09
#define MAXLIGHT 14
byte Wait = 50; // Time each light is on, in ms
byte EndWait = 250; // Time all lights are off at the ends
void setup() {
// Set all pins to output
for (byte j=0;j
pinMode(j,OUTPUT);
}
}
void loop() {
// Count up from 0 to 13, setting the light
// for each count.
for (byte j=0;j
digitalWrite(j,HIGH);
delay(Wait);
digitalWrite(j,LOW);
}
// Pause at the end
delay(EndWait);
// Count back down from 13 to 0, setting lights
// as it goes again.
for (int j=MAXLIGHT-1;j>=0;j--) {
digitalWrite(j,HIGH);
delay(Wait);
digitalWrite(j,LOW);
}
// Pause at the end
delay(EndWait);
}
Here's Stefan with the completed "eye-bar". We didn't have a section of proto-board long enough to hold the entire scanner, so we split a long piece and spliced it together in the middle with short wires. This gave us the option of bending the unit in the center, which proved handy when mounting it in the pumpkin!
If you look closely, you can see that we used two 1k-ohm resistors in parallel instead of a 500-ohm resistor for the current-limiting resistance. Whatever comes in handy...
Finally, we ran the wires/header-pins through a slit in a freezer bag, then sealed the slit with hot-melt glue. (Silicon RTV would have been a better choice than hot-melt glue, but we were out.) We could then keep the battery and Boarduino away from wet (and conductive) pumpkin guts.
We modeled the pumpkin after this guy, since Stefan declared it to be "the best-looking Cylon ever". Give him time: when he gets older he'll gain a proper appreciation for Number Six!
Arduino, LED driver, network status detector
arduino cylon boarduino
Subscribe to:
Posts (Atom)