I can’t output my code through demultiplexer with this code. I can only control the select pins. ( THIS IS A coding section for my previous post)
int tDelay = 500;
int latchPin = A0;
int clockPin = A1;
int dataPin = 13;
int buttonPin1 = 2;
int buttonPin2 = 3;
int buttonPin3 = 4;
int buttonPin4 = 5;
int buttonPin5 = 6;
int buttonPin6 = 7;
int buttonPin7 = 8;
int buttonPin8 = 9;
int A = 12;
int B = 11;
int C = 10;
byte leds1 = 0;
byte leds2 = 0;
byte leds3 = 0;
bool button_old1 = true;
bool button_old2 = true;
bool button_old3 = true;
bool button_new1;
bool button_new2;
bool button_new3;
void updateShiftRegister()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds1);
shiftOut(dataPin, clockPin, LSBFIRST, leds2);
shiftOut(dataPin, clockPin, LSBFIRST, leds3);
digitalWrite(latchPin, HIGH);
}
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
pinMode(buttonPin4, INPUT);
pinMode(buttonPin5, INPUT);
pinMode(buttonPin6, INPUT);
pinMode(buttonPin7, INPUT);
pinMode(buttonPin8, INPUT);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
updateShiftRegister();
}
void loop()
{
button_new1 = digitalRead(buttonPin1);
button_new2 = digitalRead(buttonPin2);
button_new3 = digitalRead(buttonPin3);
if(button_new1 != button_old1)
{
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
if(button_new1 == false)
{
leds1 = leds1 << 1;
if(leds1 == 0b00000000)
{
leds1 = 0b00000001;
}
updateShiftRegister();
}
button_old1 = button_new1;
delay(tDelay);
}
if(button_new2 != button_old2)
{
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
if(button_new2 == false)
{
leds2 = leds2 << 1;
if(leds2 == 0b00000000)
{
leds2 = 0b00000001;
}
updateShiftRegister();
}
button_old2 = button_new2;
delay(tDelay);
}
if(button_new3 != button_old3)
{
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
if(button_new3 == false)
{
leds3 = leds3 << 1;
if(leds3 == 0b00000000)
{
leds3 = 0b00000001;
}
updateShiftRegister();
}
button_old3 = button_new3;
delay(tDelay);
}
}