What is Arduino?
"Arduino is an open-source electronics prototyping platform..."
That's what it says on the Arduino web site.
Microcontroller Boards
Arduino produces a family of microcontroller boards. Each is based on a microcontroller chip in the AVR series produced by Atmel.
Arduino IDE
The Arduino Interactive Development Environment is an application that runs
on Mac, Linux and Windows. It facilitates the process of developing code.
- Text editor to create C and C++ files.
- Uses the a standard compiler to generate AVR code.
- Loads code onto the Arduino via USB
- Allows user to interact with code in a Serial Monitor window
Bootloader
When you buy an Arduino, the AVR processor is already loaded with a program, the bootloader. The bootloader works with the Arduino IDE to load sketches onto the Arduino over the USB cable. Once a sketch is loaded, it can send and receive messages. Those are displayed in the Serial Monitor window of the IDE.
No operating system, just a library
When a sketch is running, it controls the processor. Unlike desktop or laptop, there aren't seveal tasks running at once. Only one.
There are libraries that are automatically included in sketches.
Pins and Shields
An Arduino board has a standard set of connections–header type sockets for inserting pins. They are arranged so that compatible boards can be piled on top of an Arduino to extend the connections. Such compatible boards are called shields.
Some of the connections are for power supply. Twenty of them are I/O pins. Under program control, an I/O pin can be configured to be digital input, digital output, analog input, PWM output.
Pulse Width Modulation is a technique of producing a digital signal that can be used as a substitution for an analog signal in many situations. The proportion of the time that the output is high corresponds to the analog value. PWM won't be used in this workshop.
The standard I/O pins are labeled 0 through 13 and A0 through A5. Some of the Arduino boards have more.
Only some of the pins may be used as analog inputs. Only some may be used as PWM outputs. This varies with the model of Arduino. All of them can be used as digital input or output. Except you shouldn't use 0 or 1 because they are the serial pins that connect to USB.