What is Arduino ? 51052
“It’s an open-source physical computing platform”
Arduino is a tool for making computers that can sense and control more of the physical world than your desktop computer. It’s an open-source physical computing platform based on a simple microcontroller board, and a development environment for writing software for the board.
Arduino can be used to develop interactive objects, taking inputs from a variety of switches or sensors, and controlling a variety of lights, motors, and other physical outputs.
Arduino projects can be stand-alone, or they can be communicate with software running on your computer (e.g. Flash, Processing, MaxMSP.) The boards can be assembled by hand or purchased preassembled; the open-source IDE can be downloaded for free.
Arduino is a single-board microcontroller to make using electronics in multidisciplinary projects more accessible. The hardware consists of an open-source hardware board designed around an 8-bit Atmel AVR microcontroller, or a 32-bit Atmel ARM. The software consists of a standard programming language compiler and a boot loader that executes on the microcontroller.
Arduino boards can be purchased pre-assembled or as do-it-yourself kits. Hardware design information is available for those who would like to assemble an Arduino by hand.
Why Arduino?
There are many other microcontrollers and microcontroller platforms available for physical computing.
-Parallax Basic Stamp,
-Netmedia’s BX-24,
-Phidgets,
-MIT’s Handyboard, and many others offer similar functionality.
All of these tools take the messy details of microcontroller programming and wrap it up in an easy-to-use package. Arduino also simplifies the process of working with microcontrollers, but it offers some advantage for teachers, students, and interested amateurs over other systems:
Inexpensive - Arduino boards are relatively inexpensive compared to other microcontroller platforms. The least expensive version of the Arduino module can be assembled by hand, and even the pre-assembled Arduino modules cost less than $50
Cross-platform - The Arduino software runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows.
Simple, clear programming environment - The Arduino programming environment is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well. For teachers, it’s conveniently based on the Processing programming environment, so students learning to program in that environment will be familiar with the look and feel of Arduino
Open source and extensible software- The Arduino software is published as open source tools, available for extension by experienced programmers. The language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C programming language on which it’s based. Similarly, you can add AVR-C code directly into your Arduino programs if you want to.
Open source and extensible hardware - The Arduino is based on Atmel’s ATMEGA8 and ATMEGA168 microcontrollers. The plans for the modules are published under a Creative Commons license, so experienced circuit designers can make their own version of the module, extending it and improving it. Even relatively inexperienced users can build the breadboard version of the module in order to understand how it works and save money.
The Arduino Idea…
Arduino started in 2005 as a project for students at the Design Institute of Ivrea, Italy. At that time program students used a “BASIC Stamp” at a cost of $100, considered expensive for students. Casey Reas, one of the founders, taught at Ivrea.
A hardware thesis was contributed for a wiring design by Colombian student Hernando Barragan. After the wiring platform was complete, researchers worked to make it cheaper, lighter, less expensive, and available to the open source community. The school eventually closed down, so these researchers, one of them David Cuartielles promoted the idea.
Hardware
An Arduino board consists of an Atmel 8-bit AVR microcontroller with complementary components to facilitate programming and incorporation into other circuits. An important aspect of the Arduino is the standard way that connectors are exposed, allowing the CPU board to be connected to a variety of interchangeable add-on modules known as shields. Some shields communicate with the Arduino board directly over various pins, but many shields are individually addressable via an I²C serial bus, allowing many shields to be stacked and used in parallel.
Software
The Arduino integrated development environment (IDE) is a cross-platform application written in Java, and is derived from the IDE for the Processing programming language and the Wiring projects. It is designed to introduce programming to artists and other newcomers unfamiliar with software development. It includes a code editor with features such as syntax highlighting, brace matching, and automatic indentation, and is also capable of compiling and uploading programs to the board with a single click. A program or code written for Arduino is called a “sketch”.
Arduino programs are written in C or C++. The Arduino IDE comes with a software library called “Wiring” from the original Wiring project, which makes many common input/output operations much easier. Users only need define two functions to make a runnable cyclic executive program:
- setup(): a function run once at the start of a program that can initialize settings
– loop(): a function called repeatedly until the board powers off
A typical first program: for a microcontroller simply blinks an LED on and off. In the Arduino environment, the user might write a program like this:
#define LED_PIN 13 void setup () { pinMode (LED_PIN, OUTPUT); // Enable pin 13 for digital output } void loop () { digitalWrite (LED_PIN, HIGH); // Turn on the LED delay (1000); // Wait one second (1000 milliseconds) digitalWrite (LED_PIN, LOW); // Turn off the LED delay (1000); // Wait one second }
What is an Arduino Board ?
In this MicroNugget, CBT Nuggets trainer Eli the Computer Guy discusses Arduino boards, a small, inexpensive computer board that allows you to create robotics and automated devices.
Resources
http://arduino.cc/en/Guide/Windows