Precedente Indice Successiva

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à
© Ing. Stefano Salvi - released under FDL licence

Valid XHTML 1.0! Valid CSS!