const int SIG = 5;// SIG pin  
const int EN = 10;// Enable pin 
const int controlPin[4] = {9, 8, 7, 6}; // 4 pins used  for binary output

int loopDelay = 100;// delay in loop

const int muxTable[16][4] = {
  // s0, s1, s2, s3     channel
    {0,  0,  0,  0}, // 0
    {1,  0,  0,  0}, // 1
    {0,  1,  0,  0}, // 2
    {1,  1,  0,  0}, // 3
    {0,  0,  1,  0}, // 4
    {1,  0,  1,  0}, // 5
    {0,  1,  1,  0}, // 6
    {1,  1,  1,  0}, // 7
    {0,  0,  0,  1}, // 8
    {1,  0,  0,  1}, // 9
    {0,  1,  0,  1}, // 10
    {1,  1,  0,  1}, // 11
    {0,  0,  1,  1}, // 12
    {1,  0,  1,  1}, // 13
    {0,  1,  1,  1}, // 14
    {1,  1,  1,  1}  // 15
};

void setup() {
  for(int i=0; i<4; i++)
  {
    pinMode(controlPin[i], OUTPUT);// set pin as output
    digitalWrite(controlPin[i], HIGH); // set initial state as HIGH     
  }
  pinMode(SIG, OUTPUT);// set SIG pin as output
  digitalWrite(SIG, HIGH); // set SIG sends what should be the output
                          // for low trigger relay it should be LOW
                          // for HIGH trigger high it should be HIGH 

  pinMode(EN, OUTPUT);// set EN pin as output
  digitalWrite(EN, LOW); // set EN in (enable pin) Low to activate the chip   
}

void loop() {
//   for(int i=0; i<16; i++)
//   {
    channelControl(1);
    channelControl(5);
//     delay(loopDelay);// wait for loopDelay ms
//   }
// ledChaserFastWave();
}

void channelControl(int relayChannel)
{
    digitalWrite(controlPin[0], muxTable[relayChannel][0]);
    digitalWrite(controlPin[1], muxTable[relayChannel][1]);
    digitalWrite(controlPin[2], muxTable[relayChannel][2]);
    digitalWrite(controlPin[3], muxTable[relayChannel][3]);
}//channelControl end

void ledChaserFastWave() {
  // Maju cepat
  for (int i = 0; i < 16; i++) {
    channelControl(i);
    delay(50); // Delay pendek untuk efek chaser cepat
  }
  
  // Mundur cepat
  for (int i = 14; i >= 0; i--) {
    channelControl(i);
    delay(50); // Delay pendek untuk efek chaser cepat
  }
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
NOCOMNCVCCGNDINLED1PWRRelay Module
relay1:VCC
relay1:GND
relay1:IN
relay1:NC
relay1:COM
relay1:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay2:VCC
relay2:GND
relay2:IN
relay2:NC
relay2:COM
relay2:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay3:VCC
relay3:GND
relay3:IN
relay3:NC
relay3:COM
relay3:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay4:VCC
relay4:GND
relay4:IN
relay4:NC
relay4:COM
relay4:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay5:VCC
relay5:GND
relay5:IN
relay5:NC
relay5:COM
relay5:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay6:VCC
relay6:GND
relay6:IN
relay6:NC
relay6:COM
relay6:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay7:VCC
relay7:GND
relay7:IN
relay7:NC
relay7:COM
relay7:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay8:VCC
relay8:GND
relay8:IN
relay8:NC
relay8:COM
relay8:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay9:VCC
relay9:GND
relay9:IN
relay9:NC
relay9:COM
relay9:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay10:VCC
relay10:GND
relay10:IN
relay10:NC
relay10:COM
relay10:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay11:VCC
relay11:GND
relay11:IN
relay11:NC
relay11:COM
relay11:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay12:VCC
relay12:GND
relay12:IN
relay12:NC
relay12:COM
relay12:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay13:VCC
relay13:GND
relay13:IN
relay13:NC
relay13:COM
relay13:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay14:VCC
relay14:GND
relay14:IN
relay14:NC
relay14:COM
relay14:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay15:VCC
relay15:GND
relay15:IN
relay15:NC
relay15:COM
relay15:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay16:VCC
relay16:GND
relay16:IN
relay16:NC
relay16:COM
relay16:NO
mux1:I15
mux1:I14
mux1:I13
mux1:I12
mux1:I11
mux1:I10
mux1:I9
mux1:I8
mux1:I7
mux1:I6
mux1:I5
mux1:I4
mux1:I3
mux1:I2
mux1:I1
mux1:I0
mux1:COM
mux1:S3
mux1:S2
mux1:S1
mux1:S0
mux1:EN
mux1:VCC
mux1:GND
NOCOMNCVCCGNDINLED1PWRRelay Module
relay17:VCC
relay17:GND
relay17:IN
relay17:NC
relay17:COM
relay17:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay18:VCC
relay18:GND
relay18:IN
relay18:NC
relay18:COM
relay18:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay19:VCC
relay19:GND
relay19:IN
relay19:NC
relay19:COM
relay19:NO
sw1:1
sw1:2
sw1:3
sw2:1
sw2:2
sw2:3
sw3:1
sw3:2
sw3:3