Orquestra Organismo - Interfaces : ArduinoTvanalogica

HomePage :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register
Duas letras alternadas no display/monitor
Script derivado do Arduino Pong
//Arduino Tv framebuffer / Display

//video out voltage levels
#define _SYNC 0x00
#define _BLACK 0x01
#define _WHITE 0x03

//dimensions of the screen
#define WIDTH 38
#define HEIGHT 14

//number of lines to display
#define DISPLAY_LINES 240

//video pins
#define DATA_PIN 9
#define SYNC_PIN 8

//the video frameBuffer
byte frameBuffer[WIDTH][HEIGHT];

//loop indices
byte index, index2;

//pal video line loop
byte line;
//current drawing line in framebuffer
byte newLine;

//draw a pixel to the buffer
void setPixel(byte x,byte y)
{
frameBuffer[x][y]= _WHITE;
}

// draw a black pixel to the buffer
void clearPixel(byte x,byte y)
{
frameBuffer[x][y]= _BLACK;
}

// clear the screen
void clearScreen()
{
for (index=0;index<WIDTH;index++)
for (index2=0;index2<=HEIGHT;++index2)
{
frameBuffer[index][index2] = _BLACK;
}
}
//desenha caractere A
void letraA(int COORD)
{
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD+4,5);
setPixel(COORD,6);
setPixel(COORD+4,6);
setPixel(COORD,7);
setPixel(COORD+1,7);
setPixel(COORD+2,7);
setPixel(COORD+3,7);
setPixel(COORD+4,7);
setPixel(COORD,8);
setPixel(COORD+4,8);
setPixel(COORD,9);
setPixel(COORD+4,9);
}

//desenha caractere B
void letraB(int COORD)
{
setPixel(COORD,3);
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD,4);
setPixel(COORD+3,4);
setPixel(COORD,5);
setPixel(COORD+3,5);
setPixel(COORD,6);
setPixel(COORD+1,6);
setPixel(COORD+2,6);
setPixel(COORD+3,6);
setPixel(COORD,7);
setPixel(COORD+4,7);
setPixel(COORD,8);
setPixel(COORD+4,8);
setPixel(COORD,9);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
setPixel(COORD+3,9);
}

//desenha caractere C
void letraC(int COORD)
{
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD,6);
setPixel(COORD,7);
setPixel(COORD,8);
setPixel(COORD+4,8);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
setPixel(COORD+3,9);
}

//desenha caractere D
void letraD(int COORD)
{
setPixel(COORD,3);
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD+4,5);
setPixel(COORD,6);
setPixel(COORD+4,6);
setPixel(COORD,7);
setPixel(COORD+4,7);
setPixel(COORD,8);
setPixel(COORD+4,8);
setPixel(COORD,9);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
setPixel(COORD+3,9);
}

//desenha caractere E
void letraE(int COORD)
{
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD+4,3);
setPixel(COORD,4);
setPixel(COORD,5);
setPixel(COORD+1,6);
setPixel(COORD+2,6);
setPixel(COORD+3,6);
setPixel(COORD,7);
setPixel(COORD,8);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
setPixel(COORD+3,9);
setPixel(COORD+4,9);
}

//desenha caractere É
void letraEs(int COORD)
{
//setPixel(COORD+4,1);
setPixel(COORD+3,2);  
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD+4,3);
setPixel(COORD,4);
setPixel(COORD,5);
setPixel(COORD+1,6);
setPixel(COORD+2,6);
setPixel(COORD+3,6);
setPixel(COORD,7);
setPixel(COORD,8);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
setPixel(COORD+3,9);
setPixel(COORD+4,9);
}

//desenha caractere F
void letraF(int COORD)
{
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD+4,3);
setPixel(COORD,4);
setPixel(COORD,5);
setPixel(COORD,6);
setPixel(COORD+1,6);
setPixel(COORD+2,6);
setPixel(COORD,7);
setPixel(COORD,8);
setPixel(COORD,9);
}

