martedì 27 ottobre 2015

ARDUINO - Programma 01 - Blink

Eccoci infine al primo programma che andremo a relizzare usando Arduino.
La cosa più semplice che si può fare con Arduino è quella di accendere e spegnere un'uscita. In seguito potremo collegare questa uscita a qualcosa, come un led, per vederne il funzionamento reale.

Funzionamento del programma:
Faremo accendere e lasceremo acceso per un secondo il pin 13.
Dopo di che andremo a spegnere e lasciar spento per un altro secondo il pin 13.
Infine faremo riciclare tutto.

Passiamo ora al programma:




void setup(){
//istruzioni da eseguire una sola volta
pinMode (13, OUTPUT); //diciamo che il pin 13 è un pin di output
}
void loop(){
//istruzioni da eseguire continuamente
digitalWrite (13, HIGH); //accende il pin 13
delay(1000); //aspetta un secondo (mille millisecondi)
digitalWrite (13, LOW); //spegne il pin 13
delay(1000); //aspetta un secondo
//ricicla dall'inizio
}







Andiamo ora a vedere il circuito da realizzare.
Si collega il pin 13 ad una resistenza (un 220 ohm è sufficiente), dalla resistenza si va all'anodo (positivo) del LED. Si collega in GND al catodo (negativo) del LED. (Vedi i collegamenti in figura sotto).

A questo punto, dopo aver scaricato il programma sulla scheda, come andremo ad alimentarla potremo vedere lampeggiare il LED che abbiamo collegato. Inoltre, dato che abbiamo usato il pin 13, vedremo lampeggiare anche il LED on-board di Arduino.

Questo programma lo si può già trovare tra gli esempi di Arduino andando in File → Esempi → 01.Basics → Blink.
Malgrado la semplicità di questo sketch, non va sottovalutata la sua importanza. Usandolo come base si possono costruire programma più complessi e già con pochissime modifiche lo si può usare per pilotare un braccio meccanico.


Nuove istruzioni imparate e loro sintassi:
 pinMode (n,type); → definisce il pin n come pin di input (se al posto di type mettiamo input) o come pin di output (se al post di type mettiamo output)

 digitalWrite (n,logic_level); → pone il pin n al livello logico indicato (alto (o acceso) se logic_level = HIGH e basso (o spento) se logic_level = LOW)
 delay (millisec); → aspetta tanti millisecondi quanti sono indicati fra parentesi prima di passare all'istruzione successiva

Tutte le istruzioni le saranno successivamente raccolte e spiegate in una pagina apposita.

Al prossimo programma con Arduino!

venerdì 23 ottobre 2015

ARDUINO - Pre 04 - L'IDE di Arduino

Sei ansioso di programmare Arduino ma non sai come fare?
Hai già aperto l'editor di Arduino e non sai come muoverti?
Vediamo come posso aiutarti.

Il primo passo per programmare la scheda è quello di scaricare e installare l'IDE (Integrated Development Environment), o ambiente di sviluppo, di Arduino.
Per scaricarlo andate su https://www.arduino.cc/en/Main/Software e nella parte destra della schermata che appare scegliete il vostro OS e la versione (32 o 64 bit).

Una volta installato, facendo doppio click sull'icona di Arduino, si aprirà il nostro editor. Appena aperto l'IDE caricerà un programma (o sketch) vuoto e si presenterà così:
Le parti principali sono state evidenziate e numerate, per cui avremo:
  • la barra del titolo (1) con il titolo dello sketch;
  • la barra dei menù (2) che vedremo meglio man mano che andiamo avanti con i programmi;
  • la barra delle icone (3) che comprende 5 pulsanti. Da sinistra verso destra abbiamo: Verifica, Carica, Nuovo, Apri, Salva.
  • il titolo dello sketch (4), che di default è del tipo sketch_mesegiornolettera;
  • il void setup (5), che conterrà una serie di istruzioni che vengono eseguite una sola volta all'inizio del programma;
  • il void loop (6), che conterrà una serie di istruzioni che verranno ripetute (o riciclate) all'infinito;
  • la scheda e la porta usata (7), importantissima in fase di caricamento del programma.

