const uint8_t controlPins[] = {27,26,25,14 };
byte deplex[9] = {
0b0001, //Off
0b0000, //Pin 1
0b0011, //Pin 2
0b0101, //Pin 3
0b0111, //Pin 4
0b1001, //Pin 5
0b1011, //Pin 6
0b1101, //Pin 7
0b1111 //Pin 8
};
void writeToDeplex(byte plexlist[9], uint8_t outselect){
digitalWrite(controlPins[3], HIGH);
digitalWrite(controlPins[0], plexlist[outselect] & 1);
digitalWrite(controlPins[1], plexlist[outselect] & plexlist[outselect] >> 1);
digitalWrite(controlPins[2], plexlist[outselect] & plexlist[outselect] >> 2);
digitalWrite(controlPins[3], plexlist[outselect] & plexlist[outselect] >> 3);
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
for (int i = 0; i < 4; ++i)
{
pinMode(controlPins[i], OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int i = 0; i < 9; i ++)
{
writeToDeplex(deplex,i);
delay(200);
}
}
Loading
cd74hc4067
cd74hc4067