Arduino è una piattaforma open-source di prototipazione elettronica facile da usare sia a livello  hardware che software.  E 'pensato per artisti, designer, hobbisti, e chiunque sia interessato nella creazione di oggetti o ambienti interattivi.
Si tratta di un microcontrollore flessibile e facile da usare sia per quanto riguarda la componente hardware che software.
La componente hardware open source è disponibile sotto una licenza Creative Commons e si è liberi di adattarla alle proprie esigenze. In questo modo, chiunque lo desideri può legalmente auto-costruirsi un clone di Arduino o derivarne una versione modificata.
Chiunque può scaricarsi l’hardware e modificarlo, utilizzarlo o venderlo.
In questo modo una vasta comunità internazionale di sviluppatori hardware ha iniziato a collaborare e aggiungere componenti alla scheda.
Possiamo trovare molteplici oggetti che contengono il microchip Arduino, nei suoi variabili usi: da router per telefoni a lettori mp3, da sintetizzatori ad amplificatori per la chitarra, fino a hardware da collegare con gli smartphone.
Arduino può ricevere dall’esterno dei segnali da alcuni sensori (di luminosità, di temperatura, di umidità, ecc) e può controllare in uscita dei motori o altri attuatori.
Per poterlo programmare si utilizza il software chiamato proprio Arduino 1.0.
Il suo software può essere scaricato gratuitamente e può girare in ambienti con sistemi operativi:
-Windows
-Mac OS X
-Linux: 32 bit, 64 bit
Esistono in commercio varie schede già pronte all’uso utilizzabili per varie applicazioni.  

Pilotaggio di diodi led con Arduino MEGA 2560

Arduino Mega 2560 Rev3 è una scheda elettronica basata sul microcontrollore Atmega2560. Dispone di 54 ingressi/uscite digitali (14 delle quali possono essere utilizzate come uscite PWM), 16 ingressi analogici, 4 porte seriali hardware UART, un oscillatore a 16 MHz, una connessione USB, un jack di alimentazione, un header ICSP e un pulsante di reset.
Esso contiene tutto il necessario per supportare il microcontrollore; è sufficiente connettere Arduino Mega ad un computer tramite un cavo USB  o alimentarlo con un trasformatore AC/DC o una batteria  per iniziare.

Caratteristiche di Arduino MEGA 2560

Differenze principali rispetto alle precedenti revisioni:
Rev1: inserita una resistenza che porta a massa la linea 8U2 HWBper semplificare l'utilizzo della modalità DFU (Device Firmware Update)
Rev2:
• Pinout 1.0: sono stati agguinti i pin SDA e SCL (vicino AREF) e due nuovi pin vicino a quello di reset, IOREF che permette agli shield di adattarsi alla tensione della scheda.
• Circuito di reset migliorato
• Convertitore USB-seriale basato su ATmega16U2 anzichè ATmega8U2


Specifiche tecniche:

Microcontrollore: ATmega2560
Tensione di funzionamento: 5V
Tensioni in ingresso raccomandate: 7-12V
Massima tensione in entrata: 6-20V
Numero di ingressi/uscite digitali: 54 (di cui 14 utilizzabili come uscite PWM)
Numero di ingressi analogici: 16
Corrente supportata per i pin di ingresso e uscita:40 mA
Corrente supportata per il pin da 3.3V: 50 mA
Memoria Flash: 256 KB (8 KB utilizzati per il bootloader)
SRAM: 8 KB
EEPROM: 4 KB
Frequenza di clock: 16 MHz

Foto del circuito realizzato con Arduino Mega 2560

Esercizi con l'Arduino

La funzione setup

Esempio: La funzione setup

int buttonPin = 3;

void setup()
{
  Serial.begin(9600);
  pinMode(buttonPin, INPUT);
}

void loop()
{
  // ...
}

La funzione loop

const int buttonPin = 3;

// setup initializes serial and the button pin
void setup()
{
  Serial.begin(9600);
  pinMode(buttonPin, INPUT);
}

// loop checks the button pin each time,
// and will send serial if it is pressed
void loop()
{
  if (digitalRead(buttonPin) == HIGH)
    Serial.write('H');
  else
    Serial.write('L');

  delay(1000);
}

La funzione delay

Esempio: Utilizziamo la funzione delay

 

int ledPin = 13;                 // LED connected to digital pin 13

void setup()
{
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output
}

void loop()
{
  digitalWrite(ledPin, HIGH);   // sets the LED on
  delay(1000);                  // waits for a second
  digitalWrite(ledPin, LOW);    // sets the LED off
  delay(1000);                  // waits for a second
}

La funzione blink

Esempio: La funzione blink

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {               
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);   
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

Per avere il software completo di alcuni esercizi svolti con Arduino scrivi una e-mail attraverso il box sottostante.

Approfondimenti con link esterni

Per approfondire l'argomento vi consiglio di guardare anche i seguenti link

La casa domotica

Collegamento di più arduini

La casa domotica permette di controllare da remoto diversi sensori e attuatori collegati tramite web con l'ARDUINO.

La cas domotica permette di controllare ad esempio:

- le vie d'accesso alla casa... Cancelli, Portone Basculante

- l'accensione delle luci con timer e orario di accensione

- l'irrigazione del giardino con timer e orario di accensione

- le temperature dei locali o di determinate apperechiature (inverter , quadri elettrici . . .)

- i consumi di elettricità istantanea (watt) dell'intera abitazione e la produzione dell'impianto solare.

Per poter collegare i sensori e i rele' agli utilizzatori un problema che si può presentare è la possibilità di far passare i cavi nei tubi a muro. Per questo motivo si  opta per il collegamento di più arduini dislocati nei quadri elettrici della casa e collegati tra loro in seriale e quindi con 3 fili: TX,RX e GND.

 Si possono scegliere  controllori arduino periferici la versione "UNO" con disponibili 12 porte digitali e 6 porte analogiche.

Per approfondimenti visita il sito

http://www.centrodigravita.it/index.php/progetti/nuovi-progetti/123-la-casa-domotica?showall=1&limitstart=

 

 

Tutorial con link esterni in italiano sull' ARDUINO da YOU TUBE