const int dataPin = 8;
const int clockPin = 9;
const int strobePin = 10;
const int oePin = 11;
void setup() {
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(strobePin, OUTPUT);
pinMode(oePin, OUTPUT);
Serial.begin(115200);
digitalWrite(oePin, HIGH);
}
void loop() {
for (int i = 0; i < 256; i++) {
sendTo4094(i);
Serial.println(i);
delay(1000);
}
}
void sendTo4094(int data) {
digitalWrite(strobePin, LOW);
for (int i = 7; i >= 0; --i) {
digitalWrite(dataPin, (data >> i) & 1);
digitalWrite(clockPin, HIGH);
digitalWrite(clockPin, LOW);
}
digitalWrite(strobePin, HIGH);
digitalWrite(strobePin, LOW);
}