Massimo Banzi helped invent the Arduino, a tiny, easy-to-use open-source microcontroller that's inspired thousands of people around the world to make the coolest things they can imagine — from toys to satellite gear. Because, as he says, "You don't need anyone's permission to make something great." -- From his TEDTalk
The AVR architecture was conceived by two students at the Norwegian Institute of Technology (NTH), Alf-Egil Bogen and Vegard Wollan. Colombian student Hernando Barragán and Massimo Banzi, with David Mellis (then an IDII student) and David Cuartielles added atmega AVR chip to create arduino. The development system based on Processing is from MIT and Casey Reas' team. These are all created by students like you. Observe the global effort. Enough about history. Lets discuss the technical details.
A single-board microcontroller and a software suite for programming it.
We will be using Arduino Uno, simplest and mostly commonly used one for simple projects. The hardware consists of a simple, open design for the controller with an Atmel AVR processor and on-board I/O support. The software consists of a standard programming language and the boot loader that runs on the board. It is a tiny embedded system that you can program to connect to external components.
The Arduiono Uno version we have has Atmel Atmega 328 RISC processor: Its word size is 32bits.Flash memory (program space) 32K, is where the Arduino sketch is stored. SRAM (static random access memory) of 2K is where the sketch creates and manipulates variables when it runs. EEPROM is memory space of 1K that programmers can use to store long-term information.
We will be using Arduino Uno, simplest and mostly commonly used one for simple projects. The hardware consists of a simple, open design for the controller with an Atmel AVR processor and on-board I/O support. The software consists of a standard programming language and the boot loader that runs on the board. It is a tiny embedded system that you can program to connect to external components.
Example1: connect a led to the output, switch to input, when a switch is pressed, the light is turned on, processor counts and turns it off after 30 secondsHere is the basic sketch we are going to use:
int led = 13;
void setup() {
// put your setup code here, to run once:
pinMode(led, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
}