Nell’articolo precedente abbiamo spiegato l’operatività delle funzioni digitalWrite(), digitalRead() e pinMode(). In questo articolo si vedrà come utilizzare effettivamente queste istruzioni in un programma.
In particolar modo vi sarà un tutorial riguardante l’accensione di un LED. In seguito sarà utilizzato un bottone tramite il quale sarà possibile spegnere ed accendere il LED.
Ecco i componenti richiesti per il primo circuito:
- (1) x Elegoo UNO R3
- (1) x LED rosso da 5mm
- (1) x Resistenza da 220 ohm
- (1) x Resistenza da 1k ohm
- (1) x Resistenza da 10k
- (2) x M-M connettori (Connettori maschio-maschio)
I LED sono ottimi indicatori luminosi. Attenzione, non è possibile collegare direttamente il LED alla board di Arduino, poichè:
- Il LED ha un polo positivo ed uno negativo (il polo positivo corrisponde al piedino più lungo)
- Per far si che il LED non si bruci nel momento dell’accensione è reso necessario l’uso di una resistenza. Le resistenze si oppongono al flusso di elettricità. Più è alto il valore della resistenza meno corrente fluirà attraverso di esso. A differenza dei LED, le resistenze non hanno un polo negativo ed uno positivo, e possono essere collegate indifferentemente in un verso o nell’altro.
Il diagramma di collegamento è il seguente:
Ecco il codice che permette di far lampeggiare il led in dato intervallo di tempo:
1 2 3 4 5 6 7 8 9 10 11 12 |
#define LED 12 // LED collegato al pin digitale 12 void setup() { pinMode(LED, OUTPUT); // imposta il pin digitale a cui è collegato il LED come output } void loop() { digitalWrite(LED, HIGH); // accende il LED delay(1000); // aspetta un secondo digitalWrite(LED, LOW); // spegne il LED delay(1000); // aspetta un secondo } |
Nel secondo sketch saranno utilizzati un bottone e un LED. Se si preme il bottone il LED si accenderà.
I materiali da utilizzare sono i seguenti:
- (1) x Elegoo UNO R3
- (1) x LED rosso da 5mm
- (1) x Resistenza da 220 ohm
- (1) x Bottone
Ecco il diagramma di collegamento:
Gli interruttori sono componenti molto semplici. Quando premi un bottone vengono connessi due contatti, in modo che l’elettricità possa fluire attraverso di essi. Il piccolo interruttore tattile che viene utilizzato in questa lezione ha quattro connessioni.
Nonostante il corpo dell’interruttore sia quadrato, i pin sporgono da due lati opposti dell’interruttore. Questo significa che i pin permettono l’inserimento dell’interruttore solamente in un verso sulla breadboard, questo è l’unico verso corretto per evitare cortocircuiti.
Ecco il secondo sketch:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
int ledPin = 13; // LED connesso al pin digitale13 int inPin = 7; // pulsante connesso al pin digitale7 int val = 0; // variabile che memorizza il valore letto void setup( ) { pinMode(ledPin, OUTPUT); // imposta il pin digitale 13 come OUTPUT pinMode(inPin, INPUT); // imposta il pin digitale 7 come INPUT } void loop( ){ val = digitalRead(inPin); // legge il valore della tensione in ingresso del bottone e lo assegna a val digitalWrite(ledPin, val); // imposta il LED a seconda dell'azione svolta // sul pulsante } |
Link guida:
- Arduino IDE: le istruzioni di tipo Digital I/O #11
- Arduino IDE: come creare una libreria #10.2
- Arduino IDE: come installare una libreria #10.1
- Arduino IDE: che cos’è una libreria #10
- Arduino IDE: funzioni e LED RGB #9.1
- Arduino IDE: cosa sono le funzioni #9
- Arduino IDE: comporre canzoni con un array #8.1
- Arduino IDE: che cos’è un array o vettore #8
- Arduino IDE: led RGB e cicli for, while e do while #7
- Arduino IDE: ciclo for e differenze con while e do while #6
- Arduino IDE: ciclo while e do while #5
- Arduino IDE: accendere led con un bottone (if) #4.1
- Arduino IDE: la struttura condizionale IF #4
- Arduino IDE: operatori aritmetici, relazione e logici #3
- Arduino IDE: variabili, costanti e macro #2
- Arduino IDE: in che maniera si crea un programma? #1
- Arduino IDE: che cos’è e come funziona #0
Link utili
- Arduino UNO R3
- Elegoo UNO R3
- Arduino Starter Kit per principianti
- Elegoo Advanced Starter Kit
- Arduino Nano
Seguici per non perdere le prossime novità!