p1-schemaIn questo primo progetto vedremo come far lampeggiare ad Arduino un led e di dare un'occhiata al codice software neccessario.

Come materiale ci occorre:

  • Arduino Uno
  • Led Rosso
  • Resistenza da 150ohm
  • Breadboard
  • Ponticelli per breadboard

Come prima cosa colleghiamo i vari componenti come nello schema seguente e solo a cablaggio completato provvederemo a connettere la scheda alla presa usb del computer ed a caricare il nostro primo programma.

p1-schema

 Quando collegate il Led al pin10, fate molta attenzione alla lunghezza dei suoi filamenti. Il filamento lungo del Led è l'Anodo e deve sempre essere connesso all'alimentazione +5V. In questo caso il filamento lungo va connesso al pin10 (uscita digitale) e il filamento più corto detto Catodo va connesso alla massa Gnd.

Completato il cablaggio provvediamo allora ad aprire il programma Ide Arduino capture 007 05102013 163701

Avviato il programma provvediamo ad incollare all'interno dello sketch il codice seguente

// Progetto 1 - Led Lampeggiante

// Accende il Led per un seconto,
// e poi lo spegne per un secondo, ripetutamente.

// Pin 10 viene connesso il LED.
// e gli diamo un nome:

int led = 10;

/*

La Routine Setup viene eseguita ogni volta che viene premuto il
pulsante reset sulla scheda o caricato il programma:

*/

void setup() {
// inizializziamo il Pin digitale come un Uscita/Output.
pinMode(led, OUTPUT);
}

// La Routine Loop viene eseguita ripetutamente per sempre:
void loop() {
digitalWrite(led, HIGH); // accente il LED (HIGH l'uscita viene alimentata)
delay(1000); // attendiamo per 1 secondo (1000mS)
digitalWrite(led, LOW); // spegne il LED (LOW l'uscita viene disalimentata)
delay(1000); // attendiamo per 1 secondo (1000mS)
}

 

Colleghiamo la scheda Arduino col cavo Usb al computer.

Adesso dobbiamo prima compilare il programma e caricarlo nella scheda verificando che il codice utilizzato sia compilato correttamente premendo Ctrl+R.

Se la compilazione va a buon fine ed il programma viene correttamente caricato dovremme iniziare a vedere il led rosso lampeggiare con intervalli di 1 secondo.

 

Analizziamo il codiche per comprenderne la logica

 Come prima cosa troviavo la stringa

// Progetto 1 - Led Lampeggiante

che non e' altro che un semplice commento inserito nel codice a scopo descrittivo e possiamo distinguerlo dal codice vero e proprio per la presenza a capolettera delle due "//". Essendo appunto dei commenti non verranno caricati all'interno della scheda Arduino.

Essendo che generalmente un programma è composto da centinaia di stringhe di codice è buona regola utilizzare i commenti per aiutare a comprenderne il codice in fare di revisione.

Quando si intende integrare lunghe parti di testo come commento è possibile utilizzare come delimitatori di commento i simboli /* e rispettivamente a termine commento il codice */ .

La linea di codice successiva è:

int led = 10;

questa è una variabile che non è altro che un posto in cui memorizzare dei dati.

"Int" sta per variabile Intero, che è un numero compreso tra -32768 e +32767 compreso 0. Alla variabile intera Led viene associato il valore 10 che è il numero del pin montato sulla scheda Arduino a cui abbiamo connesso il led.

Il codice successivo:

void setup() {
pinMode(led, OUTPUT);
}

Ogni sketch (progetto di Arduino) deve contenere un "void setup" e un "void loop" e se mancano il programma non può essere eseguito,

E' importante comprendere che in questo programma abbiamo due funzioni, la prima denominata "setup" ha lo scopo di di settare qualsiasi cosa sia neccessaria al funzionamento del programma. In questa funzione non facciamo altro che definire che il pin 10 denominato in led è una uscita digitale (OUTPUT),

Vista la funzione di Setup si comprende che viene caricata solo una volta essendo che serve per definire il programma e dunque il codice che servirà all'esecuzione del programma sarà all'interno di "loop".

void loop() {
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}

 Allora la funzione "void loop" è la funzione principale del programma in quando viene eseguita ripetutamente.

In questo progetto vogliamo far acecndere il Led per 1 secondo e poi tenerlo spento per 1 secondo continuando a ripetere l'operazione.

La prima dichiarazione:

digitalWrite(led, HIGH);

scrive ad High o Low il valore dell'uscita digitale. Quando il valore viene scritto ad High l'uscita digitale emette +5V mentre quando Low emette 0V.

 

La dichiarazione successiva:

delay(1000);

viene chiesto a programma di attendere 1 secondo (1000mS) prima di eseguire la dichiarazione successiva.

La prima dichiarazione:

digitalWrite(led, LOW);

scrive a Low il valore dell'uscita digitale. Quando il valore viene scritto ad High l'uscita digitale emette +5V mentre quando Low emette 0V.

Eseguita l'ultima dichiarazione il programma ripete il ciclo "loop", ovviamente non viene ricaricato "setup" che è servito solo la prima volta!.