La prima cosa da fare per iniziare a programmare è collegare l'Arduino al PC e assicurarsi che l'IDE sia impostato per la versione usata e sia posizionato sulla porta cui è collegato Arduino. Per fare questo si va in Strumenti → Scheda → [si seleziona la scheda usata, per esempio Arduino Uno] e in Strumenti → Porta → [si seleziona la porta usata, per esempio COM1].
[Vedremo come riconoscere la porta utilizzata dalla nostra scheda in seguito]

Dopo aver fatto questo andremo a scrivere il programma.
Appena avremo finito di scrivere (e salvare) il programma, andiamo sulla barra delle icone e premiamo Verifica, il programma controllerà se ci sono errori nel nostro sketch e ce li segnalerà nella parte nera in basso.

Dopo aver risolto gli errori potremo finalmente premere Carica e inviare il programma sulla nostra scheda per poterlo impiegare nella pratica.

Finalmente abbiamo tutte le basi per inziare a programmare. Passiamo quindi alla parte più divertente di Arduino: la programmazione e le prove. Clicca qui per iniziare a programmare.

martedì 20 ottobre 2015

ARDUINO - Pre 03 - I driver per Windows

Hai collegato Arduino al tuo PC Windows e il computer non lo riconosce? Hai già installato i driver? Come non sai cosa sono? Meno male che ci sono io ad aiutarti!

I driver possiamo definirli come dei "miniprogrammi" che il computer usa per riconoscere le varie periferiche, cioè tutto quello che gli viene collegato attorno. Dato che anche Arduino è considerati una periferica dal computer, anche lui avrà bisogno dei suoi driver.

Nel caso di Arduino UNO R3 (scheda originale) puoi installare i driver in due modi, vediamo come.
Primo metodo
Per installare i driver di Arduino li devi scaricare da qui.
Aprendo la cartella troverai i driver fornite con l'IDE ufficiale di Arduino. 
Dovrai quindi scaricare e installare quello adatto alla tua versione di Windows, in base ai bit dell'OS.
Se non sai quale scegliere vai in Start → Computer, nella finestra che si apre clicca col tasto destro del mouse in uno spazio vuoto e poi scegli Proprietà. Si aprirà un'altra finestra, quindi vai alla voce Sistema → Tipo di sistema e la potrai leggere i bit del tuo OS (32 o 64).
Se il tuo sistema è a 32 bit allora scaricherai e installare il file denominato Driver_Arduino_Win32.
Se invece hai un sistema operativo a 64 bit andrai a scaricare ed installare il file Driver_Arduino_Win64.

Secondo metodo.
In alterativa, una volta scaricato e installato l'IDE di Arduino (ho illustrato come fare qui) dovrai procedere così:
-Vai in Start → Pannello di Controllo → Sistema e Sicurezza → Sistema;
-Nella parte in alto a sinistra premi su Gestione dispositivi;
-Nella finestra che si apre vai su Porte (COM e LPT) e cerca "Arduino UNO (COMxx)" se non c'è vai su Altri dispositivi e dovresti vedere un "Dispositivo sconosciuto";
-Clicca col tasto destro su Arduino UNO COMxx (o Dispositivo sconosciuto) e scegli "Aggiornamento software driver...";
-A questo punto nella finestra che si apre scegli  "Cerca il software del driver nel computer";
-Infine seleziona il file chiamato "arduino.inf" nella cartella Driver di Arduino (generalmente in C:\Program Files\Arduino\drivers). Windows completerà automaticamente l'installazione dei driver.
Per una spiegazione più dettagliata di questo secondo metodo rimando alla spiegazione sul sito ufficiale di Arduino.

