In this Project, we will see about how to make 8x8 LED Matrix with Cardboard in Home .
Circuit Diagram:
Arduino Code:
led_matrix_8x8.ino
Change your Name at Line.100 to Line.117 byte BA[] = {B00111100, B01000010, B01000010, B01000010, B01111110, B01000010, B01000010, B01000010}; byte BB[] = {B01111100, B01000010, B01000010, B01111100, B01000010, B01000010, B01000010, B01111100}; byte BC[] = {B00111100, B01000010, B01000000, B01000000, B01000000, B01000000, B01000010, B00111100}; byte BD[] = {B01111000, B01000100, B01000010, B01000010, B01000010, B01000010, B01000100, B01111000}; byte BE[] = {B01111110, B01000000, B01000000, B01111100, B01000000, B01000000, B01000000, B01111110}; byte BF[] = {B01111110, B01000000, B01000000, B01111100, B01000000, B01000000, B01000000, B01000000}; byte BG[] = {B00111100, B01000010, B01000000, B01000000, B01001110, B01000010, B01000010, B00111100}; byte BH[] = {B01000010, B01000010, B01000010, B01111110, B01000010, B01000010, B01000010, B01000010}; byte BI[] = {B01111100, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B01111100}; byte BJ[] = {B00111110, B00001000, B00001000, B00001000, B00001000, B00001000, B01001000, B00110000}; byte BK[] = {B01000100, B01001000, B01010000, B01100000, B01100000, B01010000, B01001000, B01000100}; byte BL[] = {B01000000, B01000000, B01000000, B01000000, B01000000, B01000000, B01000000, B01111110}; byte BM[] = {B10000010, B11000110, B10101010, B10101010, B10010010, B10010010, B10000010, B10000010}; byte BN[] = {B01000010, B01100010, B01010010, B01010010, B01001010, B01001010, B01000110, B01000010}; byte BO[] = {B00111100, B01000010, B01000010, B01000010, B01000010, B01000010, B01000010, B00111100}; byte BP[] = {B01111100, B01000010, B01000010, B01000010, B01111100, B01000000, B01000000, B01000000}; byte BQ[] = {B00111100, B01000010, B01000010, B01000010, B01000010, B01000010, B01000100, B00111010}; byte BR[] = {B01111100, B01000010, B01000010, B01111100, B01010000, B01001000, B01000100, B01000010}; byte BS[] = {B00111100, B01000010, B01000000, B00110000, B00001100, B00000010, B01000010, B00111100}; byte BT[] = {B01111100, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000}; byte BU[] = {B01000010, B01000010, B01000010, B01000010, B01000010, B01000010, B01000010, B00111100}; byte BV[] = {B01000100, B01000100, B01000100, B01000100, B01000100, B01000100, B00101000, B00010000}; byte BW[] = {B10000010, B10000010, B10000010, B10000010, B10010010, B10010010, B10101010, B01101100}; byte BX[] = {B10000010, B10000010, B01000100, B00101000, B00010000, B00101000, B01000100, B10000010}; byte BY[] = {B10000010, B10000010, B01000100, B00101000, B00010000, B00010000, B00010000, B00010000}; byte BZ[] = {B01111110, B00000010, B00000100, B00001000, B00010000, B00100000, B01000000, B01111110}; byte LA[] = {B00000000, B00000000, B00000000, B00111000, B00000100, B00111100, B01000100, B00111000}; byte LB[] = {B01000000, B01000000, B01000000, B01000000, B01111000, B01000100, B01000100, B01111000}; byte LC[] = {B00000000, B00000000, B00000000, B00111100, B01000000, B01000000, B01000000, B00111100}; byte LD[] = {B00000100, B00000100, B00000100, B00000100, B00111100, B01000100, B01000100, B00111100}; byte LE[] = {B00000000, B00000000, B00000000, B00111000, B01000100, B01011000, B01000000, B00111100}; byte LF[] = {B00111000, B01000100, B01000000, B01000000, B01111000, B01000000, B01000000, B01000000}; byte LG[] = {B00111000, B01000100, B01000100, B01000100, B00111000, B00000100, B00000100, B01111000}; byte LH[] = {B01000000, B01000000, B01000000, B01111000, B01000100, B01000100, B01000100, B01000100}; byte LI[] = {B00000000, B00000000, B00010000, B00000000, B00010000, B00010000, B00010000, B00010000}; byte LJ[] = {B00000000, B00001000, B00000000, B00001000, B00001000, B00001000, B01001000, B00110000}; byte LK[] = {B00000000, B01000000, B01000000, B01001000, B01010000, B01100000, B01010000, B01001000}; byte LL[] = {B00100000, B00100000, B00100000, B00100000, B00100000, B00100000, B00100000, B00011000}; byte LM[] = {B00000000, B00000000, B00000000, B01000000, B01101100, B01010100, B01000100, B01000100}; byte LN[] = {B00000000, B00000000, B00000000, B01000000, B01111000, B01000100, B01000100, B01000100}; byte LO[] = {B00000000, B00000000, B00000000, B00111000, B01000100, B01000100, B01000100, B00111000}; byte LP[] = {B00000000, B00000000, B00111000, B01000100, B01000100, B01111000, B01000000, B01000000}; byte LQ[] = {B00000000, B00000000, B00111000, B01000100, B01000100, B00111100, B00000100, B00000100}; byte LR[] = {B00000000, B00000000, B00111000, B01000100, B01000000, B01000000, B01000000, B01000000}; byte LS[] = {B00000000, B00000000, B00111000, B01000100, B01100000, B00011100, B01000100, B00111000}; byte LT[] = {B00100000, B00100000, B00100000, B01111000, B00100000, B00100000, B00100000, B00011000}; byte LU[] = {B00000000, B00000000, B00000000, B01000100, B01000100, B01000100, B01000100, B00111100}; byte LV[] = {B00000000, B00000000, B00000000, B01000100, B01000100, B01000100, B00101000, B00010000}; byte LW[] = {B00000000, B00000000, B00000000, B01000100, B01000100, B01010100, B01010100, B00111000}; byte LX[] = {B00000000, B00000000, B00000000, B01000100, B00101000, B00010000, B00101000, B01000100}; byte LY[] = {B00000000, B00000000, B00000000, B01000100, B01000100, B00111100, B00000100, B01111000}; byte LZ[] = {B00000000, B00000000, B00000000, B01111100, B00000100, B00111000, B01000000, B01111100}; byte FILL[] = {B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111}; byte SPACE[] = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000}; byte NUM0[] = {B00111100, B01000010, B01000110, B01001010, B01010010, B01100010, B01000010, B00111100}; byte NUM1[] = {B00011000, B00111000, B00011000, B00011000, B00011000, B00011000, B00011000, B00111100}; byte NUM2[] = {B00111100, B01000010, B00000010, B00000010, B00001100, B00110000, B01000000, B01111110}; byte NUM3[] = {B00111100, B01000010, B00000010, B00000010, B00011100, B00000010, B01000010, B00111100}; byte NUM4[] = {B01000010, B01000010, B01000010, B01000010, B00111110, B00000010, B00000010, B00000010}; byte NUM5[] = {B01111110, B01000000, B01000000, B01111100, B00000010, B00000010, B01000010, B00111100}; byte NUM6[] = {B01111110, B01000000, B01000000, B01000000, B01111110, B01000010, B01000010, B01111110}; byte NUM7[] = {B01111110, B00000010, B00000100, B00000100, B00001000, B00001000, B00010000, B00010000}; byte NUM8[] = {B00111100, B01000010, B01000010, B01111110, B01000010, B01000010, B01000010, B00111100}; byte NUM9[] = {B01111110, B01000010, B01000010, B01111110, B00000010, B00000010, B01000010, B01111110}; byte DEVIDE[] = {B00000100, B00000100, B00001000, B00001000, B00010000, B00010000, B00100000, B00100000}; byte TWODOTS[] = {B00000000, B00011000, B00011000, B00000000, B00000000, B00011000, B00011000, B00000000}; byte DOT[] = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01100000, B01100000}; byte COMA[] = {B00000000, B00000000, B00000000, B00000000, B00000000, B00110000, B00110000, B01100000}; byte LINE[] = {B00000000, B00000000, B00000000, B01111110, B01111110, B00000000, B00000000, B00000000}; byte QUASTION[] = {B00111000, B01000100, B00000100, B00000100, B00001000, B00010000, B00000000, B00010000}; byte MARK[] = {B00011000, B00011000, B00011000, B00011000, B00011000, B00000000, B00011000, B00011000}; byte APOS[] = {B00001000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000}; byte RAN1[] = {B01010101, B10101010, B01010101, B10101010, B01010101, B10101010, B01010101, B10101010}; byte RAN2[] = {B10101010, B01010101, B10101010, B01010101, B10101010, B01010101, B10101010, B01010101}; byte SA[] = {B00000000, B00001110, B00001000, B01111111, B10001000, B10001000, B01110000, B00000000}; byte HEART[] = {B00000000, B00110110, B01111111, B01111111, B01111111, B00111110, B00011100, B00001000}; byte SMILEY[] = {B00000000, B00000000, B01100110, B00000000, B11000011, B11000011, B01111110, B00000000}; const int columnPins[] = { 2, 3, 4, 5, 6, 7, 8, 9}; const int rowPins[] = { 10, 11, 12, 13, 14, 15, 16, 17}; void setup() { for (int i = 0; i < 8; i++) { pinMode(rowPins[i], OUTPUT); // make all the LED pins outputs pinMode(columnPins[i], OUTPUT); digitalWrite(columnPins[i], HIGH); // disconnect column pins from Ground } } void loop() { int delay_time = 800 ; show(BS, delay_time); show(BD, delay_time); show(BE, delay_time); show(BV, delay_time); show(SPACE, delay_time); show(BE, delay_time); show(BL, delay_time); show(BE, delay_time); show(BC, delay_time); show(BT, delay_time); show(BR, delay_time); show(BO, delay_time); show(BN, delay_time); show(BI, delay_time); show(BC, delay_time); show(BS, delay_time); show(SPACE, delay_time); blink_effect(); show(SMILEY, delay_time); blink_effect(); show(HEART, delay_time); blink_effect(); show(SA, 2000); blink_effect(); delay(3000); } void blink_effect() { for (int a = 0; a < 2; a++) { show(RAN1, 30); delay(50); show(RAN2, 30); delay(50);//Code Edited by Staysay } } void show( byte * image, unsigned long duration) { unsigned long start = millis(); while (start + duration > millis()) { for (int row = 0; row < 8; row++) { digitalWrite(rowPins[row], HIGH); // connect row to +5 volts for (int column = 0; column < 8; column++) { boolean pixel = bitRead(image[row], column); if (pixel == 1) { digitalWrite(columnPins[column], LOW); // connect column to Gnd } delayMicroseconds(300); // a small delay for each LED digitalWrite(columnPins[column], HIGH); // disconnect column from Gnd } digitalWrite(rowPins[row], LOW); // disconnect LEDs } } }
Youtube Video Tutorial:
Download our official Android App in PlayStore. Click Here
You can get the all the required files (like Circuit Diagram, Arduino.ino file, Libraries Used, and others) for the project in ZIP format and much more...
No comments:
Post a Comment