Menu
CoddyTech

Gráfico de barras con potenciómetro

Parte de la sección Salidas del Journey de Arduino de Coddy. Lección 18 de 24.

Una fila de LED puede mostrar un número como una barra: cuantos más LED estén encendidos, mayor será el número. Aquí, el número proviene de la perilla.

Primero convierte la lectura en cuántos LED encender, de 0 a 5:

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

Después, recorre cada LED con un bucle for y decide para cada uno. Los LED anteriores a la posición count están encendidos; el resto están apagados:

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

El else es importante: cuando bajas la perilla, es lo que apaga los LED que ya no forman parte de la barra.

challenge icon

Desafío

Intermedio

El potenciómetro está conectado a A0 y los LED están en ledPins. Haz un gráfico de barras:

  • convierte la lectura en un conteo de 0 a 5 con map()
  • enciende esa cantidad de LED, empezando por el primero del arreglo, y apaga los demás
  • espera 10 ms y luego repítelo

Pulsa Run y gira el potenciómetro; después, pulsa Check.

Pruébalo tú mismo

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() {
  // convierte la lectura en un número de 0 a 5
  // enciende los primeros LED según ese número y apaga los demás
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Salidas

Practica por tu cuenta: Playground de Arduino