Hello. I have connected board like this:
- potentiometer connected to PIN A0.
I have modified code from click
After modified:
int latchPin = 4;
int clockPin = 5;
int dataPin = 3;
int potPin = 0;
int potVal = 0;
byte leds = 0;
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop()
{
updateShiftRegister();
potVal = analogRead(potPin);
if(potVal <= 63&& potVal > 5)
{
bitSet(leds,0);
updateShiftRegister();
}
else if(potVal > 63&& potVal <= 126)
{
bitSet(leds,1);
updateShiftRegister();
}
else if(potVal > 126&& potVal <= 189)
{
bitSet(leds,2);
updateShiftRegister();
}
else if(potVal > 189&& potVal <= 252)
{
bitSet(leds,3);
updateShiftRegister();
}
else if(potVal > 252&& potVal <= 315)
{
bitSet(leds,4);
updateShiftRegister();
}
else if(potVal > 315&& potVal <= 378)
{
bitSet(leds,5);
updateShiftRegister();
}
else if(potVal > 378&& potVal <= 441)
{
bitSet(leds,6);
updateShiftRegister();
}
else if(potVal > 441&& potVal <= 504)
{
bitSet(leds,7);
updateShiftRegister();
}
else if(potVal > 504&& potVal <= 567)
{
bitSet(leds,8);
updateShiftRegister();
}
else if(potVal > 567&& potVal <= 630)
{
bitSet(leds,9);
updateShiftRegister();
}
else if(potVal > 630&& potVal <= 693)
{
bitSet(leds,10);
updateShiftRegister();
}
else if(potVal > 693&& potVal <= 756)
{
bitSet(leds,11);
updateShiftRegister();
}
else if(potVal > 756&& potVal <= 819)
{
bitSet(leds,12);
updateShiftRegister();
}
else if(potVal > 819&& potVal <= 882)
{
bitSet(leds,13);
updateShiftRegister();
}
else if(potVal > 882&& potVal <= 945)
{
bitSet(leds,14);
updateShiftRegister();
}
else if(potVal > 945&& potVal <= 1023)
{
bitSet(leds,15);
updateShiftRegister();
}
if(potVal < 945)
{
bitClear(leds,15);
}
if(potVal < 882)
{
bitClear(leds,14);
}
if(potVal < 819)
{
bitClear(leds,13);
}
if(potVal < 756)
{
bitClear(leds,12);
}
if(potVal < 693)
{
bitClear(leds,11);
}
if(potVal < 630)
{
bitClear(leds,10);
}
if(potVal < 567)
{
bitClear(leds,9);
}
if(potVal < 504)
{
bitClear(leds,8);
}
if(potVal < 441)
{
bitClear(leds,7);
}
if(potVal < 378)
{
bitClear(leds,6);
}
if(potVal < 315)
{
bitClear(leds,5);
}
if(potVal < 252)
{
bitClear(leds,4);
}
if(potVal < 189)
{
bitClear(leds,3);
}
if(potVal < 126)
{
bitClear(leds,2);
}
if(potVal < 63)
{
bitClear(leds,1);
}
if(potVal <5)
{
bitClear(leds,0);
}
}
void updateShiftRegister(){
digitalWrite(latchPin, LOW);
shiftOut(dataPin,clockPin,MSBFIRST,leds);
digitalWrite(latchPin,HIGH);
}
and the problem is that I have 2 pcs of 74HC595 and I don't know how can I change the code to work properly. Now I can turn on 2 led at the same time. I can't control each led "one by one" > 1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16.
Regards