//desenha caractere G
void letraG(int COORD)
{
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD,6);
setPixel(COORD+3,6);
setPixel(COORD+4,6);
setPixel(COORD,7);
setPixel(COORD+4,7);
setPixel(COORD,8);
setPixel(COORD+4,8);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
setPixel(COORD+3,9);
}

//desenha caractere H
//void letraH(int COORD)
//{
//setPixel(COORD,3);
//setPixel(COORD+4,3);
//setPixel(COORD,4);
//setPixel(COORD+4,4);
//setPixel(COORD,5);
//setPixel(COORD+4,5);
//setPixel(COORD,6);
//setPixel(COORD+1,6);
//setPixel(COORD+2,6);
//setPixel(COORD+3,6);
//setPixel(COORD+4,6);
//setPixel(COORD,7);
//setPixel(COORD+4,7);
//setPixel(COORD,8);
//setPixel(COORD+4,8);
//setPixel(COORD,9);
//setPixel(COORD+4,9);
//}

//desenha caractere I
void letraI(int COORD)
{
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD+2,4);
setPixel(COORD+2,5);
setPixel(COORD+2,6);
setPixel(COORD+2,7);
setPixel(COORD+2,8);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
setPixel(COORD+3,9);
}

//desenha caractere J
void letraJ(int COORD)
{
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD+4,3);
setPixel(COORD+3,4);
setPixel(COORD+3,5);
setPixel(COORD+3,6);
setPixel(COORD+3,7);
setPixel(COORD,8);
setPixel(COORD+3,8);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
}

//desenha caractere K
void letraK(int COORD)
{
setPixel(COORD,3);
setPixel(COORD+4,3);
setPixel(COORD,4);
setPixel(COORD+3,4);
setPixel(COORD,5);
setPixel(COORD+2,5);
setPixel(COORD,6);
setPixel(COORD+1,6);
setPixel(COORD,7);
setPixel(COORD+2,7);
setPixel(COORD,8);
setPixel(COORD+3,8);
setPixel(COORD,9);
setPixel(COORD+4,9);
}

//desenha caractere L
void letraL(int COORD)
{
setPixel(COORD,3);
setPixel(COORD,4);
setPixel(COORD,5);
setPixel(COORD,6);
setPixel(COORD,7);
setPixel(COORD,8);
setPixel(COORD,9);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
setPixel(COORD+3,9);
setPixel(COORD+4,9);
}

//desenha caractere M
void letraM(int COORD)
{
setPixel(COORD,3);
setPixel(COORD+4,3);
setPixel(COORD,4);
setPixel(COORD+1,4);
setPixel(COORD+3,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD+2,5);
setPixel(COORD+4,5);
setPixel(COORD,6);
setPixel(COORD+4,6);
setPixel(COORD,7);
setPixel(COORD+4,7);
setPixel(COORD,8);
setPixel(COORD+4,8);
setPixel(COORD,9);
setPixel(COORD+4,9);
}

//desenha caractere N
void letraN(int COORD)
{
setPixel(COORD,3);
setPixel(COORD+4,3);
setPixel(COORD,4);
setPixel(COORD+1,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD+2,5);
setPixel(COORD+4,5);
setPixel(COORD,6);
setPixel(COORD+3,6);
setPixel(COORD+4,6);
setPixel(COORD,7);
setPixel(COORD+4,7);
setPixel(COORD,8);
setPixel(COORD+4,8);
setPixel(COORD,9);
setPixel(COORD+4,9);
}

//desenha caractere O
void letraO(int COORD)
{
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD+4,5);
setPixel(COORD,6);
setPixel(COORD+4,6);
setPixel(COORD,7);
setPixel(COORD+4,7);
setPixel(COORD,8);
setPixel(COORD+4,8);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
setPixel(COORD+3,9);
}

//desenha caractere P
void letraP(int COORD)
{
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD+4,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD+4,5);
setPixel(COORD,6);
setPixel(COORD+1,6);
setPixel(COORD+2,6);
setPixel(COORD+3,6);
setPixel(COORD+4,6);
setPixel(COORD,7);
setPixel(COORD,8);
setPixel(COORD,9);
}

