Spring07feedsFeeds from Spring Class Blogs:Shinyoung Park Rob Faludi The Slinky Metronome is now fully operational. I gave a presentation and demonstration of it in Mechanisms on Thursday. The Slinky Metronome is a Sociable Object. It keeps a steady beat, based upon the period of the Slinky spring, and broadcasts that beat out via 802.15.4 radio to the entire ITP floor. Electronic musical instruments, dynamic artworks and kinetic sculptures can all pick up the broadcast beat and synchronize with each other for an orchestrated performance. The Slinky Metronome is human-operated, so the beat it broadcasts is rooted in tangible physical interactions. Now that it's working, the next step is to collaborate and share sample code with a few instrument and kinetic projects. This is a project I'm looking forward to exploring more in the fall. Here's the presentation that Kate and I gave in Jeff Feddersen's Sustainable Energy on the second prototype for Solar Botanicalls. This version includes battery monitoring circuitry that creates a text message asking the user to change the batteries. We figured that while the plant makes phone calls when it needs something, electronics needs should be kept to an entirely separate notification system. The project has benefitted both from Jeff's recommendations and from the results of directly testing various different PV panels. He claims that by using these #13 cooking scoops with an XBee Pro, the signal range would be theoretically only limited by the curvature of the earth. Wow! I wonder if by using a giant #13 spatula to flatten the earth, I could further extend this range... I just received a small CEM-1203 buzzer from Spark Fun for an Arduino project with sound output. After writing up a basic function to run it, I decided to generalize and fully comment so that other people could use similar buzzers without having to think through the math each time they wanted to hear a particular sound frequency. All you need to do is tell the function which pin you'd like to use, the frequency you want to hear, and the duration to play that frequency. My buzzer example function should easily work with other types of sound output devices. I've been meaning to make a nice little function to test available memory for some time, so tonight in response to a mailing list question, I went ahead and created an Arduino Available RAM Test for exploring memory allocation. While I'm still learning about AVR's memory management, here's what I understand so far: The ATMEGA8 has 8K of program memory but only 1K of RAM. (Program memory is for code and RAM is for dynamic variables.) Actually it's effectively less than 1K of RAM, I think because the Arduino libraries take up some dynamic memory space for themselves. The ATMEGA168 increases program memory to 16K, but RAM remains unchanged at 1K. The Arduino environment will happily let you compile a program that exceeds the microcontroller's RAM limits, however program behavior will become totally unpredictable, the code will do bizarre things and/or crash. It is equally difficult to describe the negative emotional results for the coder. Dysphoria comes to mind. Hopefully, the Arduino Available RAM Test code can provide a pathway back to happiness, or at least cathartic understanding. Stefanie Wuschitz
Felipe Ribiero I found a few examples of mechanical/kinetic sculptures that I thought were interesting. The first is a wind-powered sculpture reminiscent of a dragonfly. It has a main wingspan and a perpendicular tail section that are fixed relative to one another, mounted on a pivot point over a ploe about 10 feet in the air. The main wing, in addition to pivoting about the mounting point, can also rotate freely, giving it two degrees of motion: (Youtube search for "John King Kinetic Sculpture) (1m, 6 sec) (6m, 19sec) (2m, 0sec) For Sustainable Practices, I am teaming up with Addie, Marc, and Shinyoung on a continuation of the BikeJuice project begun last semester. Here are some pictures of construction thus far. Givens: A 5" flywheel will give us a 4:1 ratio relative to the bikewheel, in turn a 3.75:1 ratio to the pedal. 1800/4 = 450/3.75 = 120 This would mean we'd have to pedal at 120RPM to get our target wattage. That's a little too fast. 1800/5 = 360/3.75 = 96 96 is within range. A 4" wheel it is. In conjunction with this week's reading, I thought I'd put up a few links of interest. (1) Hasan Elahi - a multimedia artist who became interested in surveillance upon an encounter with the FBI... (5) the latest in tracking technologies - powder-sized RFID chips (6) The Surveillance Industrial Complex - chronicling how the privatization of surveillance is the best way to get around mandated limits on government surveillance. I've been plugging away at PHP for the past few days, a huge boon coming from Dan Phiffer's Webhackery series of talks. Although I missed this week's session, there is a rumor that the talks are being taped and archived online. He went through the specifics of installing PHP on attendees' machines and answering the many yesbuts that came up. If you are considering trying out PHP, check his site out: I am still going through a series of tutorials, as well as the O'Reilly book "Learning PHP & MySQL". My goal is to run an installation of Drupal and be able to customize it at will. But before doing this, I want to learn how to implement a database from scratch. My first thought was to import all of my bookmarks from Firefox, and begin cataloging them as a precursor to some of my upcoming connectivity/politics themed sites. But this is probably a little ambitious. I think to really get a hang of it, I might try to create a blog from scratch. Not that I have a need for another blog, but I think it'll be a good way to learn the fundamentals. In the meantime, one stumper that came up in one of the tutorials was the following... at: http://www.webmonkey.com/webmonkey/01/48/index2a_page6.html?tw=programming I could not get that chunk of code to actually work. I managed to get the HTML form to display, but the data entered does not populate upon hitting the submit button. While I manually entered the code the first few times in order to better learn the syntax, I resorted to straight up copying and pasting the given code, and still no dice. Does this mean it's an error in the code? The better question is, how do I fix it? hmmm... The assignment was to take a Lego kit and make one of the projects inside. But Allistair and I started tinkering, and before long, we had appropriated 4 other motors from spare parts kits, for a total of five, to power a crane that has forward/reverse (two motors attached to the drive train via rubber bands,) steering (one motor rigged to an adaptation of a found rack & pinion system), one motor powering the rotation of the crane, and one more for letting out and retracting cable. Props to Alllistair for the montage: Songul Asianturk Vincent Dean Voyce
|