© Royalty Free/CORBIS
© Royalty Free/Corbis

Microcontrollers

Microcontrollers can be thought of as very small, inexpensive computers which may be programmed to control systems such as cell phones, microwave ovens, toys, automotive systems, etc. by sensing input from the real world and controlling those devices based on that input. Most electronic devices you use today have a microcontroller in them of some form or another. A typical household has upwards of 25 to 50 microcontrollers performing embedded control in numerous appliances and devices.

Microcontrollers are easy to use with simple sensors and output devices, and they can communicate with desktop computers fairly simply as well. They're very useful for when you're designing a simple interactive device that doesn't need the full power of a desktop computer, but does need to be smaller or cheaper.

Arduino

The Arduino chip is an example of a high level microcontroller used for rapid prototyping.




Starting clockwise from the top center:
  • Analog Reference pin (orange)
  • Digital Ground (light green)
  • Digital Pins 2-13 (green)
  • Digital Pins 0-1/Serial In/Out - TX/RX (dark green) - These pins cannot be used for digital i/o (digitalRead and digitalWrite) if you are also using serial communication (e.g. Serial.begin).
  • Reset Button - S1 (dark blue)
  • In-circuit Serial Programmer (blue-green)
  • Analog In Pins 0-5 (light blue)
  • Power and Ground Pins (power: orange, grounds: light orange)
  • External Power Supply In (9-12VDC) - X1 (pink)
  • Toggles External Power and USB Power (place jumper on two pins closest to desired supply) - SV1 (purple)
  • USB (used for uploading sketches to the board and for serial communication between the board and the computer; can be used to power the board) (yellow)

board.png

How it works

A program is written in the Arduino, a special program running on your computer that allows you to write programs for the Arduino board in a simple language modeled after the Processing language. When you press the button that uploads the program to the board: the code you have written is translated into C language, and passed on to the avr-gcc compiler, a piece of open-source software that makes the ultimate translation into the language understood by the microcontroller. This last step is quite important because it's where Arduino is making your life simple and hiding away as much as possible of the complexities of programming microcontrollers.


Variety is the Spice of Life

Picture 10.png Picture 9.png Picture 8.png Picture 7.png Picture 6.png Picture 5.png

Where can I get em?
Sparkfun.com and Adafruit.com

Go to Programming with Arduino