giovedì 28 marzo 2013

Arduino partiamo da zero

1)

Primi passi – Arduino partiamo da zero –




Parlando con alcuni amici della mia “avventura” con arduino mi hanno sorpreso dicendomi che anche loro ne avevano sentito parlare e che pensavano di provarlo.
Scrivo quindi queste note per loro e per tutti quelli che “pensavano” di provare arduino.

Non si spaventi chi non sa programmare o chi conosce poco l'elettronica.

Proseguire nella lettura e seguire questi passi se c'è la volontà...

Sii...  puoò ….fareee!!!



Prima di tutto che cosa è :

Il progetto nasce in Italia ( Ivrea) nel 2005, con lo scopo di rendere disponibile agli studenti un sistema per la prototipazione e la sperimentazione di dispositivi elettronici che fosse più economico di quanto presente sul mercato.
Il team che lo ha progettato è composto da Massimo Banzi, Gianluca Martino, David Mellis, David Cuartielles e Tom Igoe.


Arduino è composto da 2 parti principali:

a) Un circuito stampato con integrato un microcontrollore con la sezione alimentatore e una presa USB, connettori per collegarsi ai pin ( ingresso, uscita, ecc.), ed altri componenti utili al funzionamento.

b) L'ambiente software per scrivere compilare e caricare sul microcontrollore il nostro programma,    ( che viene chiamato sketch), sono  comprese librerie e guida di riferimento del linguaggio utilizzato praticamente C++, il tutto è chiamato ambiente di sviluppo integrato ( integrated development environment) IDE.

E' tutto“open source” cioè libero, anche la parte hardware, sono disponibili i sorgenti e gli schemi elettrici.
Il tutto a basso costo. Arduino uno 20,00 euro.



Ma non è solo c'è tutta una grande famiglia, con tanti fratelli, basta vedere sul sito ufficiale di arduino http://arduino.cc/en/Main/Products




Cosa ci si può fare:

Si possono realizzare prototipi elettronici in modo rapido e semplificato, è utile per apprendere sperimentando l'elettronica e la programmazione.
Si può fare quasi tutto aggiungendo altri circuiti e sensori o circuiti esterni che interagiscono con arduino.
Ci sono in commercio molti di questi circuiti aggiuntivi con i quali si può espandere il nostro progetto.
Si chiamo Shield e sono per moltissime applicazioni: controllo di relè, motori, schermi LCD, musica MP3 ecc, Wi-Fì e molto altro ancora provate a vedere su http://www.robot-italy.com/it/arduino.html


Cosa occorre sapere:

Io parlo per esperienza personale sapendo quel poco di elettronica e quel pochissimo di programmazione sono riuscito ad utilizzarlo.

Occorre conoscere le basi di elettronica:

La legge di omm, il significato di potenza, volt, amper, resistenza, ecc...
Il funzionamento di un transistor, non guastano nozioni su le porte logiche ed i principi dell'elettronica digitale.
Saper leggere uno schema elettrico e riconoscere i vari componenti.

Logicamente con poche conoscenze ci accontenteremo di riprodurre progetti o al massimo di adattarli e modificarli per il nostro scopo. ( quello che faccio io)

La cosa magica di arduino e che permette due approcci diversi, poco hardware e molto software, oppure qualche componente in più e un poco meno software.

Questo rende molto ampia la platea degli utilizzatori e dei progetti.

Inoltre chi conosce poco la programmazione avrà modo di migliorare ed apprendere.
Quando un progetto  non funziona si cerca l'errore, si corregge e si fa partire di nuovo, così si comprende dove e in cosa abbiamo sbagliato, arduino ed il suo IDE rendono tutto questo discretamente semplice.
Inoltre esiste un popolo di utilizzatori di arduino e su internet si trova aiuto, oltre che nel forum ufficiale in molti altri siti web o forum.




Cosa occorre avere per usarlo:

Un computer, non occorre un pc super potente.
Cavo usb.
Arduino Uno ( per iniziare ).
L'ambiente di sviluppo (IDE), si scarica gratis dal sito arduino.

Per poter fare le prime prove si possono percorre due strade:

a) Si acquista uno starter Kit. (si va dai 50 ai 200 euro. )


b)  Si acquista arduino ed altri componenti, qui sotto un esempio di lista:

Cavo Usb, una breadboard, un pacchetto di ponticelli e fili di collegamento, 5 led rossi, 5 led verdi, un set di resistenze 10% valori standard 1/4 W almeno 10 per valore, un display LCD 2 righe, 5 pulsanti, un buzzer, 5 transistor NPN BC547, 2 fotoresistenze, 4 diodi 1N4007, un sensore di temperatura, 2 potenziometri da pcb da 10K, 2 elettrolitici da 100uF, 5 condensatori poliestere da 10 e da 100 nF.

Questo materiale vi servirà per primi esperimenti e non si spende certo una gran cifra, acquistando tutto insieme si risparmia nella spedizione, in ogni caso per i primi esperimenti serve poco materiale.
Normalmente non serve utilizzare il saldatore ma per il display LCD o altri componenti occorre saldare gli spinotti per poterli collegare alla breadboard.


Quindi anche questi attrezzi potrebbero servire:
Un saldatore e relativo stagno.
Un tester per misurare tensioni correnti e resistenze.
Pinzette, tronchesi, forbici ed altri arnesi comuni.


Possono essere utili:
Un libro su arduino io ho “ Il manuale di Arduino” Apogeo di Maik Schmidt
Un libro base di elettronica digitale.
Un libro con le basi di programmazione e/o un testo sul C++.


