Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Bitmap for LED 8 x 8 Matrix

Status
Not open for further replies.

PA3040

Advanced Member level 3
Joined
Aug 1, 2011
Messages
883
Helped
43
Reputation
88
Reaction score
43
Trophy points
1,308
Activity points
6,936
Dear All,

Any one should know how to create bitmap for moving text for 8 x 8 LED matrix

is there any software to create bitmaps while moving a text or word

Please advice
Thanks in advance
 

Dear Gameguru,
Thanks for the reply

Is this generate binary bitmap like following

Code:
{B00000000,
B00000000,
B00100000,
B00100000,
B00000000,
B00000000,
B00000000,
B00000000}

Please advice
 

you have selected output to be in binary, you can instead select HEX format output array,
so B00000000 will become 0x00 instead.
 

you have selected output to be in binary, you can instead select HEX format output array,
so B00000000 will become 0x00 instead.

I didn't see location to select to binary

- - - Updated - - -

The above link seems to have solved the problem.
Anyway, the following routine could be useful at anytime:

Dear Andre thanks for the advice

Actually what I should need is

First I need to type the word to be displaced, then I need to shift it, then binary cords should be generated

It should be much appreciated if you can give me any suggestion
Thank in advance
 

First I need to type the word to be displaced, then I need to shift it, then binary cords should be generated

You have to keep in mind that a project like this must be subdivided into different programming layers, each one of the higher hierarquical level performing access to the other. In shorts, you should make something like this:

  • Map all the characters and store them at the program memory.
  • Create variables of the type array that will point to each stored character.
  • Scan the word that will be scrolled, incrementing the pointer of the 1st character
The 3rd step above has a small trick.
In order to scroll the text, you´ll not increment the pointer of the string until shift the last column inside each character, whose visual effect is ike the whole text moving, pixel by pixel. You can see the result of that at a project that I made many years ago: https://www.youtube.com/watch?v=d4_ImY_twHU
 
  • Like
Reactions: PA3040

    PA3040

    Points: 2
    Helpful Answer Positive Rating
Dear andre
Grate thanks for the advice

Please find attached sample program that I written for ARDUINO UNO
Can you please advice the shifting method

Code:
const int row[8] = { 2, 7, 19, 5, 13, 18, 12, 16 };//L
const int col[8] = { 6, 11, 10, 3, 17, 4, 8, 9 };//H
byte ledBitmap[8][8] = {
B00000000,
  B00111100,
  B01000010,
  B01000010,
  B01111110,
  B01000010,
  B01000010,
  B00000000,

};

void setup() {
  for (int i = 0; i < 8; i++) {
    pinMode(row[i], OUTPUT);
    pinMode(col[i], OUTPUT);
    digitalWrite(col[i], HIGH);
  }

}

void loop() {
  pattern_1(0,10);

}

void pattern_1(int bitmap, int duration) {
  for (duration; duration > 0; duration--) {
    for (int k = 0; k < 8; k++) {
      for (int j = 0; j < 8; j++) {
        digitalWrite(col[j], !bitRead(ledBitmap[bitmap][k], j));

      }

      digitalWrite(row[k], HIGH);
      delay(1);
      digitalWrite(row[k], LOW);
      delay(1);

    }
  }
}
 

Code:
void StringMoveLeft (char * String, char Len)
{
        char tmp;
        char dat = String[0];
        char cnt;
        if (Len) tmp = Len-1;
                else tmp = StringLen(String)-1;
        for (cnt=0; cnt!=tmp; cnt++) String[cnt]=String[cnt+1];
        String[tmp]=dat;
}

void StringMoveRight (char * String, char Len)
{
        char tmp;
        char dat;
        char cnt;
        if (Len) tmp = Len-1;
                else tmp = StringLen(String)-1;
        dat = String[Len-1];
        for (cnt=tmp; cnt!=0; cnt--) String[cnt]=String[cnt-1];
        String[0]=dat;
}
 
  • Like
Reactions: PA3040

    PA3040

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top