OUR NETWORK:TechLore Sling Community MyOpenRouter MediaSmart home Pogoplugged See all... About UsAdvertiseContact Us

The Arduino Microcontroller - An Introduction

The Arduino is a microcontroller prototyping platform. This platform includes the hardware device, built around the Atmel ATmega168 microcontroller, and an easy-to-use cross-platform IDE (Integrated Development Environment) using a C-style programming syntax. Apparently intended for a Physical Computing audience, the Arduino should also be an easy way of adding a bit of extra "smarts" to simple robotics projects.

Before getting into the good stuff, a little bit about who I am and why I'm here, followed by what you can expect to glean from this small series of articles.

In real life I am a cabinet maker. Not an electronics engineer, not a roboticist, I don't have a degree in anything. Just a regular Joe who likes fiddling with things, taking things apart, building things, breaking things. I've been interested in general robotics for many years, mostly for their entertainment value. After playing with various Wowwee products I finally convinced myself it would be fun to design and build my own toy robot. Not "better" than any current toy robot offerings, just different. Having played a bit with BEAM robotics I knew I wanted a little more "intelligence" in my toy, so the obvious solution was to use some kind of microcontroller.

I'm not going to go into great detail about how to choose a microcontroller, that topic has been well covered elsewhere. After reading a lot about the various micros out there, I finally decided I'd start with the Arduino prototyping and development platform.

I will tell you some of the reasons I chose it over the others (eg PIC, Stamp, Propeller);

  1. Arduino's ease of use on various platforms. The Arduino IDE works on Windows, Mac, and Linux. Making it work on my Ubuntu computers was painless, even brainless. I'm just a sucker for plug-n-play.
  2. Arduino's programming syntax is based on C. I haven't even looked at BASIC since the late '80's (BASIC Stamp). I didn't really want to learn a new language (Spin). With my recent background being in Perl and PHP, writing for the micro in a C style just made sense to me.
  3. Since the Arduino is built around an AVR chip, if/when I decide I've "outgrown" the Arduino I should be easily able to transition to the use of the AVR directly, working the chip into my project(s) without the need for the prototyping board.

What I hope to present here are the details of my learning about the Arduino and how to use it. Not really a tutorial, more of a "what I did and how I did it" type of thing. We'll start off with some absolute basics and hopefully end up with a fully functioning (yet fairly simple) semi-autonomous walking robot.

If you don't already have an Arduino, well, you'll kinda need one in order to play along at home. I recommend AdaFruit, SparkFun and several other places have them as well. You should probably get a breadboard too if you don't already have one. Finally, it never hurts to have a bin of electronic doodads at your disposal; resistors, leds, buttons, etc...

Still with me? You are? Okay, I guess I'll go ahead and type up Part Two, the "Hello World" of electronics, the ubiquitous flashing LED! *oooh, aaah*

Discussion:    Add a Comment | Comments 1-3 of 3 | Latest Comment

April 7, 2008 2:13 PM

*Laughs* My personal "Hello World" when working with microcontrollers is a functioning UART interface, which funnily enough, usually sends "Hello World!".

Of course doing that with an Aruino is much easier, something along the lines of...

Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("Hello World!"); // prints hello with ending line break

No dealing with flipping bits, interrupt handlers or buffering for you!

Have you seen Lady Ada's Arduino tutorial?

RoboGuide - Your guide to hacking all things WowWee

April 10, 2008 8:32 PM

Thanks for the intro, Rudolph- I may have to pick up some of these Arduino boards... they are also used in one version of the RepRap rapid prototyper. Admiral N, aren't you also into the AVR line?

April 10, 2008 10:29 PM

Nocturnal,  Ya, I read through LadyAda's tuts before choosing a micro to start with. Very helpful stuff so I ordered my Arduino from her (and will continue to do so in the future). So far I like the Arduino language, very easy to work with, though I'm already looking forward to learning my way deeper into the AVR and it's fiddly bits after recently working with interrupts (part three has remote-controlled blinky LEDs!).

Watch out, don't step in the anthropomorphization.

Discussion:    Add a Comment | Comments 1-3 of 3 | Latest Comment

Add Your Reply

(will not be displayed)

Email me when comments are added to this thread

 
 

Please log in or register to participate in this community!

Log In

Remember

Not a member? Sign up!

Did you forget your password?

You can also log in using OpenID.

close this window
close this window