As defined by Wikipedia:
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.
The open-source hardware license allows for companies and individuals to make their own replicas or variations of this base design from schematics, parts lists, etc., which are available for free from the Arduino website, see www.arduino.cc . At the heart of the Arduino Uno board is an Atmel 8-bit microcontroller, the Atmega328. The main components of the Arduino and SainSmart Uno R3 will be covered shortly.
Arduino programs (sketches) are written in the C/C++ programming using the integrated development environment (IDE). Thus, if you know C, you have a great head start. If you don’t know C or any other programming languages, not to worry. This manual is designed to slowly introduce you to the Arduino programming language by giving detailed example code for each new concept covered, along with a brief explanation. So, if you already know C, you can either skim through or skip the code explanation sections. However, the examples use some unique functions and libraries that were originally written for Wiring or developed specifically for Arduino, so these will most likely be new to all first time Arduino programmers, as well as many experienced Arduino and C programmers.
Integrated Development Environment (IDE)
The Arduino’s integrated development environment (IDE) is Java based, thus making it a cross-platform application (capable of running on different operating systems without need for re-compilation or modification of the code). The IDE is free to download from the Arduino website and is also open-source. As you will see in the first chapter, it greatly simplifies the process of interfacing to, and programming the Arduino. When you launch the IDE, it will appear as shown in Figure 1.1.
Figure 1.1 The Arduino IDE.
What is a microcontroller?
A microcontroller is essentially a small computer on a single integrated circuit (IC) or “chip”. Besides having a central processing unit (CPU), which runs your program, it has input/output (I/O) circuitry built into the chip as well.
Arduino Uno R3
The Arduino Uno is a microcontroller board based on the Atmel ATmega328 microcontroller. The board has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable (supplies a regulated 5v DC input voltage) or power it with a AC-to-DC adapter or battery (7v to 12v DC input at the barrel connector) to get started, see Figure 1.2.
Figure 1.2 Arduino Uno R3.