Olá a todos mais uma vez,
Desta vez venho apresentar-vos o meu projecto do meu dia de trabalho.. de hoje! Sim porque as vezes o meu trabalho é como que uma Whirlpool de 8 Kgs AWZ 8678 (que grande Secador...)
Entao hoje quando cheguei ao meu emprego e vi que ia ter umas boas horas de seca pura, lembrei-me que podia fazer algo de útil...
P: E que tal um programador de eeproms?
R: Uma vez que graças à limitação do Arduino não conseguimos por os arrays em memória, se conseguíssemos enviá-los byte a byte era óptimo! Claro que conseguimos, até o próprio Arduino.exe o faz... mas bem enviar, por exemplo 30000 bytes através daquele pseudo-SerialMonitor/Terminal... era no mínimo tão mau como uma tortura feita por Vlad.
Então se o conseguisse fazer, já podia enviar tudo o que me apetecesse para a eeprom, rápidamente e sem grande trabalho. Assim até podia fazer os bitmaps para o LCD da Nokia, descarregá-los na eeprom e por o Arduino a mandá-los para o LCD! 2 imagens a fullscreen para o LCD já atrofiam o Arduino... Mas na eeprom posso por 32 e ainda sobra memória!
Então fiz a aplicação em VB e deu nisto na imagem do topo do tópico.
(editado por TigPT para a imagem aparecer na primeira página)que com as configurações que vêm na imagem dá nisto:
Bom, o programa é bastante fácil de usar:
1º - na pasta flasheeprom que está dentro do rar (anexo), está o programa que tem de descarregar para o Arduino.
Este programa escuta a porta Serie e interpreta o que recebe.
2º - abrir o programa Arduinoeeprom.exe e lá têm várias opções:
- COM: Aqui indicam o número da vossa porta COM que está associada ao Arduino, quando a escolhem e clicam
em ligar o LED tem de piscar.
- Baud Rate: aqui definem o baud rate da comunicação. Por omissão é 9600, podem alterar mas depois têm de
alterar de acordo no programa do Arduino.
- Endereço: Aqui indicam a posição de memória na EEPROM onde querem começar a ler ou a escrever.
- Radio Buttons, Leitura, Escrita ou LCD... São bem específicos. Na opção "Escrita", tudo o que fôr escrito na
EEPROM vai aparecer no LCD da Nokia caso tenham um ligado.
Na opção LCD o programa simplesmente mostra o bitmap gerado no LCD! (usam o programa FastLCD para
gerar o bitmap)
3º - Depois de configurado ao vosso jeito, clicam em ligar. Se tudo estiver ok vêm o LED a piscar e aparece uma
mensagem a dizer que está tudo ok com a COM.
Atenção se a com existir e não for a do Arduino o programa diz
que está tudo bem mas o LED no Arduino não pisca!4º - Clicam em enviar e já está!
Este programa é útil não só para programar e ler eeproms i2c, mas também permite a todos aqueles que tenham um LCD da NOKIA enviar imagens para lá sem grande esforço e poupando o Arduino a eventuais desgraças!
Outro exemplo é, em vez de definir a font do LCD da NOKIA num array em memória no Arduino, enviam-no para a eeprom e alteram a função
putchar();, que eu forneci, para ir à eeprom buscar os caracteres!
Para quem quiser um LCD da Nokia barato o utilizador metr0_ propôs uns baratos (2 ou 3 euros cada) aqui:
http://lusorobotica.com/index.php/topic,447.0.htmlQuem quiser saber mais sobre este LCD veja este tópico:
http://lusorobotica.com/index.php/topic,431.msg2619.htmlMais info sobre eeproms i2c:
http://lusorobotica.com/index.php/topic,461.0.htmlMais sobre o protocolo i2c:
http://lusorobotica.com/index.php/topic,33.0.html