//desenha caractere Q
void letraQ(int COORD)
{
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD+4,5);
setPixel(COORD,6);
setPixel(COORD+4,6);
setPixel(COORD,7);
setPixel(COORD+4,7);
setPixel(COORD+1,8);
setPixel(COORD+2,8);
setPixel(COORD+3,8);
setPixel(COORD+3,9);
}

//desenha caractere R
void letraR(int COORD)
{
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD+4,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD+4,5);
setPixel(COORD,6);
setPixel(COORD+1,6);
setPixel(COORD+2,6);
setPixel(COORD+3,6);
setPixel(COORD+4,6);
setPixel(COORD,7);
setPixel(COORD+2,7);
setPixel(COORD,8);
setPixel(COORD+3,8);
setPixel(COORD,9);
setPixel(COORD+4,9);
}

//desenha caractere S
void letraS(int COORD)
{
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD+1,6);
setPixel(COORD+2,6);
setPixel(COORD+3,6);
setPixel(COORD+4,7);
setPixel(COORD,8);
setPixel(COORD+4,8);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
setPixel(COORD+3,9);
}

//desenha caractere T
void letraT(int COORD)
{
setPixel(COORD,3);
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD+4,3);
setPixel(COORD+2,4);
setPixel(COORD+2,5);
setPixel(COORD+2,6);
setPixel(COORD+2,7);
setPixel(COORD+2,8);
setPixel(COORD+2,9);

}

//desenha caractere U
void letraU(int COORD)
{
setPixel(COORD,3);
setPixel(COORD+4,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD+4,5);
setPixel(COORD,6);
setPixel(COORD+4,6);
setPixel(COORD,7);
setPixel(COORD+4,7);
setPixel(COORD,8);
setPixel(COORD+4,8);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
setPixel(COORD+3,9);
}

//desenha caractere V
void letraV(int COORD)
{
setPixel(COORD,3);
setPixel(COORD+4,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD+4,5);
setPixel(COORD+1,6);
setPixel(COORD+3,6);
setPixel(COORD+1,7);
setPixel(COORD+3,7);
setPixel(COORD+1,8);
setPixel(COORD+3,8);
setPixel(COORD+2,9);
}

//desenha caractere X
void letraX(int COORD)
{
setPixel(COORD,3);
setPixel(COORD+4,3);
setPixel(COORD+1,4);
setPixel(COORD+3,4);
setPixel(COORD+1,5);
setPixel(COORD+3,5);
setPixel(COORD+2,6);
setPixel(COORD+1,7);
setPixel(COORD+3,7);
setPixel(COORD+1,8);
setPixel(COORD+3,8);
setPixel(COORD,9);
setPixel(COORD+4,9);
}

//desenha caractere W
void letraW(int COORD)
{
setPixel(COORD,3);
setPixel(COORD+4,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD,5);
setPixel(COORD+4,5);
setPixel(COORD,6);
setPixel(COORD+4,6);
setPixel(COORD,7);
setPixel(COORD+2,7);
setPixel(COORD+4,7);
setPixel(COORD,8);
setPixel(COORD+1,8);
setPixel(COORD+3,8);
setPixel(COORD+4,8);
setPixel(COORD,9);
setPixel(COORD+4,9);
}

//desenha caractere Y
void letraY(int COORD)
{
setPixel(COORD,3);
setPixel(COORD+4,3);
setPixel(COORD,4);
setPixel(COORD+4,4);
setPixel(COORD+1,5);
setPixel(COORD+3,5);
setPixel(COORD+2,6);
setPixel(COORD+2,7);
setPixel(COORD+2,8);
setPixel(COORD+2,8);
}

