#define SHCP 5
#define STCP 6
#define DS 7
const uint16_t led[] = {
0b0111111111111111,
0b1011111111111111,
0b1101111111111111,
0b1110111111111111,
0b1111011111111111,
0b1111101111111111,
0b1111110111111111,
0b1111111011111111,
0b1111111101111111,
0b1111111110111111,
0b1111111111011111,
0b1111111111101111,
0b1111111111110111,
0b1111111111111011,
0b1111111111111101,
0b1111111111111110,
0b1111111111111101,
0b1111111111111011,
0b1111111111110111,
0b1111111111101111,
0b1111111111011111,
0b1111111110111111,
0b1111111101111111,
0b1111111011111111,
0b1111110111111111,
0b1111101111111111,
0b1111011111111111,
0b1110111111111111,
0b1101111111111111,
0b1011111111111111,
0b0111111111111111
/*
0b1111111111111111,
0b0000000000000000,
0b1111111111111111,
0b0000000000000000,
0b1111111111111111,
0b0000000000000000,
0b1111111111111111,
0b0111111111111110,
0b1011111111111101,
0b1101111111111011,
0b1110111111110111,
0b1111011111101111,
0b1111101111011111,
0b1111110110111111,
0b1111111001111111,
0b1111110110111111,
0b1111101111011111,
0b1111011111101111,
0b1110111111110111,
0b1101111111111011,
0b1011111111111101,
0b0111111111111110,
0b1111111111111111
*/
};
void setup() {
pinMode(SHCP, OUTPUT);
pinMode(STCP, OUTPUT);
pinMode(DS, OUTPUT);
}
void show74595(uint16_t data) {
for (int i = 15; i >= 0; i--) {
digitalWrite(SHCP, LOW);
digitalWrite(DS, bitRead(data, i));
digitalWrite(SHCP, HIGH);
}
digitalWrite(STCP, LOW);
digitalWrite(STCP, HIGH);
}
void showled(uint16_t *p, int n) {
for (int i = 0; i < n; i++) {
show74595(*(p + i));
delay(300);
}
}
void loop() {
showled(led, sizeof(led) / sizeof(led[0]));
}