Notes About Developing Arduino Workshops

I’ve been  developing workshops around the Arduino and various clones over the last year and a half. I have some documents as word processing files using Open Office. Other material is in a Yahoo Group with limited access to keep it kid friendly. Some material is in blogs and more is yet to be written.

I’m publishing new material to the DIY Robotics Lab blog for a new workshop series called “Topics in Robotics, Electronics, and Communications”. Currently the blog is working more as a repository for articles as I write them instead of a sequential series of topics. I have a new Internet domain registered where I’m planning to assemble these articles into on-line tutorials.

Publishing Source Code

Recently it seems I’ve been pushing the limits of blogging technology when displaying an Arduino sketch’s source code. The spaces, tabs, and mono-spaced fonts are important but spaces get removed leaving the source code hard to read. WordPress has a

 tag implemented in a plugin that does a great job maintaining the spacing while adding color coding that many program editors include. It also provides a way of easily copying the source code so you can paste it into your own program editor.

/*--- Minimum Arduino programming functions, setup and loop  ---*/

void setup()
{
}

void loop()
{
}

In my word processing documents I’ve been using bold text as a way of differentiating between existing source code and new code being added to a program. The tag does not let me include bold text so I need to explore more and see if another option is available.

Electronics Prototyping

Working with Arduino’s and creating a breadboard prototype go hand-in-hand. You can take photographs of your breadboard and the wires connecting to the Arduino but sometimes an illustration provides a nice presentation.

Fritzing Illustration

Fritzing Illustration

This illustration is generated from the Fritzing program. Fritzing is a virtual prototyping tool designed to support Arduino. You can select electronic components and interactively place them onto a virtual breadboard. The bonus from this effort is to push a button and an Eagle schematic and board file are created to manufacture a custom printed circuit board called a shield that attaches to the top of an Arduino.

Cross Platform Development

Among the Arduino’s popular virtues are its open-source hardware and software support. When working in your favorite operating system it’s easy to forget the virtue of its cross platform support too.

As I’m preparing for a workshop based on our Robotic Labyrinth Game, the cross platform issue becomes important. The workshop is part of an introduction to robotics where we’re building a kit to convert the wooden labyrinth into an Arduino controlled device using servo motors. The original WiiFit control was written in a Linux only version of the Wii remote library @digitalJestin wrote while the XBox controller version I wrote runs in Microsoft only. For this workshop I’m not expecting participants to go out and buy expensive WiiFit or XBox controllers anyway.

Processing Language

Inspired by Jestin’s Virtual Labyrinth, the way I chose to solve the controller issue is to create a joystick simulator using the cross platform Processing Language. Processing is a superset of the programming language used for the Arduino and is implemented on Windows, Linux, and Mac operating systems. Processing is a graphics based display system.

This video was captured for the DIY Robotics Lab article “Joystick Simulation with Processing” where this virtual joystick will be operating the robotic labyrinth through an Arduino.

This Mpeg video was created by the open source XVidCap Screen Capture program running on Linux.

Bringing Robotics Home

My focus had been to build a set of resources that keep costs low for students as they learn about robotics and electronics. I’ve helped as a mentor with FIRST robotics teams for several years. It has troubled me that the teams seem limited to major metropolitan areas. Also, the robot kits they use are too expensive for individual students to own one of their own. The Arduino makes a good controller for robots and I believe they are a great supplement to the existing robotics curriculum, particularly when they are affordable enough for home use.

Part of the LabyWiinth Project’s appeal was to create an introduction to robotics.

Other Tips and Tricks?

I’m interested in learning more ways to present educational material. So, what kinds of tips and tricks do you use when creating online material?

About SomeoneKnows

Advertisements

3D Golf Robotic Labyrinth

We were busy today making preparations for Saturday’s RoboFest ’09 with the Kansas City Robotics Society. We have a new base for our mid size labyrinth and decided to go with a golf theme for this version.

Adjustments to 3D Golf Labyrinth

Adjustments to 3D Golf Labyrinth

This game is a little easier to play than our small wooden labyrinth but with the ridges and hills built into this course it’s not an easy game either.

3D Golf Labyrinth Surface

3D Golf Labyrinth Surface

This picture shows the unfinished hole awaiting the cup for the golf ball to fall into. A narrow ledge and varying steepness leading up to the hole makes this approach tricky.

Come check it out if you happen to be in Kansas City on Saturday June 13, 2009. The RoboFest will be held in the upper level above the Harvey House Restaurant in the historic Union Station. The times are from 12:30 pm with robots competing until 4:00 pm. Awards will be given between 4:00 and 4:30.

Several competitions are planned including mini and 1kg sumo robots, line following robots and a dinnerware demolition competition. We plan to have solar rollers there too.

Previous Article:  Robotic Labyrinth Update – 4.29.2009
Or start from the beginning: Day[0] = 1.21.2009

Check out our LabyWiinth Project Web Site and the new DIY Robotics Lab blog.

About SomeoneKnows