Menu
CoddyTech

Grafico a barre con potenziometro

Fa parte della sezione Uscite del percorso Arduino di Coddy. Lezione 18 di 24.

Una fila di LED può mostrare un numero come una barra: più LED sono accesi, più grande è il numero. Qui il numero proviene dalla manopola.

Per prima cosa trasforma la lettura nel numero di LED da accendere, da 0 a 5:

int count = map(analogRead(A0), 0, 1023, 0, 5);

Poi visita ogni LED con un ciclo for e decidi per ciascuno. I LED prima della posizione count sono accesi, gli altri sono spenti:

for (int i = 0; i < 5; i++) {
  if (i < count) {
    digitalWrite(ledPins[i], HIGH);
  } else {
    digitalWrite(ledPins[i], LOW);
  }
}

else è importante: quando abbassi la manopola, è ciò che spegne i LED che non fanno più parte della barra.

challenge icon

Sfida

Medio

La manopola è su A0 e i LED sono in ledPins. Crea un grafico a barre:

  • trasforma la lettura in un conteggio da 0 a 5 con map()
  • accendi quel numero di LED, partendo dal primo nell’array, e spegni gli altri
  • attendi 10 ms, poi ripeti

Premi Run e gira la manopola, poi premi Check.

Provalo tu

const int knobPin = A0;
int ledPins[] = {2, 3, 4, 5, 6};

void setup() {
  for (int i = 0; i < 5; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

void loop() {
  // converti la lettura in un conteggio da 0 a 5
  // accendi i primi LED in numero pari al conteggio e spegni gli altri
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Uscite

Esercitati da solo: Playground Arduino