//desenha caractere Z
void letraZ(int COORD)
{
setPixel(COORD,3);
setPixel(COORD+1,3);
setPixel(COORD+2,3);
setPixel(COORD+3,3);
setPixel(COORD+4,3);
setPixel(COORD+3,4);
setPixel(COORD+2,5);
setPixel(COORD+2,6);
setPixel(COORD+2,7);
setPixel(COORD+1,8);
setPixel(COORD,9);
setPixel(COORD+1,9);
setPixel(COORD+2,9);
setPixel(COORD+3,9);
setPixel(COORD+4,9);
}

//limpa caractere A
void limpaletraA(int COORD)
{
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD+4,5);
clearPixel(COORD,6);
clearPixel(COORD+4,6);
clearPixel(COORD,7);
clearPixel(COORD+1,7);
clearPixel(COORD+2,7);
clearPixel(COORD+3,7);
clearPixel(COORD+4,7);
clearPixel(COORD,8);
clearPixel(COORD+4,8);
clearPixel(COORD,9);
clearPixel(COORD+4,9);
}

//limpa caractere B
void limpaletraB(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD,4);
clearPixel(COORD+3,4);
clearPixel(COORD,5);
clearPixel(COORD+3,5);
clearPixel(COORD,6);
clearPixel(COORD+1,6);
clearPixel(COORD+2,6);
clearPixel(COORD+3,6);
clearPixel(COORD,7);
clearPixel(COORD+4,7);
clearPixel(COORD,8);
clearPixel(COORD+4,8);
clearPixel(COORD,9);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
clearPixel(COORD+3,9);
}

//limpa caractere C
void limpaletraC(int COORD)
{
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD,6);
clearPixel(COORD,7);
clearPixel(COORD,8);
clearPixel(COORD+4,8);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
clearPixel(COORD+3,9);
}

//limpa caractere D
void limpaletraD(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD+4,5);
clearPixel(COORD,6);
clearPixel(COORD+4,6);
clearPixel(COORD,7);
clearPixel(COORD+4,7);
clearPixel(COORD,8);
clearPixel(COORD+4,8);
clearPixel(COORD,9);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
clearPixel(COORD+3,9);
}

//limpa caractere E
void limpaletraE(int COORD)
{
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD+4,3);
clearPixel(COORD,4);
clearPixel(COORD,5);
clearPixel(COORD+1,6);
clearPixel(COORD+2,6);
clearPixel(COORD+3,6);
clearPixel(COORD,7);
clearPixel(COORD,8);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
clearPixel(COORD+3,9);
clearPixel(COORD+4,9);
}

//limpa caractere É
void limpaletraEs(int COORD)
{
//clearPixel(COORD+4,1);
clearPixel(COORD+3,2);  
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD+4,3);
clearPixel(COORD,4);
clearPixel(COORD,5);
clearPixel(COORD+1,6);
clearPixel(COORD+2,6);
clearPixel(COORD+3,6);
clearPixel(COORD,7);
clearPixel(COORD,8);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
clearPixel(COORD+3,9);
clearPixel(COORD+4,9);
}

//limpa caractere F
void limpaletraF(int COORD)
{
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD+4,3);
clearPixel(COORD,4);
clearPixel(COORD,5);
clearPixel(COORD,6);
clearPixel(COORD+1,6);
clearPixel(COORD+2,6);
clearPixel(COORD,7);
clearPixel(COORD,8);
clearPixel(COORD,9);
}

//limpa caractere G
void limpaletraG(int COORD)
{
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD,6);
clearPixel(COORD+3,6);
clearPixel(COORD+4,6);
clearPixel(COORD,7);
clearPixel(COORD+4,7);
clearPixel(COORD,8);
clearPixel(COORD+4,8);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
clearPixel(COORD+3,9);
}

//limpa caractere H
//void limpaletraH(int COORD)
//{
//clearscreen();
//clearPixel(COORD,3);
//clearPixel(COORD+4,3);
//clearPixel(COORD,4);
//clearPixel(COORD+4,4);
//clearPixel(COORD,5);
//clearPixel(COORD+4,5);
//clearPixel(COORD,6);
//clearPixel(COORD+1,6);
//clearPixel(COORD+2,6);
//clearPixel(COORD+3,6);
//clearPixel(COORD+4,6);
//clearPixel(COORD,7);
//clearPixel(COORD+4,7);
//clearPixel(COORD,8);
//clearPixel(COORD+4,8);
//clearPixel(COORD,9);
//clearPixel(COORD+4,9);
//}