Se volete altre informazioni prima di procedere all'aquisto vi consiglio di visitare le seguenti pagine web:
http://it.wikipedia.org/wiki/Arduino_%28hardware%29
http://www.arduino.cc/
http://www.maffucci.it/
http://www.mauroalfieri.it/



Oppure acquista il materiale e seguimi ....



Bene quando avete il materiale scaricate l'IDE dal sito di arduino basta scegliere il sistema operativo che usate.
Raccomando attenzione prima di attaccare arduino alla USB installare i driver relativi al Vostro arduino.
Consultate il sito arduino dove ci sono tutte le spiegazioni per iniziare.
Anche le altre lezioni di Maffucci sono tutte da seguire. Specialmente per chi non sa bene l'inglese.

Guardiamo adesso il primo programma che si trova anche negli esempi di pubblico dominio “Blink”




Questo è quello trovate nella cartella esempi dell'IDE

/*
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
}



Prima di caricare il programma su arduino, colleghiamo un led.

Vediamo cosa è un Led.

 

Qui vi riporto alcune immagini:
lo schema e l'impronta


 

 

 

 

 

 

Colleghiamo un led come indicato.

L'anodo del led verso il pin 13 con la resistenza da 220 ohm, ed il catodo a massa.  (GND)







A proposito delle resistenze:

1° ANELLO 2° ANELLO 3° ANELLO 4° ANELLO
Nero . 0 x 1 -
Marrone 1 1 x 10 -
Rosso 2 2 x 100 -
Arancione 3 3 x 1.000 -
Giallo 4 4 x 10.000 -
Verde 5 5 x 100.000 -
Azzurro 6 6 x 1.000.000 -
Viola 7 7 x 10.000.000 -
Grigio 8 8 - -
Bianco 9 9 - 5,00%
Oro - - : 10 10,00%
Argento - - : 100 20,00%

Questo è il codice colori per individuare il valore.

Qui sotto alcuni esempi dei valori più utilizzati.

 



Se volete sapere di più

Fatti i collegamenti occorre caricare il programma (sketch) su arduino.



Prima si preme il tasto a sinistra per compilare, vedrete scorrere una barra verde sulla sinistra, poi il messaggio "Compilazione terminata" , come si vede qui sopra ( ci dice anche la dimensione del file binario 1084 Bytes).

Attenzione ora si deve collegare arduino al cavo USB.

Poi si preme il pulsante a freccia per caricare lo sketch su arduino, quindi i 1084 Bytes del codice si scrivono sulla memoria di arduino ed il programma parte subito.

Nota Bene.  Se nella prima fase qualcosa non va avrete dei messaggi rossi di errore.

Se tutto è andato bene vedrete lampeggiare il Led.


Qui sotto ho riportato le spiegazioni di quello che fa il programma illustrando alcune delle istruzioni

Se avete dubbi dal menu Aiuto selezionate la guida di riferimento in modo da comprendere i passaggi di questo semplice proramma.



/* questi caratteri aprono un commento su più righe
lampeggio led 13


primo programma scritto per arduino


Sergio Prenleloup


12 settembre 2012


*/ // questi caratteri chiudono il commento su più righe


int led = 13; // con arduino uno il pin 13 ha già una resistenza in serie per limitare la tensione.
// Con questa istruzione si definisce la corrispondenza del pin 13 con la variabile
// int led






void setup() { // void si dichiara la funzione setup la funzione
// esegue quanto racchiuso fra le graffe { …. }
pinMode (led, OUTPUT); // si fanno le impostazioni iniziali
} // in questo caso si imposta il pin digitale come uscita
// OUTPUT ( il 13 lo abbiamo chiamato led nella istruzione
// precedente … int led = 13;


void loop () { //qui si dichiara la funzione loop – che è ripetuta di continuo
// dal microcontrollore
// – questa è il nucleo principale del programma
//
// fra le due parentesi graffe scriveremo il nostro programma
digitalWrite(led, HIGH); // la funzione digitalWrite nel primo elemento indica il pin nel
// secondo ne stabilisce lo stato che potrà essere HIGH o
// LOW cioè rispettivamente +5V o 0V






delay (200) ; // delay (n) il microcontrollore interrompe il programma per
// (n) millisecondi




digitalWrite(led, LOW); // si porta il pin LOW cioè si spenge il led
delay (200) ;
// l'esercizio prosegue con tempi di attesa diversi
digitalWrite(led, HIGH);
delay (500) ;
digitalWrite(led, LOW);
delay (500) ;
digitalWrite(led, HIGH);
delay (1000) ;
digitalWrite(led, LOW);
delay (1000) ;
digitalWrite(led, HIGH);
delay (2000) ;
digitalWrite(led, LOW);
delay (2000) ;
digitalWrite(led, HIGH);
delay (4000) ;
digitalWrite(led, LOW);
delay (4000) ;
// arrivato qui il programma riparte dall'inzio di void loop
}


questo è il primo programma che si affronta con arduino.


Provate a digitare e a correggere il programma per prendere dimestichezza con l'IDE di arduino.



Questo post cancellato per errore è stato riscritto quindi le date non tornano..

a questo post seguono:


Arduino partimo da zero n° 3

Altri post con il titolo "Arduino partiamo da zero" saranno semplici esperimenti per chi comincia.

Compreso il sottoscritto.

Attendo Vostri commenti.
Un saluto a tutti.
Sergio


Nessun commento:

Posta un commento

Vi ringrazio per la lettura e vi invito al prossimo post.
Se il post vi è stato utile, vi è piaciuto oppure no, scrivete un commento.

Un saluto a tutti.
Sergio

Copyright - Condizioni d’uso - Disclaimer
http://avventurarduino.blogspot.it/2012/10/inizia-lavventura-arduino-12-settembre.html