Lots of last minutes problems, but around 3:30pm things started working. Thanks to all the volunteers!
Archive for the 'Production' Category
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.
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.
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.
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'
So 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.
UPDATE 2008-8-3: We ended up using "normal" (i.e. non-continuous) servos. So things work a bit differently now.
Continue reading 'Controlling a Parallax (Futaba) Continuous Rotation Servo with 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).
(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:
- easy press-button-to-turn-on-LED demo to familiarize myself with Arduino,
- reading the accelerometer's output onto my computer,
- 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.
(see the project description to make sense of this)
So I settled on the materials for the prototype. They include:
- Arduino Starter Pack [link]
- An accelerometer [link]
- Continuous motion servo [link]
- Basic Webcam, Logitech
And I located a few tutorials on getting started with Arduino:
- Comprehensive tutorials from ladyada.net
- Video introduction to Arduino from Make magazine. The presentation is rather colorful, but the video gives you a good taste of the potential of Arduino.
- The Make Blog has a host of articles tagged with Arduino. Mostly finished projects.
