Arduino - 23

# Uscite analogiche

- L'ultimo esempio tocca l'ultima caratteristica base dell'Arduino: quella di poter fornire una tensione analogica, che varia da 0V a 5V, in 256 passi
- In realtà Arduino non produce una tensione costante sui suoi piedini, ma una forma d'onda il cui valor medio è la tensione richiesta, secondo al tecnica Pulse Width Modulation o PWM
- Per ottenere una tensione continua occorrerebbe un filtro che elimini la componente alternata del segnale, restituendone il valor medio.
- Nel nostro caso, dato che regoleremo la luce dei led del display, questo filtro non serve perché è il nostro stesso occhio che non rileva la componente alternata
- Non tutte le uscite digitali dell'Arduino possono produrre il segnale PWM, ma alcuni segmenti (a, b, c, d ed f) possono essere regolati
- Scriveremo allora una semplice funzione luce(<livello>) che regolerà la luminosità dei segmenti regolabili su 16 diversi livelli
- All'interno di questa funzione utilizzeremo la funzione analogWrite (<segmento>,i); dove i è il livello di luminosità, tra 0 e 255 e <segmento> il segmento di cui regolare la luminosità
- Dato che non tutti i segmenti sono regolabili, questa volta li regoleremo chiamando la funzione singolarmente per ogni segmento interessato
- Nella funzione loop() modificheremo il codice dei tasti dell'esempio precedente per aumentare, ridurre o riportare al 50% la luminosità

Visualizza Sorgente “esempio_09_pwm.ino” Scarica sorgente “esempio_09_pwm.ino”
© Ing. Stefano Salvi - released under FDL licence