int datapin = 2;
int clockpin = 3;
int latchpin = 4;
int potentiometer = A0;
byte data = 0;
void shiftWrite(int desiredPin, boolean desiredState){
bitWrite(data,desiredPin,desiredState);
shiftOut(datapin, clockpin, MSBFIRST, data);
digitalWrite(latchpin, HIGH);
digitalWrite(latchpin, LOW);
}
void oneAfterAnother(int level)
{
int index;
for(index = 0; index < level; index++)
{
shiftWrite(index, HIGH);
//delay(100);
}
for(index = level; index <= 7; index++)
{
shiftWrite(index, LOW);
}
}
void setup() {
pinMode(datapin, OUTPUT);
pinMode(clockpin, OUTPUT);
pinMode(latchpin, OUTPUT);
pinMode(potentiometer, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
int potVal = analogRead(potentiometer);
oneAfterAnother(potVal / 128);
}