Ruminações de um "Old Timer" sobre software e hardware
quinta-feira, agosto 16, 2012
Rolando Texto no Display JY-MCU3208
Nesta nova brincadeira com o JY-MCU3208 vamos rolar um texto da direita para a esquerda. Além de exercitar um pouco mais a programação do display, o resultado obtido é util para a apresentação de pequenas mensagens.
Para aproveitar melhor o display, vamos usar caracteres de largura variável. Para isto parti da definição de caracteres em um exemplo de Rick Shear. Coloquei os caracteres na ordem do código ASCII e completei para cobrir a faixa 0x20 a 0x7F. Cada caracter ocupa seis bytes na Flash, o primeiro indica a largura e os seguintes o desenho:
Vamos escrever os caracteres uma coluna por vez na margem direita do display, deslocando em seguida toda a tela para a esquerda. O deslocamento é apenas uma questão de mover os bits, a rotina abaixo inclui a opção de apagar a coluna mais à direita ao final do deslocamento.
static void desloca (uint8_t fLimpa)
{
uint8_t x, y;
for (x = 1; x < 32; x++)
for (y = 0; y < 8; y++)
ht1632c_setLED(x-1, y, ht1632c_getLED(x, y));
if (fLimpa)
for (y = 0; y < 8; y++)
ht1632c_setLED(31, y, 0);
}
A escrita de um caracter é semelhante ao que já vimos nas vezes anteriores, exceto que o número de colunas é variável e escrevemos sempre na última coluna e depois deslocamos a tela.
3 comentários:
Olá DQ,
Você acredita que dá para enviar de um arduino, por uma "rede" 2,4Ghz, um valor de uma variável para este display mostrar? Será que cabe no Mega8?
Pretendo usar os NRF24L01+ como "rede wireless". Tenho uma MCU que tem que exibir diversos valores em até 6 JY-MCU3208.
Ale, em princípio eu acho que sim. Ainda não mexi com o NRF24L01+ mas a interface dele é simples o suficiente para rodar fácil no Mega8.
Já estou te devendo uma cerveja...
Estou "limpando" o exemplo que você fez para deixar só o que preciso. Depois vou começar com o 24L01.
Hora dessas eu apareço no Garoa para mostrar como estão as coisas e pedir ajuda.
Obrigado.
Postar um comentário