• Welcome to LusoRobótica - Robótica em Português.
 

LCD YM1602C 16x2 (Compatível HD44780) TEXT SCROLL

Started by ricardo-reis, 12 de July de 2009, 17:06

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ricardo-reis

tu kd fazes um delay no código o processador simplesmente pára à espera k esse tempo termine.. kd terminar segue prá linha seguinte..

ricardo-reis


TigPT

Sim senhor... quando temos uma máquina de café?! :P

ricardo-reis

lol.. primeiro ainda há um graande pormenor a corrigir.. frases longas passam a ocupar a linha seguinte, o que n é o ideal para o que se pretendia..

por acaso este lcd lembra-me o da máquina de snacks lá do departamento.. :D

ricardo-reis

bem, em relação ao meu post anterior, onde dizia que havia um problema com as strings grandes, é de fácil solução.. dá pra mandar imprimir o que quer que seja na linha anterior, ou no caso de estarem a imprimir na primeira linha o array, dá pra imprimir na linha seguinte, sejam espaços em branco, seja o que fôr.. que sobrepõe..

se por acaso encontrarem mais algum problema digam..

ruisilva

Já agora, e devo-vos dizer que me tem divertido imenso esta coisa do leftscrool ou coisa parecida, será que alguem sabe como se poderá fazer a "escrita" tipo matrix, e refiro-me ao filme, aparecer num  lcd?!?!?!?

Eu já o fiz mas não nesta plataforma e nem se quer utilizava hardware, mas sim um simples portatil 385 a 12Mhz e tudo feito no MS-DOS....

Acho que devia ser bonito transpor o que se fazia na velha guarda para as tecnologias de agora, mas não sei nada de programação, a não ser o que tenho experimentado e aprendido com todos os utilizadores deste  MAGNIFICO forum que é  a LUSOROBOTICA. Por favor, não me julguem da minha ignorancia, este foi e será o local virtual onde mais aprendi até aos dias de hoje dentro da area da robotica, electrónica e afins que englobam este mundo.

Acho que seria uma "coisa" engraçada de se fazer, caso seja possivel... é que ideias não me faltam, mas, concretizalas, isso e que é o meu maior dezafio...
... se existo é porque insisto...

ricardo-reis

é possível sim.. mas referes-te a texto aleatório a aparecer?

é possível e bastante simples..

basta criar aleatóriamente uma string (até tens os caracteres chineses no lcd e tudo) e imprimi-los na posição 0,0 do lcd.

dps o k precisas pra pôr o texto a rodar de cima pra baixo: copiar essa string pra uma auxiliar, imprimi-la na posição 0,1 e dps continuar no passo anterior.. gerar string, imprimir na 0,0.. e assim sucessivamente..

eu kd acabar o k ando a fazer dps faço-te um exemplo disso..

ruisilva

ricardo-reis, fico muito agradecido pela disponibilidade, e, cá aguardo então a sua sugestão, a ver se aprendo mais alguma coisa, e é claro que com todos os utilizadores do LUSOROBOTICA à sempre motivos para se aprender.
... se existo é porque insisto...

ricardo-reis

#23
ruisilva, aqui tens o que krias:


#include <MsTimer2.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
int vector[16];
int aux[16];

void escreve() {
 lcd.clear();
 lcd.setCursor(0,0);
 for(int i=0;i<16;i++){
   vector[i]=random(30);
 }
 for(int i=0;i<16;i++){
   lcd.write(vector[i]);
 }
 lcd.setCursor(0,1);
 for(int i=0;i<16;i++){
   lcd.write(aux[i]);
 }
 for(int i=0;i<16;i++){
   aux[i]=vector[i];
 }
}
void setup() {
 analogWrite(6,80);  // isto serve para quem tem o pino 6 do arduino ligado ao pino que regula o contraste do lcd
 MsTimer2::set(500, escreve);  // 500 é o tempo em ms.. se quiserem ter o texto a rodar mais depressa diminuam o tempo, se quiserem mais devagar aumentem..
 MsTimer2::start();
}

void loop() {
}


se precisares d'algum comentário ao código, apita..

ps: n sei qual é a expectativa que tens acerca disto quando o idealizaste, mas num lcd de duas linhas n se pode esperar grande resultado..

ruisilva

Muito obrigado pela ajuda.... assim que me for possivel, vou experimentar a ver se dá para me rir mais um pouco e aprender mais um pouco de programação.

... se existo é porque insisto...

ricardo-reis