// Include the library: #include // Define the connections pins: #define CLK 2 #define DIO 3 int b1=0; int b2=0; // Create display object of type TM1637Display: TM1637Display display = TM1637Display(CLK, DIO); const uint8_t topLine[] = { SEG_E | SEG_G | SEG_B, SEG_E | SEG_G | SEG_B, SEG_E | SEG_G | SEG_B, SEG_E | SEG_G | SEG_B, }; const uint8_t bottomLine[]{ SEG_F | SEG_G | SEG_C, SEG_F | SEG_G | SEG_C, SEG_F | SEG_G | SEG_C, SEG_F | SEG_G | SEG_C, }; const uint8_t circle1a[]{ SEG_D, 0x00, 0x00, 0x00}; const uint8_t circle2a[]{ SEG_E, 0x00, 0x00, 0x00}; const uint8_t circle3a[]{ SEG_F, 0x00, 0x00, 0x00}; const uint8_t circle4a[]{ SEG_A, 0x00, 0x00, 0x00}; const uint8_t circle5a[]{ SEG_B, 0x00, 0x00, 0x00}; const uint8_t circle6a[]{ SEG_C, 0x00, 0x00, 0x00}; const uint8_t circle1b[]{ 0x00, SEG_D,0x00, 0x00}; const uint8_t circle2b[]{ 0x00, SEG_E,0x00, 0x00}; const uint8_t circle3b[]{ 0x00, SEG_F,0x00, 0x00}; const uint8_t circle4b[]{ 0x00, SEG_A,0x00, 0x00}; const uint8_t circle5b[]{ 0x00, SEG_B,0x00, 0x00}; const uint8_t circle6b[]{ 0x00, SEG_C,0x00, 0x00}; const uint8_t circle1c[]{ 0x00, 0x00, SEG_D,0x00}; const uint8_t circle2c[]{ 0x00, 0x00, SEG_E,0x00}; const uint8_t circle3c[]{ 0x00, 0x00, SEG_F,0x00}; const uint8_t circle4c[]{ 0x00, 0x00, SEG_A,0x00}; const uint8_t circle5c[]{ 0x00, 0x00, SEG_B,0x00}; const uint8_t circle6c[]{ 0x00, 0x00, SEG_C,0x00}; const uint8_t circle1d[]{ 0x00, 0x00, 0x00, SEG_D}; const uint8_t circle2d[]{ 0x00, 0x00, 0x00, SEG_E}; const uint8_t circle3d[]{ 0x00, 0x00, 0x00, SEG_F}; const uint8_t circle4d[]{ 0x00, 0x00, 0x00, SEG_A}; const uint8_t circle5d[]{ 0x00, 0x00, 0x00, SEG_B}; const uint8_t circle6d[]{ 0x00, 0x00, 0x00, SEG_C}; const uint8_t h[]{ 0x00, 0x00, 0x00, SEG_E | SEG_F | SEG_G | SEG_B | SEG_C}; const uint8_t hi[]{ 0x00,0x00, SEG_E | SEG_F | SEG_G | SEG_B | SEG_C, SEG_E | SEG_F}; const uint8_t hib[]{ 0x00, SEG_E | SEG_F | SEG_G | SEG_B | SEG_C, SEG_E | SEG_F, 0x00}; const uint8_t hibs[]{ SEG_E | SEG_F | SEG_G | SEG_B | SEG_C, SEG_E | SEG_F, 0x00, SEG_A | SEG_F | SEG_G | SEG_C | SEG_D}; const uint8_t ibsc[]{ SEG_E | SEG_F, 0x00, SEG_A | SEG_F | SEG_G | SEG_C | SEG_D, SEG_A |SEG_F |SEG_E |SEG_D}; const uint8_t bsco[]{ 0x00, SEG_A | SEG_F | SEG_G | SEG_C | SEG_D, SEG_A |SEG_F |SEG_E |SEG_D, SEG_A | SEG_F | SEG_E | SEG_D | SEG_C | SEG_B}; const uint8_t scor[]{ SEG_A | SEG_F | SEG_G | SEG_C | SEG_D, SEG_A |SEG_F |SEG_E |SEG_D, SEG_A | SEG_F | SEG_E | SEG_D | SEG_C | SEG_B, SEG_B | SEG_A | SEG_F | SEG_E}; const uint8_t core[]{ SEG_A |SEG_F |SEG_E |SEG_D, SEG_A | SEG_F | SEG_E | SEG_D | SEG_C | SEG_B, SEG_B | SEG_A | SEG_F | SEG_E, SEG_A | SEG_F | SEG_G | SEG_E | SEG_D }; const uint8_t oreb[]{ SEG_A | SEG_F | SEG_E | SEG_D | SEG_C | SEG_B, SEG_B | SEG_A | SEG_F | SEG_E, SEG_A | SEG_F | SEG_G | SEG_E | SEG_D, 0x00}; const uint8_t rebb[]{ SEG_B | SEG_A | SEG_F | SEG_E, SEG_A | SEG_F | SEG_G | SEG_E | SEG_D, 0x00,0x00}; const uint8_t ebbb[]{ SEG_A | SEG_F | SEG_G | SEG_E | SEG_D, 0x00,0x00,0x00}; const uint8_t n1[]{0x00,0x00,0x00, SEG_A | SEG_F | SEG_B | SEG_G | SEG_C}; const uint8_t n2[]{0x00,0x00, SEG_A | SEG_F | SEG_B | SEG_G | SEG_C , SEG_A | SEG_B | SEG_G | SEG_E | SEG_D}; const uint8_t n3[]{0x00, SEG_A | SEG_F | SEG_B | SEG_G | SEG_C , SEG_A | SEG_B | SEG_G | SEG_E | SEG_D , SEG_A | SEG_F | SEG_B | SEG_E | SEG_C | SEG_D}; const uint8_t number[]{ SEG_A | SEG_F | SEG_B | SEG_G | SEG_C , SEG_A | SEG_B | SEG_G | SEG_E | SEG_D , SEG_A | SEG_F | SEG_B | SEG_E | SEG_C | SEG_D , SEG_A | SEG_F | SEG_G | SEG_C | SEG_D , }; //SEG_ | const uint8_t blank[] = {0x00, 0x00, 0x00, 0x00}; void dance(){ display.setSegments(topLine); display.clear(); delay(100); display.setSegments(bottomLine); display.clear(); delay(100); } void circleRound1(){ display.setSegments(circle1a); delay(60); display.setSegments(circle2a); delay(60); display.setSegments(circle3a); delay(60); display.setSegments(circle4a); delay(60); display.setSegments(circle5a); delay(60); display.setSegments(circle6a); delay(60); } void circleRound2(){ display.setSegments(circle1b); delay(60); display.setSegments(circle2b); delay(60); display.setSegments(circle3b); delay(60); display.setSegments(circle4b); delay(60); display.setSegments(circle5b); delay(60); display.setSegments(circle6b); delay(60); } void circleRound3(){ display.setSegments(circle1c); delay(60); display.setSegments(circle2c); delay(60); display.setSegments(circle3c); delay(60); display.setSegments(circle4c); delay(60); display.setSegments(circle5c); delay(60); display.setSegments(circle6c); delay(60); } void circleRound4(){ display.setSegments(circle1d); delay(60); display.setSegments(circle2d); delay(60); display.setSegments(circle3d); delay(60); display.setSegments(circle4d); delay(60); display.setSegments(circle5d); delay(60); display.setSegments(circle6d); delay(60); } void hiScore(){ display.setSegments(h); delay(60); display.setSegments(h); delay(60); display.setSegments(hi); delay(60); display.setSegments(hi); delay(60); display.setSegments(hib); delay(60); display.setSegments(hib); delay(60); display.setSegments(hibs); delay(60); display.setSegments(hibs); delay(60); display.setSegments(ibsc); delay(60); display.setSegments(ibsc); delay(60); display.setSegments(bsco); delay(60); display.setSegments(bsco); delay(60); display.setSegments(scor); delay(60); display.setSegments(scor); delay(60); display.setSegments(core); delay(60); display.setSegments(core); delay(60); display.setSegments(oreb); delay(60); display.setSegments(oreb); delay(60); display.setSegments(rebb); delay(60); display.setSegments(rebb); delay(60); display.setSegments(ebbb); delay(60); display.setSegments(ebbb); delay(60); display.setSegments(blank); delay(60); } void hNumber(){ display.setSegments(n1); delay(60); display.setSegments(n1); delay(60); display.setSegments(blank); delay(60); display.setSegments(n2); delay(60); display.setSegments(n2); delay(60); display.setSegments(blank); delay(60); display.setSegments(n3); delay(60); display.setSegments(n3); delay(60); display.setSegments(blank); delay(60); display.setSegments(number); delay(60); display.setSegments(number); delay(60); display.setSegments(blank); delay(60);} void setup() { // Clear the display: display.clear(); delay(1000); display.setBrightness(5); } void loop() { int b1=digitalRead (A0); int b2=digitalRead (A1); delay(10); if (b2 == 1){ // Show counter: int r = random(1,254); int i; for (i = 0; i < r; i++) { display.showNumberDec(i); delay(50); }} if (b1 == 1){ dance(); dance(); dance(); dance(); dance(); dance(); delay(800); display.clear(); delay(1000); circleRound4(); circleRound3(); circleRound2(); circleRound1(); circleRound2(); circleRound3(); circleRound4(); delay(10); hiScore(); hNumber(); display.setSegments(number); delay(1600); display.setSegments(blank); delay(60); display.setSegments(number); delay(160); display.setSegments(blank); delay(60); display.setSegments(number); delay(160); display.setSegments(blank); delay(60); display.setSegments(number); delay(160); display.setSegments(blank); delay(60); display.clear(); delay(1000);} else { display.clear(); delay(10);} }