Hello,
I am new to both Arduino and programing. I recently have been trying to modify some code i found online to make a POV. I planed on modifying it so one may easily change several different slogans and move between them at the push of a button, the code for which I will add later.
My problem is i ran out of RAM before i finished the alphabet and i still wanted to add some shapes after that. A different forum suggested I use Use an array of bytes, with each bit being a pixel.
I tried to follow the tutorial on the Arduino playground but have not been able to get even one row to light.
Here is the original code if any one has any suggestions.
// defining the alphabet
int _[] = {0,0,0,0,0,0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,0};
int A[] = {0,1,1,1,1,1,1, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0, 0,1,1,1,1,1,1};
int B[] = {1,1,1,1,1,1,1, 1,0,0,1,0,0,1, 1,0,0,1,0,0,1, 1,0,0,1,0,0,1, 0,1,1,0,1,1,0};
int C[] = {0,1,1,1,1,1,0, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 0,1,0,0,0,1,0};
int D[] = {1,1,1,1,1,1,1, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 0,1,0,0,0,1,0, 0,0,1,1,1,0,0};
int E[] = {1,1,1,1,1,1,1, 1,0,0,1,0,0,1, 1,0,0,1,0,0,1, 1,0,0,1,0,0,1, 1,0,0,0,0,0,1};
int F[] = {1,1,1,1,1,1,1, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0, 1,0,0,0,0,0,0};
int G[] = {0,1,1,1,1,1,0, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 1,0,0,0,1,0,1, 0,1,0,0,1,1,0};
int H[] = {1,1,1,1,1,1,1, 0,0,0,1,0,0,0, 0,0,0,1,0,0,0, 0,0,0,1,0,0,0, 1,1,1,1,1,1,1};
int I[] = {1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 1,1,1,1,1,1,1, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1};
int J[] = {0,0,0,0,1,1,0, 0,0,0,0,0,0,1, 0,0,0,0,0,0,1, 0,0,0,0,0,0,1, 1,1,1,1,1,1,0};
int K[] = {1,1,1,1,1,1,1, 0,0,0,1,0,0,0, 0,0,1,0,1,0,0, 0,1,0,0,0,1,0, 1,0,0,0,0,0,1};
int L[] = {1,1,1,1,1,1,1, 0,0,0,0,0,0,1, 0,0,0,0,0,0,1, 0,0,0,0,0,0,1, 0,0,0,0,0,0,1};
int M[] = {1,1,1,1,1,1,1, 0,1,0,0,0,0,0, 0,0,1,0,0,0,0, 0,1,0,0,0,0,0, 1,1,1,1,1,1,1};
int N[] = {1,1,1,1,1,1,1, 0,0,1,0,0,0,0, 0,0,0,1,0,0,0, 0,0,0,0,1,0,0, 1,1,1,1,1,1,1};
int O[] = {0,1,1,1,1,1,0, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 1,0,0,0,0,0,0, 0,1,1,1,1,1,0};
int P[] = {};
int Q[] = {};
int R[] = {};
int S[] = {};
int T[] = {};
int U[] = {};
int V[] = {};
int W[] = {};
int X[] = {};
int Y[] = {};
int Z[] = {};
int letterSpace;
int dotTime;
void setup()
{
// setting the ports of the leds to OUTPUT
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
// defining the space between the letters (ms)
letterSpace = 6;
// defining the time dots appear (ms)
dotTime = 3;
}
void printLetter(int letter[])
{
int y;
// printing the first y row of the letter
for (y=0; y<7; y++)
{
digitalWrite(y+2, letter[y]);
}
delay(dotTime);
// printing the second y row of the letter
for (y=0; y<7; y++)
{
digitalWrite(y+2, letter[y+7]);
}
delay(dotTime);
// printing the third y row of the letter
for (y=0; y<7; y++)
{
digitalWrite(y+2, letter[y+14]);
}
delay(dotTime);
// printing the fourth y row of the letter
for (y=0; y<7; y++)
{
digitalWrite(y+2, letter[y+21]);
}
delay(dotTime);
// printing the fifth y row of the letter
for (y=0; y<7; y++)
{
digitalWrite(y+2, letter[y+28]);
}
delay(dotTime);
// printing the space between the letters
for (y=0; y<7; y++)
{
digitalWrite(y+2, 0);
}
delay(letterSpace);
}
void loop()
{
// printing some letters
printLetter(A);
printLetter(_);
}
[/list]
Thanks