//limpa caractere I
void limpaletraI(int COORD)
{
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD+2,4);
clearPixel(COORD+2,5);
clearPixel(COORD+2,6);
clearPixel(COORD+2,7);
clearPixel(COORD+2,8);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
clearPixel(COORD+3,9);
}

//limpa caractere J
void limpaletraJ(int COORD)
{
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD+4,3);
clearPixel(COORD+3,4);
clearPixel(COORD+3,5);
clearPixel(COORD+3,6);
clearPixel(COORD+3,7);
clearPixel(COORD,8);
clearPixel(COORD+3,8);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
}

//limpa caractere K
void limpaletraK(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD+4,3);
clearPixel(COORD,4);
clearPixel(COORD+3,4);
clearPixel(COORD,5);
clearPixel(COORD+2,5);
clearPixel(COORD,6);
clearPixel(COORD+1,6);
clearPixel(COORD,7);
clearPixel(COORD+2,7);
clearPixel(COORD,8);
clearPixel(COORD+3,8);
clearPixel(COORD,9);
clearPixel(COORD+4,9);
}

//limpa caractere L
void limpaletraL(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD,4);
clearPixel(COORD,5);
clearPixel(COORD,6);
clearPixel(COORD,7);
clearPixel(COORD,8);
clearPixel(COORD,9);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
clearPixel(COORD+3,9);
clearPixel(COORD+4,9);
}

//limpa caractere M
void limpaletraM(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD+4,3);
clearPixel(COORD,4);
clearPixel(COORD+1,4);
clearPixel(COORD+3,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD+2,5);
clearPixel(COORD+4,5);
clearPixel(COORD,6);
clearPixel(COORD+4,6);
clearPixel(COORD,7);
clearPixel(COORD+4,7);
clearPixel(COORD,8);
clearPixel(COORD+4,8);
clearPixel(COORD,9);
clearPixel(COORD+4,9);
}

//limpa caractere N
void limpaletraN(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD+4,3);
clearPixel(COORD,4);
clearPixel(COORD+1,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD+2,5);
clearPixel(COORD+4,5);
clearPixel(COORD,6);
clearPixel(COORD+3,6);
clearPixel(COORD+4,6);
clearPixel(COORD,7);
clearPixel(COORD+4,7);
clearPixel(COORD,8);
clearPixel(COORD+4,8);
clearPixel(COORD,9);
clearPixel(COORD+4,9);
}

//limpa caractere O
void limpaletraO(int COORD)
{
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD+4,5);
clearPixel(COORD,6);
clearPixel(COORD+4,6);
clearPixel(COORD,7);
clearPixel(COORD+4,7);
clearPixel(COORD,8);
clearPixel(COORD+4,8);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
clearPixel(COORD+3,9);
}

//limpa caractere P
void limpaletraP(int COORD)
{
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD+4,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD+4,5);
clearPixel(COORD,6);
clearPixel(COORD+1,6);
clearPixel(COORD+2,6);
clearPixel(COORD+3,6);
clearPixel(COORD+4,6);
clearPixel(COORD,7);
clearPixel(COORD,8);
clearPixel(COORD,9);
}

//limpa caractere Q
void limpaletraQ(int COORD)
{
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD+4,5);
clearPixel(COORD,6);
clearPixel(COORD+4,6);
clearPixel(COORD,7);
clearPixel(COORD+4,7);
clearPixel(COORD+1,8);
clearPixel(COORD+2,8);
clearPixel(COORD+3,8);
clearPixel(COORD+3,9);
}

