How to make animation on LED...

kubeek

Joined Sep 20, 2005
5,796
Rritesh, the discussions with you are allways wonderful, it took just 20 posts to finally get to the point where I can understand what you mean.

Yes there are lots of software aimed specifically for animation. I still have no idea what you want to animate, but that is up to you. You will still need to make those frames somehow - for example by setting each pixel by hand, or using some software that can extrapolate the movement between the frames, but still it is a LOT of work. I am no graphics desinger so I can´t recommend any specific software, but google should be able to help.

Why not start with making some animated GIFs and see where it gets you?
 

kubeek

Joined Sep 20, 2005
5,796
If your question means "how do I get additional fonts to for my computer" the answer is use google, for example search for windows font download. There are hundreds of sites with millions of fonts out there, I know it because once I was hopelessly trying to find one exact font just by the looks of it.
 

Thread Starter

RRITESH KAKKAR

Joined Jun 29, 2010
2,829
If your question means "how do I get additional fonts to for my computer" the answer is use google, for example search for windows font download. There are hundreds of sites with millions of fonts out there, I know it because once I was hopelessly trying to find one exact font just by the looks of it.
I need font hex file for LED display not for PC..
here is the video.

http://www.youtube.com/watch?v=pvVnOHjuoKM
 
Last edited:

kubeek

Joined Sep 20, 2005
5,796
well first you need to download the font into your pc, and then render it into the binary file that your pic will use to load the fonts from. Or you make it manually, because most likely you would have to edit the characters anayway to make them look good.
 

Thread Starter

RRITESH KAKKAR

Joined Jun 29, 2010
2,829
Hi again,

I have seen some video of led display for ping pong game i don't remember that video name...anyway the display was not only display char it was moving doing some graet effect not simple as we see in TV or aftereffect ...rotating the whole string....i hope you are getting my point.

how does we can display any char like this or output from an after effect file???
 

kubeek

Joined Sep 20, 2005
5,796
If you mean something like old 8bit games style text manipulation, shrinking, rotating, etc., then I think they just wrote their own program that took the input string and did all the rendering and transformation by itself, and then outputted all the frames somewhere.
 

panic mode

Joined Oct 10, 2011
5,250
rritesh,

please read entire tread again and observe how many tips you have received and how empty is info you provided. as a reminder you were told (among other things) that :
- you need to provide schematic (you still did not do so)
- this is hardware dependent (still no mention what you are using)
etc.

even your requirements are extremely vague. what kind of animation we are talking about? what resolution? what hardware?

do you mean something like this:
http://www.youtube.com/watch?v=SyuLhEUImng
http://www.youtube.com/watch?v=Qk_03gXvf90
 

Thread Starter

RRITESH KAKKAR

Joined Jun 29, 2010
2,829
rritesh,

please read entire tread again and observe how many tips you have received and how empty is info you provided. as a reminder you were told (among other things) that :
- you need to provide schematic (you still did not do so)
- this is hardware dependent (still no mention what you are using)
etc.

even your requirements are extremely vague. what kind of animation we are talking about? what resolution? what hardware?

do you mean something like this:
http://www.youtube.com/watch?v=SyuLhEUImng
http://www.youtube.com/watch?v=Qk_03gXvf90

The project is great which you have shown.....
but i think i need polishing my programming skill for that.....
any way i want to know how we just give that frames to led via uC??
 

thatoneguy

Joined Feb 19, 2009
6,359
Declare an array, like

const PROGMEM display="0x13,0xff,......";

That stores an image in memory, the size of which depends on the width and height.

That cannot be modified, as it is stored in the same space as program memory, but it can be the "Base" of your animation, or the complete animation, just name them frame1, frame2, frame3, etc.

To display, go through the array to display.
portB=display[0];
delay 100;
portB=display[1];

This is assuming the display is 4x4, which are all connected to portB. Each hex number denotes 8 bits that represent pixels/LEDs that will be on/off in any given frame.
 

thatoneguy

Joined Feb 19, 2009
6,359
Draw your images.

Run through LCDAssistant (free download), which converts a .BMP file into a C array that you can copy and paste into your program.

Display image one
Wait a bit
Display image two
wait a bit
Display image three
wait a bit
repeat...

If drawing vectors, such as lines, triangles, etc, then the math could be done in real time rather than using a delay function between frames. For this method, you need is a FRAME BUFFER, a chunk of RAM the same size as width * height of one image.

Then set up an interrupt that triggers 50 times per second and sets the output pins as needed to display what is in the frame buffer. There may be a glitch if the frame buffer is being written to at the same time the interrupt is displaying it, but that glitch will be a very short period of time, and gone on the next "refresh".

There are videos on YouTube and some projects in the Finished Projects area that show how this works, I'm not sure what you do not understand.
 

Thread Starter

RRITESH KAKKAR

Joined Jun 29, 2010
2,829
Ok, I want your help....
This code is for filling ram i.e. for buffer string of char........
you can see the number of char and filling memory are same i want to update the code for variable string to fill memory...
for eg: it just not depend on string char may be 5 or 10 or even 52 like that..
Rich (BB code):
 display("Test         ");



Rich (BB code):
 display(char *str)   
{

int addr;                                                      
int z;
while(*str!=0){
 addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=0;z<5;z++){
        leds[z] = Font2[addr+y];
y++;
}
addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=6;z<11;z++){
leds[z] = Font2[addr+y];
y++;
}
addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=12;z<17;z++){
leds[z] = Font2[addr+y];
y++;
}
addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=18;z<23;z++){
leds[z] = Font2[addr+y];
y++;
}
addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=24;z<29;z++){
leds[z] = Font2[addr+y];
y++;
}
addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=30;z<35;z++){
leds[z] = Font2[addr+y];
y++;
}
addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=36;z<41;z++){
leds[z] = Font2[addr+y];
y++;
}
addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=42;z<47;z++){
leds[z] = Font2[addr+y];
y++;
}

addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=48;z<53;z++){
leds[z] = Font2[addr+y];
y++;
}
addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=54;z<59;z++){
leds[z] = Font2[addr+y];
y++;
}
addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=60;z<65;z++){
leds[z] = Font2[addr+y];
y++;
}

addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=65;z<70;z++){
leds[z] = Font2[addr+y];
y++;
}
addr = ((int)*str++ - 0x20); 
addr *= 5;
int y=0;
for(z=71;z<76;z++){
leds[z] = Font2[addr+y];
y++;
}








}
}
 
Top