Nell’immagine puoi notare lo schema elettrico del collegamento del LED. I LED, sono dei diodi che emettono luce. Un diodo è un componente che ammette il passaggio di corrente in un solo senso. I diodi hanno due terminali: anodo e catodo. Il flusso di corrente può passare solamente da anodo a catodo, non viceversa. Collegheremo quindi l’anodo a massa, quindi al negativo, mentre il catodo al positivo, ovvero al pin 13. Siccome la tensione dei pin digitali di Arduino è +5v e quella necessaria ad alimentare il LED è di circa 2.1v, è necessario applicare una resistenza da 220 Ohm tra il pin 13 e il catodo. Se vuoi conoscere di più sui diodi ti invito a leggere la pagina di wikipedia.
Passiamo ora ad analizzare la parte di programmazione. Il codice che ho scritto può anche essere trovato negli esempi dell’IDE, in file>esempi>basics>blink.
Nella prima parte, il setup, devi semplicemente definire il pin 13 come pin di OUTPUT, in questo modo:
void setup() {
pinMode(13, OUTPUT);
}
Successivamente nel loop, devi spiegare ad Arduino quali sono le azioni che devono essere ripetute all’infinito. Scrivi:
void loop() {
digitalWrite(13,HIGH);
per associare lo stato logico “alto” al pin 13. Poi digita:
delay (500);
per impostare una pausa di mezzo secondo. Il tempo viene riconosciuto come millisecondi, occorre quindi scrivere “500”. Ora, per far spegnere il LED, devi scrivere:
digitalWrite(13,LOW);
in questo modo assocerai lo stato logico “basso” al pin 13, di conseguenza non passerà corrente. Inserisci infine un’altra pausa e il gioco è fatto!
delay (500);
}
Ecco quindi il codice completo:
void setup(){
pinMode(13, OUTPUT);
}
void loop(){
digitalWrite(13,HIGH); //led acceso
delay (500); //ritardo
digitalWrite(13,LOW); //led spento
delay (500); //ritardo
}
È importante notare la presenza di parti di testo che non fanno parte del codice; sono i commenti. Essi servono per scrivere delle annotazioni che solo il programmatore può vedere. Un commento di una riga si può scrivere con //
seguito dal testo, mentre uno milti linea si scrive con /*
all’inizio e */
alla fine:
/*commento multi linea
...
...
*/
//commento a una riga
Infine voglio farti notare che ogni istruzione, nel linguaggio di Arduino, termina con ;
. È bene quindi ricordare di scriverlo sempre, altrimenti il programma non funzionerà correttamente!
Per questa guida è tutto, nella prossima vedremo qualcosa di un po’ più complicato, sempre utilizzando le funzioni imparate in questo articolo.
Nel codice completo, parte setup, c’è un errore. Non è
pinMode(13, HIGH);
ma
pinMode(13, OUTPUT);
Ciao!
Ciao, grazie per la segnalazione, provvederò subito a correggere l’errore 😉