Differenze tra le versioni di "Arduino, led e resistenze"
(Nuova pagina lezione arduino, da terminare) |
m (Riordinamento guida, template) |
||
(Una versione intermedia di un altro utente non mostrate) | |||
Riga 1: | Riga 1: | ||
+ | {{Guide | ||
+ | |immagine=Pulsante-arduino.gif | ||
+ | |guida=Arduino | ||
+ | |precedente=Installare_l'IDE_Arduino | ||
+ | |indice=Elettronica_Opensource | ||
+ | |successiva=Arduino_e_sensori_digitali}} | ||
+ | |||
Di solito in programmazione, per provare un nuovo linguaggio, il primo codice che si scrive è l'[http://www.example.com Hello World], un programma che non fa altro che scrivere il messaggio "Ciao Mondo". L'equivalente su Arduino è l'Hello Blink: far lampeggiare un led. | Di solito in programmazione, per provare un nuovo linguaggio, il primo codice che si scrive è l'[http://www.example.com Hello World], un programma che non fa altro che scrivere il messaggio "Ciao Mondo". L'equivalente su Arduino è l'Hello Blink: far lampeggiare un led. | ||
Versione attuale delle 20:28, 1 giu 2018
Stai leggendo la guida "Arduino"
Di solito in programmazione, per provare un nuovo linguaggio, il primo codice che si scrive è l'Hello World, un programma che non fa altro che scrivere il messaggio "Ciao Mondo". L'equivalente su Arduino è l'Hello Blink: far lampeggiare un led.
L'elettronica e i piedini
Un led è quasi come una lampadina, alimentandolo si accende di un determinato colore. Le particolarità di questo sono:
- bassa tensione e corrente richiesta, infatti i comuni LED 'non di potenza (che si trovano anche all'interno dei case dei computer) sopportano una corrente massima di 30 mA, e superandola si rischia di bruciarli. La tensione varia invece in base al colore, e di solito vale il seguente schema; nonostante ciò sono molto luminosi, e si trovano sempre più spesso in giro.
Colore | Tensione [V] |
Infrarosso | 1.3 |
Rosso | 1.8 |
Giallo | 1.9 |
Verde | 2.0 |
Blu | 3.5 |
- singola direzione di alimentazione: il LED è acronimo di Diodo ad Emissione Luminosa, e il diodo è un componente che consente il flusso i corrente in un singolo verso; quindi il led avrà un polo positivo, l'anodo, che va verso una zona di potenziale (tensione) maggiore, e un polo negativo, il catodo, che va verso massa (o zona di potenziale minore). I due piedini si distinguono perché hanno lunghezza diversa, e il catodo è quello più corto (a meno che il LED non sia recuperato da una scheda saldata, in quel caso i piedini sono stati ovviamente tagliati alla stessa dimensione), inoltre la testa in plastica presenta un taglio dalla parte del catodo, come visibile in figura.
Per collegare questo componente alla scheda bisogna prestare queste particolari attenzioni: la scheda lavora ad una tensione di 5V, circa il triplo di quella di un LED rosso. Fra lui e la sorgente di tensione si mette una resistenza, componente che limita la corrente trasformandola in calore. Il valore della resistenza necessaria si trova attraverso la legge di Ohm, che lega appunto tensione (V), corrente (I), e resistenza (R).
V = I x R
Nel circuito abbiamo la sorgente di tensione a 5v, la resistenza e il led (per esempio di colore rosso). Sul LED cade una tensione di 1.5V, secondo la tabella, quindi sulla resistenza cadranno 5V-1.5V = 3.5V
. Inoltre vogliamo mantenere la corrente a 20mA (0.02A), quindi possiamo applicare la legge di Ohm sulla resistenza:
3.5V = 0.02A x R R = 3.5V / 0.02A = 175 Ω
Il valore reperibile sul mercato è di 180 Ω, poco di più ed è accettabile. In negozio verrà chiesto anche un'altro parametro: la potenza; è quanta corrente e tensione la resistenza può sopportare, e i tagli di uso comune sono da 1/8 di Watt, 1/4 W, 1/2 W e 1 W. In questo caso, secondo la formula P = V x I = 3.5 V * .0.2A = 0.07 W
vanno benissimo tutte, perché dissipa una potenza veramente esigua.
La programmazione
Il linguaggio C++ di Arduino contiene degli adattamenti per poter interagire con l'hardware. La struttura base richiede le due funzioni void setup() e void loop(): nella prima si scrivono i comandi che devono essere eseguiti solo una volta, all'accensione della scheda, mentre ciò che è scritto nel loop viene eseguito ciclicamente finché non si toglie l'alimentazione.
blink.ino #define LED1 13 #define LED2 12 void setup() { pinMode(led1,OUTPUT); pinMode(led2,OUTPUT); } void loop() { digitalWrite(led1,HIGH); digitalWrite(led2,LOW); delay(500); digitalWrite(led1,LOW); digitalWrite(led2,HIGH); delay(500); }
Solitamente si memorizzano come costanti i valori dei piedini utilizzati, in modo da avere un identificatore per quel pin e non dover modificare tutto il programma ogni volta che si cambiano i collegamenti; poi con pinMode impostiamo se usare un pin come input o come output. Le uniche funzioni che servono per i led sono digitalWrite e delay(500). Con la prima si imposta lo stato dei piedini: HIGH o LOW. digitalWrite(led1,HIGH);, ad esempio, imposta lo stato di led1, ovvero il pin 13, a HIGH: su quel piedino la tensione sarà di 5v. delay(500), invece, è una pausa di 500 millisecondi (mezzo secondo).