If you're not familiar with the project, I suggest heading over to the project description first.

Last Miles at HASTAC 2

I'll be presenting Last Miles at a poster session at the HASTAC 2 conference this weekend. The poster session is held at UCLA on Saturday.

For the conference I've revised the project description considerably, adding a bunch of visual aids and updating the description to reflect the current state of the project.

Update 2008-5-6. Here's a photo from the poster session on Saturday:

HASTAC II Poster Session

Successful test of installations

There were a few hitches, but around 3:30pm things started working. Even though the two installations took place on different floors of the same building, the exercise was well worth it. It's now clear how much work needs to be done to make the installation durable and fully automatic.

Installation Test, May 15, 2008

Public Demo (Beta) Thursday May 15th

There will be a public demonstration of a beta version of the project tomorrow, May 15th at 3pm in the John Hope Franklin Center. Everyone is welcome.

Tutorial on Arduino-Python Servo Control

There's a group of folks over at Principia Labs who have documented how to control servos via a python script: Arduino-Python 4-Axis Servo Control | Principia Labs

Their discussion of Ardunio's Serial.read() was especially helpful; it's prompted me to make some changes in my code.

Arduino and the Wii Nunchuck

Seems like a Wii Nunchuck will make a great input device for the project. I'm deeply indebted to folks who have put up such great tutorials on how to do this, Tod E. Kurt in particular.

Continue reading 'Arduino and the Wii Nunchuck'

Carpentry!

We're building the platforms for the project this week. Since pictures of people building things with wood tend to be more interesting than pictures of people building things with code (at least in my experience!), I trust you'll enjoy these.

Early stage photo from the scene shopFurther along..first platform finished

Two Arduinos Connected By an SSL Relay

A critical part of the project involves allowing one arduino board to communicate with a remote arduino board. Two computers mediate the connection and send the information via a secure connection (SSL). The code is below. At this stage it's very simple, all the action happens in the arduino code. What this python script does is take the serial output from one arduino board and feed it into the serial input for the other board. The code below the fold works but I imagine I'll change it before I'm finished, so please check the SVN web repository when I've installed that for the latest code.
Continue reading 'Two Arduinos Connected By an SSL Relay'

Controlling a Parallax (Futaba) Continuous Rotation Servo with Arduino

Parallax (Futaba) Continuous Rotation ServoSo there's a presentation on controlling a basic servo at ITP on the very subject: class 3 (communication, servos, and pwm). As luck would have it, I have a continuous rotation servo, which functions a bit differently than the servo described in the presentation. In short, both types of servos use pulse width modulation (PWM) but the continuous rotation servo operates in terms of a "set point" and left and right rotation. You can also control speed.

Continue reading 'Controlling a Parallax (Futaba) Continuous Rotation Servo with Arduino'

Learning Arduino

First hiccup I encountered was that the Arduino software doesn't run out of the box on an AMD64 platform (i.e. my desktop). Thankfully Tero Karvinen has a quick HOWTO on making the Arduino IDE run on an AMD64.

Got through the "Hello World" equivalent for Arduino, i.e. make an LED flash. Next on my list was getting the servomotor to move. As luck would have it there's a presentation from ITP on the very subject: class 3 (communication, servos, and pwm).

Prototype Plan

Arduino and LED(see the project description for an introduction)

With the components in hand, I ready to build the prototype. All this prototype needs to do to be considered a success is take input from the accelerometer and rotate the servomotor (on which the webcam will eventually be mounted). I've broken the project down into a several miniprojects:

  1. easy press-button-to-turn-on-LED demo to familiarize myself with Arduino,
  2. reading the accelerometer's output onto my computer,
  3. and turning the servo clockwise/counterclockwise by pushing a button.

Hopefully I can do these things this weekend. The Arduino "platform" is so well put together I'm optimistic this will go quickly. Mal sehen.

I'm setting up an Subversion repository to hold all the code for the project. My hope is that at the end of the project I'll be able to share not only the code, but the history of commits as well.