//limpa caractere R
void limpaletraR(int COORD)
{
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD+4,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD+4,5);
clearPixel(COORD,6);
clearPixel(COORD+1,6);
clearPixel(COORD+2,6);
clearPixel(COORD+3,6);
clearPixel(COORD+4,6);
clearPixel(COORD,7);
clearPixel(COORD+2,7);
clearPixel(COORD,8);
clearPixel(COORD+3,8);
clearPixel(COORD,9);
clearPixel(COORD+4,9);
}

//limpa caractere S
void limpaletraS(int COORD)
{
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD+1,6);
clearPixel(COORD+2,6);
clearPixel(COORD+3,6);
clearPixel(COORD+4,7);
clearPixel(COORD,8);
clearPixel(COORD+4,8);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
clearPixel(COORD+3,9);
}

//limpa caractere T
void limpaletraT(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD+4,3);
clearPixel(COORD+2,4);
clearPixel(COORD+2,5);
clearPixel(COORD+2,6);
clearPixel(COORD+2,7);
clearPixel(COORD+2,8);
clearPixel(COORD+2,9);

}

//limpa caractere U
void limpaletraU(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD+4,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD+4,5);
clearPixel(COORD,6);
clearPixel(COORD+4,6);
clearPixel(COORD,7);
clearPixel(COORD+4,7);
clearPixel(COORD,8);
clearPixel(COORD+4,8);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
clearPixel(COORD+3,9);
}

//limpa caractere V
void limpaletraV(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD+4,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD+4,5);
clearPixel(COORD+1,6);
clearPixel(COORD+3,6);
clearPixel(COORD+1,7);
clearPixel(COORD+3,7);
clearPixel(COORD+1,8);
clearPixel(COORD+3,8);
clearPixel(COORD+2,9);
}

//limpa caractere X
void limpaletraX(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD+4,3);
clearPixel(COORD+1,4);
clearPixel(COORD+3,4);
clearPixel(COORD+1,5);
clearPixel(COORD+3,5);
clearPixel(COORD+2,6);
clearPixel(COORD+1,7);
clearPixel(COORD+3,7);
clearPixel(COORD+1,8);
clearPixel(COORD+3,8);
clearPixel(COORD,9);
clearPixel(COORD+4,9);
}

//limpa caractere W
void limpaletraW(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD+4,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD,5);
clearPixel(COORD+4,5);
clearPixel(COORD,6);
clearPixel(COORD+4,6);
clearPixel(COORD,7);
clearPixel(COORD+2,7);
clearPixel(COORD+4,7);
clearPixel(COORD,8);
clearPixel(COORD+1,8);
clearPixel(COORD+3,8);
clearPixel(COORD+4,8);
clearPixel(COORD,9);
clearPixel(COORD+4,9);
}

//limpa caractere Y
void limpaletraY(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD+4,3);
clearPixel(COORD,4);
clearPixel(COORD+4,4);
clearPixel(COORD+1,5);
clearPixel(COORD+3,5);
clearPixel(COORD+2,6);
clearPixel(COORD+2,7);
clearPixel(COORD+2,8);
clearPixel(COORD+2,8);
}

//limpa caractere Z
void limpaletraZ(int COORD)
{
clearPixel(COORD,3);
clearPixel(COORD+1,3);
clearPixel(COORD+2,3);
clearPixel(COORD+3,3);
clearPixel(COORD+4,3);
clearPixel(COORD+3,4);
clearPixel(COORD+2,5);
clearPixel(COORD+2,6);
clearPixel(COORD+2,7);
clearPixel(COORD+1,8);
clearPixel(COORD,9);
clearPixel(COORD+1,9);
clearPixel(COORD+2,9);
clearPixel(COORD+3,9);
clearPixel(COORD+4,9);
}

char palavra[25]=" ARTE , TUDO MENOS ISSO";
int letra;
int caractere;

// the setup routine
void setup()
{
cli();
pinMode (SYNC_PIN, OUTPUT);
pinMode (DATA_PIN, OUTPUT);
digitalWrite (SYNC_PIN, HIGH);
digitalWrite (DATA_PIN, HIGH);
clearScreen();
}

