// DL2416 Tester: Plug in a DL-2416 LED display to Arduino pro micro and display message. // version 1.0 Last Updated 2019. // https://hackaday.io/projects/hacker/145385 // LED matrix 5x7 test03-11 /* pin assignment of LED chips 2416 1 2 3 4 5 6 7 8 9 gnd 10 : 5v in 11 : D0 12 : D 13 : D 14 : D 15 : D 16 : D 17 : D 18 : D */ int BL= 9; int CE1 = 10; int CE2 = 11; int CUE = 13; int CU = A0; int WR= A1; int CLR= 12; int DS1 = A2; int DS0 = A3; int D6 = 6; int D5 = 7; int D4 = 8; int D3 = 5; int D2 = 4; int D1 = 3; int D0 = 2; int value = 0; // The setup() method runs once, when the sketch starts void setup() { pinMode(BL, OUTPUT); pinMode(CE1, OUTPUT); pinMode(CE2, OUTPUT); pinMode(CUE, OUTPUT); pinMode(CU, OUTPUT); pinMode(WR, OUTPUT); pinMode(CLR, OUTPUT); pinMode(DS1, OUTPUT); pinMode(DS0, OUTPUT); pinMode(D6, OUTPUT); pinMode(D5, OUTPUT); pinMode(D4, OUTPUT); pinMode(D3, OUTPUT); pinMode(D2, OUTPUT); pinMode(D1, OUTPUT); pinMode(D0, OUTPUT); //clear display //CLEAR digitalWrite(CUE, LOW); digitalWrite(BL, HIGH); digitalWrite(WR, HIGH); digitalWrite(CLR, LOW); delay(100); // wait digitalWrite(DS1, LOW); digitalWrite(DS0, LOW); digitalWrite(D6, LOW); digitalWrite(D5, HIGH); digitalWrite(D4, HIGH); digitalWrite(D3, LOW); digitalWrite(D2, HIGH); digitalWrite(D1, LOW); digitalWrite(D0, HIGH); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, HIGH); digitalWrite(CU, LOW); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); digitalWrite(DS1, HIGH); digitalWrite(DS0, LOW); digitalWrite(DS1, LOW); digitalWrite(DS0, HIGH); digitalWrite(DS1, HIGH); digitalWrite(DS0, HIGH); delay(500); // wait digitalWrite(CUE, LOW); digitalWrite(BL, HIGH); digitalWrite(WR, HIGH); digitalWrite(CLR, LOW); delay(100); // wait } void loop() { // START OF sequence //CLEAR DISPLAY digitalWrite(CUE, LOW); digitalWrite(BL, HIGH); digitalWrite(WR, HIGH); digitalWrite(CLR, LOW); delay(500); //WRITE CHARACTER 1 // LETTER "D" digitalWrite(DS1, HIGH); digitalWrite(DS0, LOW); digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D3, LOW); digitalWrite(D2, HIGH); digitalWrite(D1, LOW); digitalWrite(D0, LOW); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); delay(500); // wait //CLEAR LETTER digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); // SELECT CHARACTER #3 digitalWrite(DS1, LOW); digitalWrite(DS0, HIGH); // LETTER "L" digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D3, HIGH); digitalWrite(D2, HIGH); digitalWrite(D1, LOW); digitalWrite(D0, LOW); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); //L delay(1000); // wait //CLEAR DISPLAY digitalWrite(CUE, LOW); digitalWrite(BL, HIGH); digitalWrite(WR, HIGH); digitalWrite(CLR, LOW); delay(500); //CHARACTER 1 digitalWrite(DS1, HIGH); digitalWrite(DS0, HIGH); //2 digitalWrite(D6, LOW); digitalWrite(D5, HIGH); digitalWrite(D4, HIGH); digitalWrite(D3, LOW); digitalWrite(D2, LOW); digitalWrite(D1, HIGH); digitalWrite(D0, LOW); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); //CLEAR digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); delay(500); // wait //CHARACTER 2 //4 digitalWrite(DS1, HIGH); digitalWrite(DS0, LOW); digitalWrite(D6, LOW); digitalWrite(D5, HIGH); digitalWrite(D4, HIGH); digitalWrite(D3, LOW); digitalWrite(D2, HIGH); digitalWrite(D1, LOW); digitalWrite(D0, LOW); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); delay(500); // wait // SELECT DIGIT 3 //CHARACTER "1" digitalWrite(DS1, LOW); digitalWrite(DS0, HIGH); digitalWrite(D6, LOW); digitalWrite(D5, HIGH); digitalWrite(D4, HIGH); digitalWrite(D3, LOW); digitalWrite(D2, LOW); digitalWrite(D1, LOW); digitalWrite(D0, HIGH); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); delay(100); delay(200); // wait // SELECT DIGIT 4 //CHARACTER "6" digitalWrite(DS1, LOW); digitalWrite(DS0, LOW); digitalWrite(D6, LOW); digitalWrite(D5, HIGH); digitalWrite(D4, HIGH); digitalWrite(D3, LOW); digitalWrite(D2, HIGH); digitalWrite(D1, HIGH); digitalWrite(D0, LOW); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); delay(700); //CLEAR DISPLAY digitalWrite(CUE, LOW); digitalWrite(BL, HIGH); digitalWrite(WR, HIGH); digitalWrite(CLR, LOW); delay(500); //WRITE THE SEQUENCE RARE LEDS // SELECT DIGIT 1 digitalWrite(DS1, HIGH); digitalWrite(DS0, HIGH); //CHARACTER "R" digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, HIGH); digitalWrite(D3, LOW); digitalWrite(D2, LOW); digitalWrite(D1, HIGH); digitalWrite(D0, LOW); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); //CLEAR digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); delay(500); // wait // SELECT DIGIT 2 //CHARACTER "A" digitalWrite(DS1, HIGH); digitalWrite(DS0, LOW); digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D3, LOW); digitalWrite(D2, LOW); digitalWrite(D1, LOW); digitalWrite(D0, HIGH); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); delay(500); // wait // SELECT DIGIT 3 //CHARACTER "R" digitalWrite(DS1, LOW); digitalWrite(DS0, HIGH); digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, HIGH); digitalWrite(D3, LOW); digitalWrite(D2, LOW); digitalWrite(D1, HIGH); digitalWrite(D0, LOW); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); //SELECT DIGIT 4 // CHARACTER "E" digitalWrite(DS1, LOW); digitalWrite(DS0, LOW); digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D3, LOW); digitalWrite(D2, HIGH); digitalWrite(D1, LOW); digitalWrite(D0, HIGH); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); delay(1000); //CLEAR DISPLAY digitalWrite(CUE, LOW); digitalWrite(BL, HIGH); digitalWrite(WR, HIGH); digitalWrite(CLR, LOW); delay(500); // SELECT DIGIT 1 digitalWrite(DS1, HIGH); digitalWrite(DS0, HIGH); //CHARACTER "L" digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D3, HIGH); digitalWrite(D2, HIGH); digitalWrite(D1, LOW); digitalWrite(D0, LOW); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); //CLEAR digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); delay(500); // wait // SELECT DIGIT 2 //CHARACTER "E" digitalWrite(DS1, HIGH); digitalWrite(DS0, LOW); digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D3, LOW); digitalWrite(D2, HIGH); digitalWrite(D1, LOW); digitalWrite(D0, HIGH); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); delay(500); // wait // SELECT DIGIT 3 //CHARACTER "D" digitalWrite(DS1, LOW); digitalWrite(DS0, HIGH); digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D3, LOW); digitalWrite(D2, HIGH); digitalWrite(D1, LOW); digitalWrite(D0, LOW); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); //SELECT DIGIT 4 // CHARACTER "S" digitalWrite(DS1, LOW); digitalWrite(DS0, LOW); digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, HIGH); digitalWrite(D3, LOW); digitalWrite(D2, LOW); digitalWrite(D1, HIGH); digitalWrite(D0, HIGH); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); delay(1000); //CLEAR DISPLAY digitalWrite(CUE, LOW); digitalWrite(BL, HIGH); digitalWrite(WR, HIGH); digitalWrite(CLR, LOW); delay(500); // DISPLAY ".COM" // SELECT DIGIT 1 digitalWrite(DS1, HIGH); digitalWrite(DS0, HIGH); //CHARACTER "." digitalWrite(D6, LOW); digitalWrite(D5, HIGH); digitalWrite(D4, LOW); digitalWrite(D3, HIGH); digitalWrite(D2, HIGH); digitalWrite(D1, HIGH); digitalWrite(D0, LOW); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); //CLEAR digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); delay(500); // wait // SELECT DIGIT 2 //CHARACTER "C" digitalWrite(DS1, HIGH); digitalWrite(DS0, LOW); digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D3, LOW); digitalWrite(D2, LOW); digitalWrite(D1, HIGH); digitalWrite(D0, HIGH); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); delay(500); // wait // SELECT DIGIT 3 //CHARACTER "O" digitalWrite(DS1, LOW); digitalWrite(DS0, HIGH); digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D3, HIGH); digitalWrite(D2, HIGH); digitalWrite(D1, HIGH); digitalWrite(D0, HIGH); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); digitalWrite(BL, LOW); digitalWrite(WR, HIGH); digitalWrite(CLR, HIGH); //SELECT DIGIT 4 // CHARACTER "M" digitalWrite(DS1, LOW); digitalWrite(DS0, LOW); digitalWrite(D6, HIGH); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D3, HIGH); digitalWrite(D2, HIGH); digitalWrite(D1, LOW); digitalWrite(D0, HIGH); digitalWrite(BL, HIGH); digitalWrite(CE1, LOW); digitalWrite(CE2, LOW); digitalWrite(CUE, LOW); digitalWrite(CU, HIGH); digitalWrite(WR, LOW); digitalWrite(CLR, HIGH); delay(1000); //CLEAR DISPLAY digitalWrite(CUE, LOW); digitalWrite(BL, HIGH); digitalWrite(WR, HIGH); digitalWrite(CLR, LOW); delay(500); //END OF sequence }