Se invece disponiamo di una scheda Arduino non originale, come nel mio caso, occorre cercare le istruzioni in base al tipo di scheda che possediamo.
Potete anche provare a installare i driver della mia scheda.
In tal caso scaricate e scompattate la cartella con i driver. Poi eseguite come amministratore il file SETUP.EXE contenuto al suo interno e premete Install. Quando i driver saranno stati installati correttamente vi apparirà un messaggio di conferma.
ATTENZIONE: utilizzando una scheda non ufficiale, quando si andrà a cercare la porta a cui è collegato Arduino non ci sarà scritto Arduino UNO COMxx, ma qualcos'altro. Si può comunque riconoscere poiché sarà un nome strano (come: USB-SERIAL CH340).

Il prossimo passo nella programmazione di arduino è conoscere l'IDE.
Se invece conosci già l'IDE di Arduino e vuoi passare subito alla programmazione clicca qui.
Ti aspetto alla prossima lezione!

sabato 17 ottobre 2015

ARDUINO - Pre 02 - Com'è fatto Arduino?

Hai conosciuto cos'è Arduino e sei curioso di sapere di pù su com'è fatto? 
Non ti ricordi la piedinatura della scheda? 
Allora sei nel posto giusto, andiamo a vedere cos'è Arduino.

La scheda ARDUINO UNO Rev. 3
Guardando l'immagine qui a fianco notiamo subito la presenza di vari componenti montati sulla scheda, tra cui il più importante è il circuito integrato.
Questo cirtcuito integrato è un microcontrollore (ATMEL ATMEGA 328-P), che gestisce tutte le operazione che fa Arduino.
Nella scheda originale questo microcontrollore è di tipo a foro passante, vale a dire che si può estrarre dalla scheda e montare altrove. In alcune schede compatibili, come quella in mio possesso, lo si può trovare di tipo SMD (o a montaggio superficiale), cioè saldato sulla scheda.
Oltre a questo circuito integrato la scheda include molti altri componenti, che vedremo in seguito.



ATMEGA 328 SMD
Indipendentemente da quale di questi due microcontrollori monti la nostra scheda, il suo funzionamento non cambia.

Andiamo ora a vedere più nel dettaglio cosa troviamo sul nostro Arduino.
La nostra scheda comprende molti pin che suddivideremo in risorse di alimentazione, risorse di comunicazione e risorse di I/O (input/output). Nella foto che segue troverete indicati in blu le risorse di alimentazione, in verde le risorse di comunicazione, in rosso le risorse di I/O e in giallo i pin non collegati.

Nelle RISORSE DI ALIMENTAZIONE troviamo:
  • la porta USB, che, se collegata ad un computer fornisce ad Arduino 5 V di alimentazione;
  • il jack da 2,1 mm di alimentazione esterna (7 - 12 V consigliati, tollerati fino a 20 V);
  • una serie di pin (denominate in figura "Risorse di alimentazione") che comprendo due gruppi di pin: l'alimentazione in entrata e l'alimentazione in uscita.
L'alimentazione in entrata è costituita dai due pin di destra (Vin e GND (massa analogica)). A questi piedini può essere connessa una batteria esterna con lo stesso range di tensioni del jack di alimentazione.
L'alimentazione in uscita, che funziona quando l'Arduino è alimentato, è costituita dagli altri tre pin (5V, 3V3 e GND), che ci permettono di prelevare le tensioni di 5 V e 3.3 V tra il rispettivo pin e la massa (analogica).
  • un pin GND, posto vicino agli I/O digitali, che rappresenta la massa (digitale);
  • il pulsante RESET che, se premuto, riavvia la scheda;
  • il pin RESET che funziona come il pulsante di RESET ma deve essere collegato esternamente.

Nelle RISORSE DI COMUNICAZIONE troviamo:
  • una porta ICSP (In Circuit Serial Program) collegata alla porta USB;
  • un'altra porta ICSP collegata al microcontrollore;
  • la stessa porta USB, che permette di interfacciare Arduino ad un PC;
  • due pin per la comunicazione seriale con il potocollo I2C (o IIC), che sono il pin SDA (Serial Data) ed il pin SCL (Serial Clock);
  • altri due pin non indicati in foto (il pin 0 e il pin 1) destinati alla comunicazione seriale.
