I found one of these little HEXBUG Hexbug Spider (colors may vary) on Amazon and thought it might be fun to try and hook an Arduino up to it. It’s about the size of a fist and is controlled by an infrared remote control.
The robot’s movement is controlled by two small servos . The first servo causes the top of the robot to rotate 360 degrees without moving the feet. The second servo causes the legs to move. The legs are mechanically linked to the top of the robot in such a way that the robot will always walk in the direction that the top of the robot is facing.
Here’s a video of my hacked HexBug in action:
After opening up the robot I was able to use a multimeter to probe the leads running up to the motors and determine that they’re operating at about 3.3v. Since the Arduino Nano’s digital IO pins are 3.3v when high it made this a really simple project.
Note that the RXD line on the Bluetooth Shield is connect to TXD on the arduino, and TX goes to RX. I wasn’t able to pair with the device for quite some time, and eventually the person I was pairing with figured out I wired that up backwards.
Continuous integration is great, but it’s only as effective as the visibility of the build status. You can use things like email notifications or Hudson Tray Tracker to help increase the visibility, but I wanted something physical that could radiate the current build status. Something everyone could see; even while you’re grabbing a cup of coffee. So, I decided to try and make a traffic light build indicator.
I used to think that writing more comments increased the readability of my code, but I’ve come to realize that comments frequently hurt readability. That might sound a little trollish, but here’s why I think it’s true:
Comments allow you to stop refactoring prematurely.
Comments aren’t kept up to date. It’s really easy for this to happen because the association between a comment and the related code is very weak.
Comments that explain what code is doing are a DRY violation. Your code should do that.
Frivolous commenting devalues your meaningful comments. Your reader’s attention is a scarce resource – don’t waste it!
So, in my mind, the question really becomes “What is the best way to make this code easier to understand?”Continue Reading ▶
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. In this post I’m going to document my steps creating an EC2 instance and setting up a Jenkins CI server on it. I’ll assume limited familiarity with Amazon EC2, Linux, and Jenkins. Continue Reading ▶
I’ve been playing around with Windows Phone development quite a bit lately. I’m currently getting ready to submit my first application to the marketplace – “Baby’s First Foods”.
Babies under 1 year old can only eat certain foods depending on their age. Each month new foods become available to the child. It’s hard to keep track of what foods your child is ready for and what foods should be avoided. That’s the problem my app is trying to address. Continue Reading ▶