GRÁFICOS DE BARRAS LED

Gráfico de barras LED

El gráfico de barras, una serie de LED en una línea, como se ve en una pantalla de audio, es una pantalla de hardware común para sensores analógicos. Se compone de una serie de LED en una fila, una entrada analógica como un potenciómetro y un pequeño código en medio. Puede comprar pantallas de gráficos de barras multi-LED bastante baratas, como esta . Este tutorial muestra cómo controlar una serie de LED en una fila, pero se puede aplicar a cualquier serie de salidas digitales.
Este tutorial se basa en el tutorial For Loop and Arrays , así como en el de entrada analógica .
Una pantalla gráfica de barras

Hardware requerido

  • Arduino o Genuino Board
  • Pantalla gráfica de barras LED o 10 LEDs
  • Potenciómetro
  • 10 resistencias de 220 ohmios
  • cables de conexión
  • tablero de circuitos

Circuito

haga clic en la imagen para agrandar
Imagen desarrollada utilizando Fritzing . Para más ejemplos de circuitos, vea la página del proyecto Fritzing
Esquemático:
haga clic en la imagen para agrandar

Código

El boceto funciona así: primero lees la entrada. Asigna el valor de entrada al rango de salida, en este caso diez LED . A continuación, configura un bucle for para iterar sobre las salidas. Si el número de salida en la serie es más bajo que el rango de entrada mapeado, enciéndalo. Si no, apágalo.

const int analogPin =A0   // el pin que el potenciómetro está conectado a
const int ledCount 10    // el número de LED en el gráfico de barras 

int ledPins 
  10 11 
  // una matriz de números de pin a la que los LED están unidos 


void setup 
  // bucle sobre la matriz de pines y establecer todos ellos a la salida: 
  para int thisLed ; thisLed < ledCount ; thisLed ++ 
    pinMode ( ledPins [ thisLed OUTPUT 
  


Void loop 
  // leer el potenciómetro: 
  int sensorReading analogRead ( analogPin 
  // asigna el resultado a un rango de 0 a la cantidad de LED: 
  int ledLevel map (sensorReading 1023 , ledCount 

  // bucle sobre la matriz de LED: 
  para int thisLed ; thisLed < ledCount ; thisLed ++ 
    // si el índice del elemento de la matriz es menor que ledLevel, 
    // encienda el pin para este elemento: 
    if ( thisLed < ledLevel 
      digitalWrite ( ledPins [ thisLed HIGH ;
    
    // desactivar todos los pines más altos que ledLevel: 
    else 
      digitalWrite ( ledPins [ thisLed LOW 
    
  
}

MASE

MASE PERU