La scheda elettronica Arduino Uno (o compatibile) è formata da 6 ingressi analogici (da A0 ad A5) e da 14 porte digitali (input/output), di cui sei definite PWM, evidenziate dal simbolo del tilde (~).
Le porte PWM di Arduino Uno sono la numero: 3, 5, 6, 9, 10 e 11.
La porta PWM consente di “trasformare” un uscita digitale in analogica; così facendo non si invia un valore digitale (zero o uno, quindi spento o accesso) ma una tensione variabile, che nel caso del led consentirà, di realizzare l’effetto fade, ovvero una dissolvenza continua sia in entrata che in uscita.
Effetto fade su led
Lo schema è il solito visto più volte nel corso di queste lezioni. Comunque riepilogando basta avere una basetta e collegare un led, una resistenza da 220 Ohm e il cavo nero (dal polo negativo del led/resistenza) alla massa e il cavo rosso (dal polo positivo/resistenza) ad una porta digitale PWM.
int lucentezza = 0; // definisce la variabile “lucentezza” con valore iniziale 0
int incremento = 5; // definisce la variabile “incremento” con valore 5
//
void setup ()
{
pinMode (9, OUTPUT); // definisce la porta 9 come porta di output
}
//
void loop()
{
analogWrite (9, lucentezza); // invia alla porta 9 una tensione pari a (5/255) * lucentezza
lucentezza = lucentezza + incremento; // modifica il valore di lucentezza
if (lucentezza == 0 || lucentezza == 255) /* il simbolo || e’ un operatore booleano che
rappresenta la “or” mentre == e’ il simbolo convenzionalmente utilizzato per verificare la
condizione di uguaglianza. Non viene utilizzato il normale simbolo = poiche’ il programma lo
interpreterebbe come l’assegnazione di un valore es. lucentezza = 0 verrebbe interpretato
come “assegna 0 alla variabile lucentezza” – The combination ” || ” is a Boolean operator that
represents the “or”, while ” == ” symbol is conventionally used to indicate a condition of
equality. Is not used the normal symbol ” = ” because the program interprets it as an assigning
value. Example: lucentezza = 0 would be interpreted as “assigns 0 to the variable lucentezza
(brightness)” */
{
incremento = incremento *-1; /* se la lucentezza ha raggiunto gli estremi ( 0 oppure 255) cambia
segno all’incremento (lo si moltiplica per -1 e quindi se era 5 lo fa diventare -5 e viceversa) – if
the brightness has reached the extremes (0 or 255) changes sign to the increase (multiplies it by -1
and if it was 5, becomes -5, and vice versa) */
}
delay (50); //attende 50 millisecondi prima di ricominciare il ciclo
}
Perchè mi arriva una mail dalle poste che non ho effettuato il bonifico di un euro quando in realtà è…
ciao, nel localizzatore TK905 dovrei cambiare la sim Vodafone con una Tim con un numero nuovo, ci possono essere problemi…
Ripropongo quanto già detto ma senza risposta; chiaro il contenuto ma quando inserisco ma quando inserisco il disco esterno questo…
Buongiorno, Io ho perso la targhetta con l’IMEI del mio dispositivo. C'è modo di recuperarlo, magari attraverso il numero di…
sto cercando i miei antenati grazie