Wednesday, July 23, 2008

Half Bot, All Boat.

To me, there are few pleasures in the world better than tooling around in any variety of small, quiet boat. Last summer, I threw together version one of this boat. It was a MinnKota Endura 30 Trolling motor crudely mounted to the boat with a couple 2x4s, and connected to a group-27 lead acid battery (weighs about 40 lbs). I really enjoyed the ability to quietly cruise around the lake, lazily sip a beer, and watch the shoreline drift by.

Last winter I decided version one was successful enough that I would dare to improve it. My design constraints were to extend the boats range to about 20 miles and add a second motor to balance the thrust and push the extra battery weight. In my nerdiness, I also figured it would be prudent to drive the boat with some sort of joystick, opening up the option for autopilot in the future. Lastly, I need to walk the boat to the water (0.3 miles) on a portage cart and launch and retrieve it by hand.

In this image, I have a blow-up of one side of the motor mount. A Hitec robot servo is mounted with a sprocket from ServoCity to drive a 1/4 inch chain that turns the motor. I give great thanks to McMaster-Carr for their copious pictures and documentation that help guide me through purchasing many parts without having to send back all that many.

It's all controlled with a servo driving program for the Arduino that listens to a wii nunchuck for steering commands. One of the hardest challenges was sorting out how to cram all the driving control into the minimal tilt sensor, joystick, and two buttons offered by the nunchuck. The motor speed control is via a robowars motor driver originally designed for battle bots.

Here is a close-up of the servo mounted in the slider blocks used to tension the chain.

In July, Hannah and I put the boat to the test with a two day overnight to a nearby camping spot. The total trip was 20 miles, and the boat performed great! We used to live on a boat and took it up and down the east coast of the US. Since then, this was the first time I felt we were able to capture the magic of cruising again. I don't know of a better way to arrive in a new place than by water.

One my favorite aspects of this arrangement is the cart. The winch and heavy duty casters were late additions to the aluminum ladder back bone. The cart setup is fantastic though, allowing me to manage the boat, weighing about 220 lbs (~100 kg) single handed. In designing the power system, my greatest fear would be that the 125 lbs golf cart batteries needed to achieve the range I desired would make it near impossible to handle. The winch is certainly required, but it works well and I hope to use this cart design for pushing more boats in the future.

UPDATE:: If you are not familiar with the wii nunchuck I use to drive the boat, check out this quick entry here with a movie to see it working.

Thursday, July 10, 2008

iphone apps that look cool

Well, the new iphone app store is on-line, and I am browsing it. I don't have an iPhone yet, but the app store is the most exciting part of the new phone. So far, some of the most interesting ones to pop-up are:

- Melodis. search for music. in particular by singing a tune, or holding the iphone up to a speaker playing the song. Shazam does this too.

- Sound Machine. funny and simple sound effects machine. applause, laughter, zoom away. great example of super simple ap

- A bunch of instrument tuners that work from the microphone

- A full drum kit. predictable, but I'm still psyched for that.

- Nearpic. shows you pictures from panaramio that were taken near where you are standing.

- Signal Scope. A realtime oscilloscope to take input from either microphone or accelerometers. nice. very nice. Same company also makes a signal generator. This is the kind of stuff I want to be seeing more of.

Sunday, May 04, 2008

Improvements to Arduino Wii Nunchuck connection

I'm working on an Arduino based controller for an electric canoe. In the process of doing that, I've been looking more closely at the data coming off the wii Nunchuck. Using the avr math libraries, and the atan2 function, you can combine the data from the X and Z accelerometers on the nunchuck to get a nice smooth 360 degrees of roll information. Because this is using an inverse tangent function, it also makes for more accurate angular data than the raw data coming off the device.

Here's a quick demo video, followed by links to the code.

I posted all three files needed for this on the Arduino Playground.

For hardware setup, Todbot's little adapter is the best.

ps. For this same canoe project I wrote up a library for the Wii Classic Controller as well. For anyone interested, that's available here.

George's asks a good question in the comments. If you try and run the code posted on the arduino playground. It's important to note that the third chunk of code needs to be run from the processing application, available here at