Archive for the ‘Hello World!’ Category

Hello World!

lunedì, marzo 28th, 2011

Nella maggior parte dei linguaggi di programmazione, il primo programma che  si scrive è la stampa della scritta “Hello World!” sullo schermo. Dal momento che una scheda Arduino non dispone di uno schermo, noi ci limiteremo a far lampeggiare un LED. Avremo bisogno di una scheda Arduino UNO, un led rosso o di altri colori che preferite e di una resistenza da 330 ohm  che andremo a collegare in serie al led.

Il collegamento da effettuare sulla scheda è questo:

In pratica abbiamo collegato il led in serie ad una resistenza, dove il piedino meno del led và messo al GND mentre il piedino della resistenza và collegato al pin digitale 13.

Per comodità vi allego una foto su come collegare i led:

Se il led non si dovesse accendere è perchè, probabilmente, lo avete collegato al contrario.

Ora passiamo ad aprire il nostro IDE per programmare Arduino:

Un consiglio che mi sento di darvi è quello di non fare copia e incolla ma di scrivere le varie parti del codice a mano in modo da poter imparare la sintassi delle varie funzioni.

Il codice da scrivere è il seguente:

#define ledPin 13  //LED connesso al pin digitale 13
void setup()
 {
     pinMode(ledPin, OUTPUT);  //Imposto il LED come output
 }
void loop()
 {
     digitalWrite(ledPin, HIGH);  //Accendo il LED
     delay(1000);  //Aspetto un secondo  1000ms = 1s
     digitalWrite(ledPin, LOW);  //Spengo il LED
     delay(1000);  //Aspetto un secondo
 }

Analisi codice:

1- setup (): E’ una funzione che viene chiamata quando si avvia lo sketch. Si usa per inizializzare le variabili,  i pin,  iniziare ad usare le librerie. La funzione di setup viene eseguita una sola volta, dopo ogni accensione o reset della scheda Arduino.

2-pinMode(): Dice ad un pin specifico come comportarsi,  ossia come ingresso(INPUT) o come uscita(OUTPUT). La sintassi è la seguente: pinMode(pin, mode);

3-loop(): Dopo aver creato la funzione setup (), che inizializza e imposta i valori iniziali, la funzione loop () fa esattamente quello che suggerisce il suo nome, ossia il vostro programma gira all’infinito eseguendo le operazioni che sono state scritte al suo interno.

4-digitalWrite(): Questa funzione scrive sul pin desiderato un valore alto (HIGH) oppure basso (LOW). Dove per valore alto si intende +5V mentre per valore basso si intende 0V. La sintassi è la seguente: digitalWrite(pin, valore);

5-delay(): Questa funzione imposta un ritardo in millisecondi tra una funzione è l’altra. La sintassi è la seguente: delay(ms);

6-#define: Serve a definire una costante. Si definisce sempre all’inizio del programma. La sintassi è la seguente: #define costante valore

Per definire il pin che vogliamo usare possiamo anche dichiararlo nella funzione setup() come int ledPin = 13; così facendo dichiariamo una variabile, il che non ha molto senso visto che un pin non cambia mai il proprio identificativo. Inoltre dichiarare il pin con #define ci consente di risparmiare memoria su arduino.