5 – LED Bargraph

5 LED bargraph

 

/*
LED bar graph

Turns on a series of LEDs based on the value of an analog sensor.
This is a simple way to make a bar graph display. Though this graph
uses 10 LEDs, you can use any number by changing the LED count
and the pins in the array.

This method can be used to control any series of digital outputs that
depends on an analog input.

The circuit:
* LEDs from pins 2 through 11 to ground

created 4 Sep 2010
by Tom Igoe

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/BarGraph
*/

const int analogPin = A0; // the pin that the potentiometer is attached 
const int ledCount = 9; // the number of LEDs
int ledPins[] = {2,3,4,5,6,7,8,9,10}; // pins that LEDs are attached to
void setup() { 
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
pinMode(ledPins[thisLed], OUTPUT); // sets the led pins as an output 
}
}
void loop() { //  starts a loop
int sensorReading = analogRead(analogPin);  // analog input
int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
if (thisLed < ledLevel) {
digitalWrite(ledPins[thisLed], HIGH); // turns LEDs on in sequence
} 
else {
digitalWrite(ledPins[thisLed], LOW); // turns LEDs off in sequence
}
}
}