In seguito vedremo meglio il funzionamento di queste porte.

Nelle RISORSE DI INPUT/OUTPUT troviamo:
  • 14 pin di I/O digitale (dal pin 0 al pin 13), di cui 5 di tipo PWM (Pulse-Width Modulation), che permettono di regolare la larghezza dell'impulso (capiremo meglio come funziona il PWM in seguito);
  • 6 pin di I/O analogico (dal pin A0 ad A5);
  • un pin di Analog Reference, che permette di impostare la tensione degli input analogici;
  • un pin di I/O Refernce;
  • il microcontrollore ATMEGA 328, anche se non è propriamente una risorsa di I/O.

In ultimo troviamo un pin non collegato (segnato in giallo nella foto sopra).

Ora che conosci meglio la scheda non vedi l'ora di provarla? Continua a seguirmi e inizieremo a programmarla insieme.
Per programmare la scheda è necessario proseguire installando i relativi driver.
Se invece hai tutto pronto e vuoi iniziare a programmare clicca qui.

ARDUINO - Pre 01 - Che cos'è Arduino?

Hai sentito parlare di Arduino e vorresti saperne di più? Ne hai uno e vorresti capire cosa ci puoi fare? Bene, sei nel posto giusto! Vediamo insieme cos'è Arduino e cosa possiamo farci.

Se vogliamo dare una definizione semplice possiamo dire che Arduino è una "scatola" con entrate (sia fisiche che programma) e uscite. Le uscite ci sono date in funzione delle entrate e del programma. Se, invece, vogliamo dare una definizione più "tecnica" possiamo dire che Arduino è una scheda elettronica, di tipo programmabile, che viene spesso utilizzata come piattaforma di prototipazione.
In realtà, Arduino non è una sola scheda, ma, se così vogliamo dire, la "marca" di molte schede. Esistono infatti vari "modelli" di Arduino destinati ad altrettanto vari usi.
Arduino LilyPad

Per esempio esiste Arduino Micro destinata a progetti più semplici, Arduino Mega per progetti più complessi ed esiste anche un versione "indossabile" che è Arduino LilyPad.
Durante questa serie di articoli, quando parleremo di Arduino, ci riferiremo alla scheda Arduino UNO Revisione 3.
Arduino MEGA 2560








A questo punto viene da chiedersi "perché proprio Arduino? Cosa ha questa scehda che le altre non hanno?".
Beh, secondo me, i suoi punti di forza sono tanti tra cui la semplicità di programmazione, la sua vasta diffusione, il supporto della community, il costo contenuto...
Inoltre Arduino merita una mezione speciale perché si tratta di un progetto open suorce e made in Italy.

Ora che hai capito cos'è Arduino sei curioso di sapere cosa può farci? Sono qua per rispondere anche a questa tua domanda.
Le potenzialità di questa scheda elettronica sono davvero tante: come abbiamo visto è una piattaforma di prototipazione, quindi possiamo usarla per realizzare prototipi.
Possiamo realizzare un drone radiocomandato, simulare una casa domotica, pilotare bracci robotici e molto altro, tutto ciò grazie alla capacità di Arduino di comunicare con una vastissima gamma di sensori e componenti vari.

Adesso che ti sei fatto un'idea su cosa sia Arduino e hai capito cosa si può fare usando questa scheda sei ansioso di metterla in fuzione? Allora ho buone notizie per te: chiunque può programmare Arduino!
Continua a seguirmi e ti spiegherò le basi di Arduino e, andando avanti, realizzeremo anche alcuni progetti interessanti.

Vuoi saperne di più su Arduino e vedere com'è strutturata la scheda? Allora clicca qui.
Conosci già Arduino e sei ansioso di programmare? In questo caso clicca qui.