void loop()
{
int COORD;
int num_letras;

for (num_letras=0;num_letras<=23;num_letras++)
{
clearScreen();

for ( COORD=33;COORD>=3;COORD--)
{
 
// iterate over the lines on the tv
for ( line =0;line< DISPLAY_LINES;++line)
{
// HSync
// front porch (1.5 us)
PORTB = _BLACK;
delayMicroseconds(1.5);
//sync (4.7 us)
PORTB = _SYNC;
delayMicroseconds(4.7);
// breezeway (.6us) + burst (2.5us) + colour back borch (1.6 us)
PORTB = _BLACK;
delayMicroseconds(0.6+2.5+1.6);
//calculate which line to draw to
newLine = line >>4;
delayMicroseconds(1);
//display the array for this line
// a loop would have been smaller, but it messes the timing up
PORTB = frameBuffer[0][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[1][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[2][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[3][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[4][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[5][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[6][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[7][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[8][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[9][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[10][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[11][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[12][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[13][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[14][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[15][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[16][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[17][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[18][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[19][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[20][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[21][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[22][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[23][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[24][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[25][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[26][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[27][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[28][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[29][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[30][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[31][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[32][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[33][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[34][newLine];
delayMicroseconds(1);
PORTB = frameBuffer[35][newLine];
delayMicroseconds(1);
// klugdge to correct timings
PORTB = frameBuffer[36][newLine];
delayMicroseconds(3);
}

//vsync
PORTB = _SYNC;
delayMicroseconds(305); //haver com sync do framebuffer = pesquisar

caractere = palavra[num_letras];
letra = (int)caractere;

switch (letra) {
case 90: 
limpaletraZ(COORD+1);
letraZ(COORD);
break;
case 89:
limpaletraY(COORD+1);
letraY(COORD);
break;
case 88: 
limpaletraX(COORD+1);
letraX(COORD); 
break;
case 87: 
limpaletraW(COORD+1);
letraW(COORD);
break;
case 86: 
limpaletraV(COORD+1);
letraV(COORD); 
break;
case 85: 
limpaletraU(COORD+1);
letraU(COORD); 
break;
case 84: 
limpaletraT(COORD+1);
letraT(COORD); 
break;
case 83: 
limpaletraS(COORD+1);
letraS(COORD); 
break;
case 82: 
limpaletraR(COORD+1);
letraR(COORD); 
break;
case 81: 
limpaletraQ(COORD+1);
letraQ(COORD); 
break;
case 80: 
limpaletraP(COORD+1);
letraP(COORD); 
break;
case 79:  
limpaletraO(COORD+1);
letraO(COORD); 
break;
case 78:  
limpaletraN(COORD+1);
letraN(COORD); 
break;
case 77:  
limpaletraM(COORD+1);
letraM(COORD); 
break;
case 76:  
limpaletraL(COORD+1);
letraL(COORD); 
break;
case 75:  
limpaletraK(COORD+1);
letraK(COORD); 
break;
case 74:  
limpaletraJ(COORD+1);
letraJ(COORD); 
break;
case 73:  
limpaletraI(COORD+1);
letraI(COORD); 
break;
//case 72:  
//limpaletraH(COORD+1);
//letraH(COORD); 
//break;
case 71:  
limpaletraG(COORD+1);
letraG(COORD); 
break;
case 70:  
limpaletraF(COORD+1);
letraF(COORD); 
break;
case 69:  
limpaletraE(COORD+1);
letraE(COORD); 
break;
case 68:  
limpaletraD(COORD+1);
letraD(COORD); 
break;
case 67:  
limpaletraC(COORD+1);
letraC(COORD); 
break;
case 66:  
limpaletraB(COORD+1);
letraB(COORD); 
break;
case 65:  
limpaletraA(COORD+1);
letraA(COORD); 
break;
case 44:  
limpaletraEs(COORD+1);
letraEs(COORD); 
break;
}
}
}
}


Links afins:
http://alastair.parker.googlepages.com/arduinopong
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1187659197

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki
Page was generated in 0.0962 seconds