This looks really interesting. Can anyone get this to work? It doesn't seem to work for me. There is no activity on pins 2.3.4.5.6 when checked with an oscilloscope. How does one troubleshoot the code? I am new at coding and just learning. I particularly don't understand the line: void printLetter(int letter[])
Does anyone have any other Arduino POV projects?
/*
[ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533]
persistence of vision typography with arduino
michael zoellner - march 2006
http://i.document.m05.deconnect anodes (+) of 5 leds to digital ports of the arduino board
and put 20-50 ohm resistors from the cathode (-) to ground.
the letters are lookup tables consisting arrays width the dot status in y rows.
[ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533][ch65533]
*/
// defining the alphabet
int _[] = {0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0};
int A[] = {0,1,1,1,1, 1,0,1,0,0, 0,1,1,1,1};
int B[] = {1,1,1,1,1, 1,0,1,0,1, 0,1,0,1,0};
int C[] = {0,1,1,1,0, 1,0,0,0,1, 1,0,0,0,1};
int D[] = {1,1,1,1,1, 1,0,0,0,1, 0,1,1,1,0};
int E[] = {1,1,1,1,1, 1,0,1,0,1, 1,0,1,0,1};
int F[] = {1,1,1,1,1, 1,0,1,0,0, 1,0,1,0,0};
int G[] = {0,1,1,1,0, 1,0,1,0,1, 0,0,1,1,0};
int H[] = {1,1,1,1,1, 0,0,1,0,0, 1,1,1,1,1};
int I[] = {0,0,0,0,1, 1,0,1,1,1, 0,0,0,0,1};
int J[] = {1,0,0,0,0, 1,0,0,0,1, 1,1,1,1,1};
int K[] = {1,1,1,1,1, 0,0,1,0,0, 0,1,0,1,1};
int L[] = {1,1,1,1,1, 0,0,0,0,1, 0,0,0,0,1};
int M[] = {1,1,1,1,1, 0,1,1,0,0, 0,1,1,1,1};
int N[] = {1,1,1,1,1, 1,0,0,0,0, 0,1,1,1,1};
int O[] = {0,1,1,1,0, 1,0,0,0,1, 0,1,1,1,0};
int P[] = {1,1,1,1,1, 1,0,1,0,0, 0,1,0,0,0};
int Q[] = {0,1,1,1,1, 1,0,0,1,1, 0,1,1,1,1};
int R[] = {1,1,1,1,1, 1,0,1,0,0, 0,1,0,1,1};
int S[] = {0,1,0,0,1, 1,0,1,0,1, 1,0,0,1,0};
int T[] = {1,0,0,0,0, 1,1,1,1,1, 1,0,0,0,0};
int U[] = {1,1,1,1,1, 0,0,0,0,1, 1,1,1,1,1};
int V[] = {1,1,1,1,0, 0,0,0,0,1, 1,1,1,1,0};
int W[] = {1,1,1,1,0, 0,0,1,1,0, 1,1,1,1,0};
int X[] = {1,1,0,1,1, 0,0,1,0,0, 1,1,0,1,1};
int Y[] = {1,1,0,0,0, 0,0,1,0,0, 1,1,1,1,1};
int Z[] = {1,0,0,1,1, 1,0,1,0,1, 1,1,0,0,1};
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);
// 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<5; y++)
{
digitalWrite(y+2, letter[y]);
}
delay(dotTime);
// printing the second y row of the letter
for (y=0; y<5; y++)
{
digitalWrite(y+2, letter[y+5]);
}
delay(dotTime);
// printing the third y row of the letter
for (y=0; y<5; y++)
{
digitalWrite(y+2, letter[y+10]);
}
delay(dotTime);
// printing the sspace between the letters
for (y=0; y<5; y++)
{
digitalWrite(y+2, 0);
}
delay(letterSpace);
}
void loop()
{
// printing some letters
printLetter(N);
printLetter(E);
printLetter(R);
printLetter(D);
printLetter(S);
printLetter(_);
}