page7
Utilizziamo lo sketch riportato in figura : a riga 13 ed a riga 20 si nota l’utilizzo della funzione
analogWrite con i due argomenti che indicano il pin sul quale settare il voltaggio in uscita ed
un numero intero compreso tra 0 e 255 (come indicato nel prospetto nella figura  della pagina
precedente, il valore 0 corrisponde a 0 Volt, il valore 255 a 5 Volt ed i valori intermedi producono voltaggi proporzionali a questi due voltaggi minimo e massimo).
Per costruire la rampa crescente (righe 12-15) e quella discendente (righe 19-22) abbiamo utilizzato due cicli ‘for’: ricordano un po’ i blocchi “ripeti N volte” di Scratch, ma sono molto più ricchi, dato che permettono anche la definizione al volo di variabili che possono essere utilizzate proprio per scandire i passi all’interno del ciclo (nello sketch, le variabili di nome “valore”).

In questo progetto utilizzeremo il sensore più semplice: un bottone. È di sicuro un sensore digitale, perché potrà essere posizionato in due soli stati: aperto o chiuso (visto che sarà inserito all’interno di un circuito, significa che metterà o meno in contatto due parti del circuito, chiudendo quindi un percorso). I bottoni più comuni sono come quello della figura : hanno quattro piedini che sono già collegati a due a due (nel disegno, quelli sulla stessa riga, caratterizzati dalla stessa lettera a oppure b), e -quando si preme il pulsante- quelli sopra e quelli sotto si mettono in contatto.
Per leggere lo stato del bottone, predisporremo uno dei pin digitali (ad esempio il numero 2) in modalità di acquisizione grazie all’istruzione pinMode(2, INPUT) e poi leggeremo la tensione presente sul pin utilizzando l’istruzione digitalRead(2): questa funzione restituirà un valore intero che può essere HIGH oppure LOW (ovvero il pin in oggetto si trova in prossimità del punto più alto dello scivolo, o viceversa sarà vicino a terra: cioè a dire, il voltaggio del pin sarà vicino a 5 Volt oppure a 0 Volt).
7. Passiamo agli input: il digitale
Sketch per il LED analogico
Diciamo subito che il primo tipo di circuito che ci viene in mente di provare (ovvero quello descritto in figura ) non funziona: se portiamo i 5 Volt col cavetto rosso su un lato a del bottone e proviamo a collegare l’altra estremità b direttamente sul pin che andremo a leggere (cavetto verde), otterremo spesso letture casuali.
Chiudendo l’interruttore anche il cavetto verde andrà a 5 Volt e leggeremo HIGH; ma quando l’interruttore è aperto, il filo verde è volante: non è collegato cioè a nessun circuito, quindi su questa estremità si può generare del rumore e il valore letto sarà indefinito.

Bottone collegato male
a
b
a
b
Trovi questo ed altri tutorial su coderdojotrento.it
Realizzato con il supporto di CoderDolomiti.
Pag.
<number>/11
Licenza: CC-BY Alessandro Ebranati, CoderDojo Trento
Quest'opera è distribuita con Licenza Creative Commons Attribuzione 4.0 Unported