PrinceMatthew
Published © CC BY-NC-ND

Bar Graph

Ten LEDs connected to an Arduino Uno and a potentiometer.

BeginnerFull instructions provided30 minutes28,192
Bar Graph

Things used in this project

Hardware components

LED (generic)
LED (generic)
×10
Arduino UNO
Arduino UNO
×1
Resistor 221 ohm
Resistor 221 ohm
×10
Jumper wires (generic)
Jumper wires (generic)
×13
Rotary potentiometer (generic)
Rotary potentiometer (generic)
×1

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Schematics

Bar Graph

Code

Graph

C/C++
const int analogPin = A0;   // the pin that the potentiometer is attached to
const int ledCount = 10;    // the number of LEDs in the bar graph

int ledPins[] = {
  2, 3, 4, 5, 6, 7, 8, 9, 10, 11
};   // an array of pin numbers to which LEDs are attached


void setup() {
  // loop over the pin array and set them all to output:
  for (int thisLed = 0; thisLed < ledCount; thisLed++) {
    pinMode(ledPins[thisLed], OUTPUT);
  }
}

void loop() {
  // read the potentiometer:
  int sensorReading = analogRead(analogPin);
  // map the result to a range from 0 to the number of LEDs:
  int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);

  // loop over the LED array:
  for (int thisLed = 0; thisLed < ledCount; thisLed++) {
    // if the array element's index is less than ledLevel,
    // turn the pin for this element on:
    if (thisLed < ledLevel) {
      digitalWrite(ledPins[thisLed], HIGH);
    }
    // turn off all pins higher than the ledLevel:
    else {
      digitalWrite(ledPins[thisLed], LOW);
    }
  }
}

Credits

PrinceMatthew

PrinceMatthew

6 projects • 58 followers
Having fun while coding 🔥

Comments