Tuesday, 1 December 2015

Arduino Autonomous Boat

This is what I built for the 2015  Jersey Tech Fair:


When discussing the Tech Fair, and the probability of there being a large pool for the open ROV (link), my colleague, Max, suggested some surface craft, to make further use of the pool. Intrigued, I volunteered to make one too, thinking it would be a relatively simple thing to do with a Raspberry Pi.

Instead it turned into a great learning experience with the Arduino platform. I LOVE the Arduino now, almost as much as the Pi! I was looking for an excuse to try programming the Arduino with Flowol, which I use in schools with children for my day-job . This proved the perfect project.


Build Stage 1:

Planning:

Build Stage 2:


Completed Build: 



Having used Flowol extensively in schools with children, and knowing it could program the Arduino, it seemed a quick win to use it for this project. I could refresh my 'C' language skills another time.



Failures:

Bluetooth Remote Control - could not get this to work. Still haven't. Tried various bits of code and apps.

Camera Module - just ran out of time to make it a 'glass-bottomed boat' with a Pi and camera module included. Mark 2 will have!

Design:

Air propulsion was decided upon early. Initially we'd discussed using battery powered pocket cooling fans. In the end we went for motors with propellers attached. All three boats use different steering mechanisms. Mine uses a traditional rudder. Max went for a pair of motors on one model and a pivoting motor on the second.

Materials:

I used expanded polystyrene wrapped in black duct tape. Max went for Kingspan insulation, which I would go for next time. It's stiffer, easier to source, and nicer to work with and shape. The electronics are in modular form with each section in a business card box, to try and keep it dry. The motors and prop were from a school DT cupboard. I ordered the battery pack online.

Problems:

Biggest problem - noise on the ultrasonic sensors, caused by either the motor or the servo. I partially solved it by averaging three readings. Still too erratic though.

I recorded this while I investigated the noise problem with an oscilloscope at work.


The other main problem, which was actually of little import in the end, was that after the first test in Coronation Park, I must have damaged my Arduino board, as I could no longer connect to reprogram it. However, it ran the existing program perfectly, and since it worked, there was no real need to change it. I turned the prop round to a 'pull' rather than a push, but I just swapped the wires so no reprogramming was necessary.







2 comments: