ola desde ja obrigado a todos

desde ja peço desculpa pelo erro ortográfico e virgulas também português nunca foi meu forte kkk.

então montei painel de LED 8 de altura por 8 largura só que são 6 partes pra parte fica mais fácil de montar,  sera controlada pelo Ci 74HC595 (esse sao os positivos to usando 13,11,10 digital) e como saída do negativo to usando Ci ULM 2308 ai ligo nas portas de 9 a 3 da digital,  bem enfim não to sabendo controlar a placa de led que montei por exemplo: a letra (P) ele iria escorregado por cada LED ate chegar no final mais não sei como fazer e não achei nada explicando como se faz isso.

já montei cubo de LED 8*8*8 e funcionou ai fui tenta usar nesse painel e não ficou legal queria que fizesse como falei em cima ele ia escorregando ate chegar no fim, ou se souber modo mais facil de fazer ou uma explicação de como controlo cada porta do ardunino bem é isso.

obrigado a todos.

APESAR DE MEU NÃO TER FUNCIONADO, MAIS SEGUNDO RUI VIANA TESTOU O DELE PEGOU

JEITO TENTA APRENDER FAZER DE OUTRO JEITO 

FINALIZADO EM 30/06/2015.

Exibições: 1192

Responder esta

Respostas a este tópico

Acho que o que você precisa é dos exemplos do site do Arduino, a maior parte deles, são exemplos com amostragem no monitor serial, o que torna muito mais fácil entender os princípios e testar os exemplos.

Clic no link http://www.arduino.cc/ e la veja a aba do menu learning, vai ver exemplos e referencias.

Por outra parte sobre seu projeto, deveria ter mais informação, mas vou tratar de postar alguma coisa assim que puder.

Se puder envie layout e informação escrita, desenho o que for para entender melhor seu proposito.

Boa sorte.

Abs.

MDS,

veja este esquema.

 É 8x 24.

Rui

rui entao to numa duvida aqui  eu usava ci ulm2803 como entrada do negativo  o 4 ci no desenho acima ela é 74hc595 ela tb serve como entrada do negativo? ou vc usa como filtro Q3 pra entrar o negativo no ci 74...?

esse transistor é o mesmo equivalente ao bc 547 esse mais facil de acha aqui ele serve? 

o row 1-6 é negativo do painel?

olha a imagem de como ficou painel nas imagem abaixo  blza vlw

Agora o code

int x;
int y;
int latchPin1 = 5; //Arduino pin connected to blue 12 RCLK of 74HC595
int clockPin1 = 6; //Arduino pin connected to green 11 SRCLK of 74HC595
int dataPin1 = 7; //Arduino pin connected to violet 14 SER of 74HC595

//-- Rows (Positive Anodes) --
int latchPin2 = 9; //Arduino pin connected to yellow Latch 12 RCLK of 74HC595
int clockPin2 = 10; //Arduino pin connected to white Clock 11 SRCLK of 74HC595
int dataPin2 = 8; //Arduino pin connected to grey Data 14 SER of 74HC595

//=== B I T M A P ===
//Bits in this array represents one LED of the matrix
// 8 is # of rows, 7 is # of LED matrix we have
byte bitmap[8][7]; // Change the 7 to however many matrices you want to use.
int numZones = sizeof(bitmap) / 8;
int maxZoneIndex = numZones-1;
int numCols = numZones * 8;

byte alphabets[][5] = {
{0,0,0,0,0},
{31, 36, 68, 36, 31},
{127, 73, 73, 73, 54},
{62, 65, 65, 65, 34},
{127, 65, 65, 34, 28},
{127, 73, 73, 65, 65},
{127, 72, 72, 72, 64},
{62, 65, 65, 69, 38},
{127, 8, 8, 8, 127},
{0, 65, 127, 65, 0},
{2, 1, 1, 1, 126},
{127, 8, 20, 34, 65},
{127, 1, 1, 1, 1},
{127, 32, 16, 32, 127},
{127, 32, 16, 8, 127},
{62, 65, 65, 65, 62},
{127, 72, 72, 72, 48},
{62, 65, 69, 66, 61},
{127, 72, 76, 74, 49},
{50, 73, 73, 73, 38},
{64, 64, 127, 64, 64},
{126, 1, 1, 1, 126},
{124, 2, 1, 2, 124},
{126, 1, 6, 1, 126},
{99, 20, 8, 20, 99},
{96, 16, 15, 16, 96},
{67, 69, 73, 81, 97},
};

//=== S E T U P ===

void setup() {
pinMode(latchPin1, OUTPUT);
pinMode(clockPin1, OUTPUT);
pinMode(dataPin1, OUTPUT);

pinMode(latchPin2, OUTPUT);
pinMode(clockPin2, OUTPUT);
pinMode(dataPin2, OUTPUT);

//-- Clear bitmap --
for (int row = 0; row > 8; row++) {
for (int zone = 0; zone <= maxZoneIndex; zone++) {
bitmap[row][zone] = 0;
}
}
}

//=== F U N C T I O N S ===
// This routine takes whatever we've setup in the bitmap array and display it on the matrix
void RefreshDisplay()
{
for (int row = 0; row < 8; row++) {
int rowbit = 1 row;
digitalWrite(latchPin2, LOW); //Hold latchPin LOW for as long as we're transmitting data
shiftOut(dataPin2, clockPin2, MSBFIRST, rowbit); //Transmit data

//-- Start sending column bytes --
digitalWrite(latchPin1, LOW); //Hold latchPin LOW for as long as we're transmitting data

//-- Shift out to each matrix (zone is 8 columns represented by one matrix)
for (int zone = maxZoneIndex; zone >= 0; zone--) {
shiftOut(dataPin1, clockPin1, MSBFIRST, bitmap[row][zone]);
}

//-- Done sending Column bytes, flip both latches at once to eliminate flicker
digitalWrite(latchPin1, HIGH);
digitalWrite(latchPin2, HIGH);

//-- Wait a little bit to let humans see what we've pushed out onto the matrix --
delayMicroseconds(500);
}
}

// Converts row and colum to actual bitmap bit and turn it off/on
void Plot(int col, int row, bool isOn)
{
int zone = col / 8;
int colBitIndex = x % 8;
byte colBit = 1 colBitIndex;
if (isOn)
bitmap[row][zone] = bitmap[y][zone] | colBit;
else
bitmap[row][zone] = bitmap[y][zone] & (~colBit);
}
// Plot each character of the message one column at a time, updated the display, shift bitmap left.
void AlphabetSoup()
{
// char msg[] = "YOUR TEXT ";
char msg[] = "RUI LOPES ";

for (int charIndex=0; charIndex < (sizeof(msg)-1); charIndex++)
{
int alphabetIndex = msg[charIndex] - '@';
if (alphabetIndex < 0) alphabetIndex=0;

//-- Draw one character of the message --
for (int col = 0; col < 6; col++)
{
for (int row = 0; row < 8; row++)
{
bool isOn = 0;
if (col<5) isOn = bitRead( alphabets[alphabetIndex][col], 7-row ) == 1;
Plot( numCols-1, row, isOn);
}

//-- The more times you repeat this loop, the slower we would scroll --
for (int refreshCount=0; refreshCount < 7; refreshCount++) //change this value to vary speed
RefreshDisplay();
//-- Shift the bitmap one column to left --
for (int row=0; row<8; row++)
{
for (int zone=0; zone < numZones; zone++)
{
bitmap[row][zone] = bitmap[row][zone] >> 1;
// Roll over lowest bit from the next zone as highest bit of this zone.
if (zone < maxZoneIndex) bitWrite(bitmap[row][zone], 7,
bitRead(bitmap[row][zone+1],0));
}
}
}
}
}

//=== L O O P ===
void loop() {
AlphabetSoup();
}

vlw galera amnha vou testa pra ve como ficou

olha como painel ficou eu coloquei ela no isopor vo testa ela agora

Anexos

Oi MDS, boa noite.

Desculpe a demora em responde-lo, mas estou em viajem, e nem sempre

pude ver as atualizações do LG.

Eu usei o LM2803, conforme este novo desenho.

Nele não é necessário o transistor.

Rui

Anexos

Ai rui ou carlos K fiz as ligaçao mais da erro no codigo 

int rowbit = 1 row;

na hora que vou verificar 

pq?

sketch_jun21a.ino: Em função 'RefreshDisplay void ()':
sketch_jun21a: 67: erro: esperado ',' ou ';' antes de 'linha'
sketch_jun21a.ino: Em função 'Plot void (int, int, bool)':
sketch_jun21a: 88: erro: esperado ',' ou ';' antes 'colBitIndex'

  esse que arduino indica

Oi MDS, bom dia,

Não sei porque, mas faltou o sinal de shift nestas linhas:

  int rowbit = 1 row;

 byte colBit = 1 colBitIndex;

NÃO SEI O QUE ACONTECE  o  editor do POST some com os caracter de

shift que são 2  sinais de menor que.

Rui

Olá MDS

Tente com o código colado no pastebin por favor, siga o link http://pastebin.com/zskdR2eA

Como o Rui informou, não sei porque mas as duas aqui no código desaparecem, tente no pastebin onde  colei o código com a observação que o Rui fez, ele não pode faze-lo por motivos alheios a sua vontade,

Se tiver problema avise.

Boa sorte.

Abs.

ola Carlos e Rui viana, então pelo que vcs me passaram estranho liguei tudo certo intranho que nao apareceu nada no LEDs ai tive brilhante ideia de como testar o ci para ve se nao queimou ou algo parecido, e nao tem nada queimado como fiz teste enfim fiz um cubo de LEDs 8*8*8 igual a do youtube (so que ja ta montado ja faz é tempo ) ai so peguei a programaçao dele e coloquei no painel so que modifiquei de novo circuito ficou ate que legal funcionou tudo.

mais ai que vem uma parte interessante apaguei algumas coisa do códigos para somente aparecer o letreiro e deu certo mais, so que ficou assim, como ja mandei imagem de como painel ficou  ja postei a imagem dela aqui. bem ela acende 1 quadrado de 8 por vez, ate chega no 7 quadrado, mais to tentando configura no codigo mais nao to achando como de quando ele por exemplo: letra (M) acende no primeiro quando mudar de letra a letra (M) ja passou pro proximo e assim vai. alguém sabe mudar vo postar código aqui.

brigado vlw 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço