LusoRobótica - Robótica em Português

Robótica => Tutoriais => Tópico iniciado por: tr3s em 21 de Janeiro de 2009, 18:01

Título: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 21 de Janeiro de 2009, 18:01
   Olá a todos,

   Venho aqui deixar mais uma contribuição para a nossa comunidade.
   Todos devem ter aí por casa aquele velhinho telemovel da Nokia, o 3310! Pois é, não sabem o que fazer com ele...
Pois bem isso acabou-se! Vou ensinar-vos a brincar com ele com o Arduino (se quiserem o mesmo para PICs é só pedir).

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg515.imageshack.us%2Fimg515%2F8607%2Fsnc00070yb4.jpg&hash=bc29c68ccc92aea93ab5a0472290f4f65f5de2da)

   Não é só o Nokia 3310 que tem um LCD controlado pelo PCD8544 (PCD8544 é o controlador do LCD, o Arduino envia as instruções para o controlador e este traduz-las no LCD), também o Nokia 3330, 3210, 5210, etc.. Enfim todos aqueles que tem o ecra monocromático tem um LCD baseado neste chip.
  Há ainda outro controlador LCD muito semelhante ao PCD8544 a circular por aí, é o OM6206. Os LCD beaseados neste chip tem exactamente os mesmos pinouts do PCD8544 e aceitam exactamente as mesmas instruções, a única diferença entre estes é a resolução. Enquanto o pcd8544 tem uma resolução máxima de 84x48 pixeis visíveis, o OM6206 tem uma resolução de 96x65 píxeis visíveis!
 
  Mesmo dentro destes dois modelos há variações, umas trazem pinos onde é facil soldar uns fios enquanto que outras trazem apenas uma zona metálica onde é um pouco mais dificil de soldar seja o que for...

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fserdisplib.sourceforge.net%2Fser%2Fimages%2Fpcd8544_displaytypes_plus_boards.jpg&hash=13549e18e932d18fe24f2acee6411c8bc849c74c)

  De qualquer maneira, com um pouco de prática em soldagem conseguem fazer o serviço! Convem ter cuidado durante o processo para nao queimar o controlador com a temperatura do ferro uma vez que este se encontra a menos de 5mm dos pinos!

  Os pinouts destes LCDs são os seguintes:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.techdesign.be%2Fprojects%2Fdatasheet%2Fnokia_3310_LCD.jpg&hash=e7927bd9204a1e55214d5824b6f855dd737fd0ec)

  Os datasheets destes controladores estão bastante bons e detalhados, por isso, não são leitura de mesinha de cabeceira mas, são essenciais para quem quiser entrar no mundo destes LCDs! :P
Título: Continuação: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 21 de Janeiro de 2009, 18:04
  Agora o código.
  É verdade que já existem umas linhas de código no site do Arduino, mas aquilo nem se pode chamar alguma coisa, porque está muito mal concebido. Usa recursos desnecessáriamente e está muito pouco legível e prático.
  Decidi converter algum código que já usava nos PICs e assim deixo-vos com isto:
  (Devido a algumas limitações do fórum nao dá para meter o codigo todo, de qualquer maneira envio-o em anexo)
Código: [Seleccione]

//-------Rotinas para pcd8544 por Daniel Gonçalves a.k.a. Tr3s------
// Podem usar estas rotinas à vontade para projectos particulares.
// Para fins comerciais entrar em contacto com we_real_cool@hotmail.com
// Partilhem com apenas com o meu concentimento.
// Se virem este código noutro sitio sem ser [url=http://www.lusorobotica.com]www.lusorobotica.com[/url] avisem de imediato para we_real_cool@hotmail.com!

byte nokiabyte[][5] = {  // Caracteres para usar uma vez que o controlador não os tem defenidos
 {0x00, 0x00, 0x00, 0x00, 0x00} // 20 
    .....
,{0x78, 0x46, 0x41, 0x46, 0x78} // 7f ?
};

void initlcd(void){        // Iniciar o LCD, tem de se usar isto antes de fazer qualquer coisa no LCD! Se não se defenir a tensão do LCD este pode queimar.
  digitalWrite(RES, HIGH); // Meter o pin reset a 1
  digitalWrite(SCE, HIGH); // Desactivar o chip
  digitalWrite(RES, LOW);  // Fazer reset ao LCD
  delay(100);              // Conforme diz no datasheet do pcd8544, convem esperar 100ms ate o poder acordar
  digitalWrite(RES, HIGH); // Acordar o LCD do estado RESET
 
  writecom(0x21); // Activar o chip e H=1 (datasheet)
  writecom(0xC2); // Defenir a voltagem/tensão do LCD para 7V
  writecom(0x13); // Ajusta a zona de operação/"Bias point" com base na voltagem defenida
  writecom(0x20); // Define o modo de operação, neste caso endereçamento Horizontal (H=0)
  writecom(0x09); // Acticar todos os segmentos
  clearram();     // Limpar a memória ram
  writecom(0x08); // Limpar/flashar o ecra
  writecom(0x0C); // Normalizar o ecra
  cursorxy(0, 0); // Colocar o cursor na primeira coluna da primeira linha do ecra
}

void writecom(char command_in){  // Esta rotina, agora um método, serve para enviar comandos para o controlador do LCD, desligar, inverter pixeis, tipo de endereçamento, etc.
  digitalWrite(DC, LOW);         // Seleccionar o registo de Comandos
  digitalWrite(SCE, LOW);        // Seleccionar o chip
  clockdata(command_in);         // Enviar os bits de comando a cada clock,ou "clock in" aos bits de comando
  digitalWrite(SCE, HIGH);       // Libertar o chip
}

void writedata(char data_in){   // Com esta rotina, agora método, envia-se um byte para o LCD, este byte corresponde a uma coluna com um pixel de largura e 8 pixeis de altura (1x8), 0xFF coluna toda a negro
  digitalWrite(DC, HIGH);       // Seleccionar o registo de Dados
  digitalWrite(SCE, LOW);       // Seleccionar o chip
  clockdata(data_in);           // "Clock in" :) os bits de dados
  digitalWrite(SCE, HIGH);      // Libertar o chip
}

void clockdata(char bits_in){                              // Esta rotina envia os dados para o PCD8544
  char bitcnt;
  for (bitcnt = 8; bitcnt > 0; bitcnt--){
    digitalWrite(SCK, LOW);                                // Parar o clock
    if ((bits_in & 0x80) == 0x80) digitalWrite(SDI, HIGH); // O pcd8544 "clock in" o MSB primeiro
    else digitalWrite(SDI, LOW);
    digitalWrite(SCK, HIGH);                               // Os dados sao enviados nas transições ascendentes de clock
    bits_in <<= 1;                                         // Menos um bit, shift tudo 1bit
  }
}
/*
void clearram(void){                   // PCD8544 - Limpa a RAM do controlador PCD8544 e assim limpa-se o LCD.
  int ddram;
  cursorxy(0, 0);                        // Colocar o cursor no inicio do ecrã
  for (ddram = 504; ddram > 0; ddram--){ // 6(linhas) x 84 (colunas) = 504 endereços
    writedata(0x00);
  }
}
*/

void clearram(void){                   // OM6206 - Limpa a RAM do controlador OM6206 e assim limpa-se o LCD.
  int ddram;
  cursorxy(0, 0);                        // Colocar o cursor no inicio do ecrã
  for (ddram = 864; ddram > 0; ddram--){ // 9(linhas) x 96 (colunas) = 864 endereços
    writedata(0x00);
  }
}

/*void cursorxy(char x,char y){ // PCD8544 - Colocar o cursor em determinada linha e coluna. Ex.: cursorxy(24,3) -> os proximos dados irao começar a aparecer na linha 3 e coluna 24
  writecom(0x40 | (y & 0x07));  // definir cursor no eixo OY
  writecom(0x80 | (x & 0x7F));  // definir cursor no eixo OX
}*/

void cursorxy(char x,char y){   // OM6206 - Colocar o cursor em determinada linha e coluna. Ex.: cursorxy(24,3) -> os proximos dados irao começar a aparecer na linha 3 e coluna 24
  writecom(0x40 | (y & 0x0F));  // definir cursor no eixo OY
  writecom(0x80 | (x & 0x7F));  // definir cursor no eixo OX
}

void putchar(char character){ // Traduz os caracteres para um formato reconhecido pelo PCD8544 e envia-os para o LCD. Cada caracter é um conjunto de 5 bytes.
  for (char i = 0; i < 5; i++){
    writedata(nokiabyte[character - 0x20][i]);  // Vai buscar o byte ao array de caracteres e envia-o para o LCD
  }
  writedata(0x00);  // Espaçamento de um pixel entre cada caracter
}

void putstr(const char *s){  // Colocar uma frase/conjunto de caracteres (String) no LCD.
  while(*s){putchar(*s++);}  // Apontar para um caracter no formato ASCII e escrever um caracter de cada vez
}

Por Daniel Gonçalves a.k.a. (t.c.p.) Tr3s, para www.lusorobotica.com (http://www.lusorobotica.com)
Título: Continução: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 21 de Janeiro de 2009, 18:06
 Este código está mais optimizado do que o fornecido no site do Arduino e também é mais simples de usar! Incluí as duas únicas rotinas que funcionam de maneira diferente para os dois modelos de LCD, void clearram(); e a void cursorxy();. Assim, basta vocês saberem qual controlador têm e é só comentarem/descomentarem as rotinas respectivas.

  Para brincarem com o LCD deixo aqui um programa de teste:
Código: [Seleccione]
#include <Wire.h>

#define SCE   7
#define RES   6
#define DC    5
#define SDI   4
#define SCK   3
#define backLIGHT 13

void initlcd(void);         // Inicia o LCD.
void writecom(char); // Escreve o comando/comandos.
void writedata(char); // Escreve os dados para a DDRAM para iluminar os pixeis.
void clockdata(char); // Envia os dados para o controlador PCD8544.
void clearram(void); // Apaga o conteudo da DDRAM.
void cursorxy(char,char); // Posiciona o cursor em x,y.
void putchar(char);         // Escreve um caracter.
void putstr(const char *);      // Escreve um conjunto de caracteres.

byte luso[768] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
...
0x00,0x1E,0x23,0x21,0x21,0x21,0x12,0x00,0x00,0x18,0x25,0x25,0x25,0x3E,0x20,0x00
};

void setup(void){
  // LCD - Defenir os cinco pins como pins de output
  pinMode(SCE, OUTPUT);
  pinMode(RES, OUTPUT);
  pinMode(DC, OUTPUT);
  pinMode(SDI, OUTPUT);
  pinMode(SCK, OUTPUT);
  initlcd();    // Iniciar o LCD
  delay(100);   // O datasheet pede 100ms após arrancar
  //--------------------------------------------

}

void loop(){
  putstr("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz!");
  delay(3000);
  cursorxy(0,0);
  for (int i = 0; i<768;i++) writedata(luso[i]);
  cursorxy(0,0);
  putstr("Tr3s @");
  delay(5000);
  clearram();
}


Em enexo vai um rar com os pde para abrir com o Arduino, no ficheiro nokialcd têm escolher quais as rotinas para o vosso tipo de lcd, sao as void clearram(); e a void cursorxy();.
Em relação ao bug que reportei no post http://lusorobotica.com/index.php/topic,427.0.html (http://lusorobotica.com/index.php/topic,427.0.html), tentem assim e se vos der uma imagem corrompida partilhem aqui no forum, que nós indicamos como resolver o problema!

NOTA: Testes realizados pelo iCAR comprovam que o uso destes dois arrays de caracteres ao mesmo tempo podem danificar o bootloader, o que se aconselha a terem cuidado ao seguir este tutorial pois podem ter que o reprogramar.
(editado por TigPT)


Deixo-vos com umas imagens para vos abrir o apetite e começarem já a desmanchar os velhinhos Nokias!

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi240.photobucket.com%2Falbums%2Fff159%2Fsuper-mascarada%2FSNC00070.jpg&hash=e66b3daa135cf64217933d2553a1496f20fb9ef8)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi240.photobucket.com%2Falbums%2Fff159%2Fsuper-mascarada%2FSNC00064.jpg&hash=df7e38269c1372e63ef30ba56f4e1fd831b8aa22)



EDIT:

Tendo em conta que o ficheiro disponível aqui não funciona, e como há sempre quem o queira, eu (ricardo-reis) disponibilizo-o a partir d'agora neste (http://dl.dropbox.com/u/1123623/Nokia.rar) link. É uma cópia do original, postado pelo Tr3s.
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 21 de Janeiro de 2009, 19:26
Muito bom, bastante interessante para quem quiser fazer um LCD para o Arduino barato.

(Alguém vende um 3310? :P)

Só falta acrescentar o vídeo que o tr3s tinha feito mas esqueceu-se de adicionar:

http://www.youtube.com/watch?v=ibdxGV5E9eU
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 21 de Janeiro de 2009, 19:26
Excelente post, obrigado por toda a informação e ainda não li tudo ao pormenor :)

Podes só dar uma indicaçãozinha quanto aos pins:

Pin 1 - Vdd - Ligar alimentação
Pin 2 - SCLK - serial clock input - Onde ligo no arduino?
Pin 3 - SDIN serial data input - Onde ligo no arduino?
Pin 4 - D/C data/command - Onde ligo no arduino?
Pin 5 - SCE chip enable - Onde ligo no arduino?
Pin 6 - GND - Ligar ground
Pin 7 - VOUT
Pin 8 - RES - RESET

Que comunicação é esta? I2C?
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 21 de Janeiro de 2009, 20:51
Esqueci-me de detalhar esses promenores, peço desculpa :P.

No código temos que:
#define SCE   7
#define RES   6
#define DC    5
#define SDI   4
#define SCK   3

Assim,
Pin 1 - Vdd - Ligar alimentação -------------------------------> +5v
Pin 2 - SCLK - serial clock input -------------------------------> pin 3
Pin 3 - SDIN serial data input ---------------------------------> pin 4
Pin 4 - D/C data/command ------------------------------------> pin 5
Pin 5 - SCE chip enable ----------------------------------------> pin 7
Pin 6 - GND - Ligar ground ------------------------------------> 0v / GND
Pin 7 - VOUT ----------------------- cap. 10uF ----------------> GND *
Pin 8 - RES - RESET --------------------------------------------->pin 6

*(o condensador é necessário para o LCD arrancar. Pode-se alterar tensao de operação na função initlcd(); alterando a luminosidade do ecran)

Este LCD é tão bom e consome tão pouca energia que se não tiveres mais nada no circuito (2 ou 3 LEDs, etc..) nem precisas de alimentá-lo! Só por dizer, não façam isto claro. Thanks to iyahdub.
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Fifas em 21 de Janeiro de 2009, 21:30
o TigPT já me tinha dado um cheirinho deste projecto ;D

por acaso tenho aqui um lcd de um 3310 que usava ligado a porta paralela do pc....acho que lhe vou dar novo uso :D


excelente projeto tr3s ;)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 21 de Janeiro de 2009, 21:41
Aqui estão estes LCD's a um bom preço, já deixei uma pergunta ao user para ver se ele fazia algum preço especial por exemplo para 10. De qualquer das maneiras, na compra de 2 ele oferece o treceiro e ficaria algo como:

3 LCD's mais portes:
   
15.10 British pounds = 16.1068231 €

O que dá cerca de 5€ cada um!

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=120356712656&fromMakeTrack=true (http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=120356712656&fromMakeTrack=true)

E vem de INGLATERRA!
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Fifas em 21 de Janeiro de 2009, 21:50
vao a uma loja dos chineses....alguns vendem....se negociarem bem, por uns 7.5€ trazem 1 :) eu comprei uns 2 ou 3 assim :P mas nem todos tem.....ate traziam o logo da nokia ;D
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 21 de Janeiro de 2009, 22:08
Mas sendo de inglaterra não tens problemas com alfandega, nem tens que pagar mais nada certo? É que se assim for aqueles ficam por 5€
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Fifas em 21 de Janeiro de 2009, 22:10
ah pois.....tinha visto 16€ cada um ;D

sendo assim, vale bem a pena :)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 21 de Janeiro de 2009, 22:51
Eu fui cravando amigos e família... :D Rapidamente arranjei uma data deles (5 ou 6). Mas como tenho a fama de arranjar telemóveis... la se foram indo ficando só com 3 agora. :P

Tenho um  OM6206, que é o que vem nos videos e imagens; E dois PCD8544 um Type1 e outro Type2.

;)
Tr3s
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 21 de Janeiro de 2009, 22:56
Offtopic: daí o teu nick ser tr3s, de tres LCD  ;D ;D

O OM6206 encontra-se em que telemovel?
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 21 de Janeiro de 2009, 23:29
Ahaha boa boa! :D

Olha no 3410 certamente e acho que o 1100 tb o tem!
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 22 de Janeiro de 2009, 00:28
tenho um de mim 1110, tenho que ver se o ligo, agora com a ajuda do tr3s é mais fácil, contudo continua a faltar-me tempo..  ::)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 22 de Janeiro de 2009, 00:47
Somos todos uma cambada de assassinos.... Andamos a destruir os melhores telemoves que a nokia ja fez, Estes aguentaram mta coisa....
Belos equipamentos... acabam assim nas minhas mãos... é de facto uma pena....

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi240.photobucket.com%2Falbums%2Fff159%2Fsuper-mascarada%2FSNC00094.jpg&hash=ee3e2998c5ec462f5c24ed7235d607ee7c8d757e)


Que se lixe agr continuo a divertir-me com o ecra deles! :P ehehe
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 22 de Janeiro de 2009, 00:53
Essa foto foi tirada por ti ou sacada do google?

Se foi.. bolas que assassino de nokias :D
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Fifas em 22 de Janeiro de 2009, 01:13
ui....eu ate bem pouco tempo atras tinha uma caixa cheia de telemoveis assim :P
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 22 de Janeiro de 2009, 01:37
É minha a foto! :D Já recuperei uns quantos também!
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: silva_p em 22 de Janeiro de 2009, 10:42
eu tenho dois 3210 à espera de uma nova opurtunidade ;D
só uma coisa como é que se soldam os contactos? ???
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 22 de Janeiro de 2009, 10:48
Brevemente vou fazer um post dedicado a isso. Tenho 2 pcd8544 type1 e type2. Vou mostrar como os soldar, até porque o processo é muito semelhante nos dois, embora no type1 haja mais formas de fazer os contactos.

;)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 22 de Janeiro de 2009, 11:39
Destruidores de telemóveis... ainda levam um processo da nokia :P
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 22 de Janeiro de 2009, 11:47
Citar
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg515.imageshack.us%2Fimg515%2F8607%2Fsnc00070yb4.jpg&hash=bc29c68ccc92aea93ab5a0472290f4f65f5de2da)
Não consegui evitar... digam lá se o nosso logo não fica genial neste LCD? :D
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaoamaral em 22 de Janeiro de 2009, 13:04
uuuuuuuaaaaaaaaaaaaaaaaaaaaaaaauuuuuuuuuuuuuuuuuuuuuuu!

ESPETACULAR!!!!! Mto obrigado por teres partilhado!! :D
agora ando louco à procura de um lcd desses

ve la é isto q tenho de comprar? :D

http://www.sparkfun.com/commerce/product_info.php?products_id=8629 (http://www.sparkfun.com/commerce/product_info.php?products_id=8629)

(aah e o logotipo ficou espetacular tb!!!) :D

TigPT: Qd puder e se quiseres dou-te uma ajuda com o arranjo gráfico do logo em cima :D para n teres aquele bordo preto. se quiseres claro ;)

Obrigado a todos estou desejoso por fazer este projecto!! :D
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 22 de Janeiro de 2009, 14:07
Tens aqui por 9€ http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=120356712656&fromMakeTrack=true (http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=120356712656&fromMakeTrack=true) e sim é esse. Visto estar alguma gente a pensar podem-se juntar é que como já mostrei num post anterior isto pode ficar por 5€ cada.

Eu só no fim-de-semana é que vou para casa e por isso só nessa altura é que vou poder ver se tenho ou não lá por casa um telemóvel destes e se não tiver posso entrar na comprar também.

Abraços
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 22 de Janeiro de 2009, 15:59
Já tenho novidades para quem estiver interessado, os LCD's são do tipo 1,

Vendedor - "hi they r typee 1 with the housing and spekeer "

e sobre o preço parece que se comprarmos 6 ele manda 15 mas já mandei outro email para confirmar

Vendedor -"the best price i can do is for you to buy 6 and i will send u 10 + 5
                  free"

Se isto for como penso ficaria por 41.34 British pounds = 43.7948013 € / 15 = 2.92€
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 22 de Janeiro de 2009, 16:02
eu alinho com uns 2 :P
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaoamaral em 22 de Janeiro de 2009, 16:10
eu quero 1 :D
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 22 de Janeiro de 2009, 16:16
Só vou esperar que ele confirme aqueles preços
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 22 de Janeiro de 2009, 16:31
Olá sou o Daniel (iCAR) Achei este projecto muito bom.

Tenho alguns Nokias 3310 aqui a mais (sem baterias) e experimentei fazer este projecto.

Fiz tudo conforme as instruções, mas o lcd nem se quer liga. (Provalvelmente já devia estar queimado) Vou ter que soldar outro lcd outra vez.

Existe algum teste que possa fazer para testar os lcds. Tipo 3,3volts no pin  1 e grd no pin 6.

Cumprimentos
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 22 de Janeiro de 2009, 18:06
iCar, o LCD ate o podes ligar a 5v, não há problema, certifica-te que no pin vOut do lcd tens um condensador de mais ou menos 10uF com a polarização correcta ligado à massa. Eu peço desculpa, disse que não era preciso este condensador mas estava errado. Quando fiz o teste de o tirar o LCD já estava ligado e nesse caso ele fica um pouco mais escuro, se tentares ligar o LCD sem o condensador ele não liga mesmo. Algum dos administradores que corrija aquela linha se fizer favor.
Outro teste que podes fazer é ver se os pinos estao bem soldados, com um multimetro medes a resistência entre cada pino pela ponta dos fios que soldaste. Se estiver tudo bem a resistência tem de ser 1 (infinita) quando medida entre pinos (entre a ponta do fio e as outras pontas) e aproximadamente 0 quando medida no próprio pino (entre a ponta do fio e o sitio onde o soldaste).

;)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 22 de Janeiro de 2009, 18:11
iCar, o LCD ate o podes ligar a 5v, não há problema, certifica-te que no pin vOut do lcd tens um condensador de mais ou menos 10uF com a polarização correcta ligado à massa. Eu peço desculpa, disse que não era preciso este condensador mas estava errado. Quando fiz o teste de o tirar o LCD já estava ligado e nesse caso ele fica um pouco mais escuro, se tentares ligar o LCD sem o condensador ele não liga mesmo. Algum dos administradores que corrija aquela linha se fizer favor.

Já corrigi, obrigado por esclareceres!
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 22 de Janeiro de 2009, 20:10
Encontrei mais um excelente tutorial com o mesmo ecran:

http://www.dharmanitech.com/search/label/3310%20LCD (http://www.dharmanitech.com/search/label/3310%20LCD)

Desafio-vos a fazer o próximo ;)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 22 de Janeiro de 2009, 22:23
Ok. Já liga, mas quando arranco o projecto no arduino o lcd fica com uns caracteres marados.!!!
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 23 de Janeiro de 2009, 00:14
Caracteres marados? Tenho a sensação que é o tal bug do compilador.... muito provavelmente os arrays do logo e dos caracateres estão a ficar sobrepostos.
Mostra la umas fotos.
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 23 de Janeiro de 2009, 09:20
Aqui estão.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.2mhi.com%2Ficar%2Farduino%2F23012009393.jpg&hash=0b466135792461012ae1414c5ed7c41ff575f40f)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.2mhi.com%2Ficar%2Farduino%2F23012009394.jpg&hash=89980a49fea3bb5994be78ba2568e6c8e1062444)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.2mhi.com%2Ficar%2Farduino%2F23012009395.jpg&hash=041bd5951dbd7de017927986dda64b27a3a0365a)

Um pouco desfocadas, mas dá para ver.

O logotipo que criaste está todo desalinhado. Parece que não serve para este lcd (nokia 3310)  ???

Mesmo quando eu faço só este comando:

cursorxy(0,0);
putstr("daniel");

ele devia aparecer daniel em 0,0, mas aparece todo desalinhado e com caracteres diferentes.

Pelo que ententi ele devia ir buscar os caracteres á tabela (nokiabyte) que criaste não é ?
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 23 de Janeiro de 2009, 09:48
Outra pergunta os lcds do 3510i serverm

é que eu arranjei muitos 350i e 3310

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.2mhi.com%2Ficar%2Farduino%2Fnokias.jpg&hash=cd9ab6938c6967d6651faaf71f34301f71de7d5c)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 23 de Janeiro de 2009, 10:41
Ena tantos nokias! Tambem quero :D
Ainda nao vi qual é o lcd desses nokia, mas as instruções devem ser diferentes uma vez que o LCD é a cores. Quando tiver tempo já procuro.

Acho que sei o que se passa, pelo menos com o logo.
Acontece que o código que forneci tem duas instruções diferentes para os modelos com o PCD8544 e OM6206, as instruções são, void clearram(); e void cursorxy();. No código, as instruções para os LCD pcd8544 estão em comentário, isto porque o LCD que usei para fazer este post era um OM6206 e também julguei que a "malta" preferia este LCD uma vez que tem mais resolução e uma imagem mais nítida.
Faz o seguinte, uma vez que tens lcds (e muitos :D) controlados pelo pcd8544, comentas ou apagas mesmo estas duas instruçoes do OM6206 e descomentas as mesmas para o PCD8544.

Agora o motivo pelo qual tu estás a ver isso assim é muito simples.
Quando inicias o LCD chamas a função initlcd(), esta por sua vez chama a função clearram(). A função clearram() que deves ter activa como ainda deve ser a que é para o OM6206 vai deixar o apontador da ram do PCD8544 num sitio que não era suposto... (864-504) = 360 :S Ele vai limpar 864 posições da ram e só devia limpar 516, ou seja qd acaba de a limpar o apontador ja andou mais 360 indices! Daí que após limpares a ram e tentares mostrar alguma coisa no LCD vejas tudo desalinhado, pois os indeces estão todos trocados :D

Sim o logotipo está criado para o OM6206 mas deixo aqui um para o pcd8544, agora que leio creio que ja deves ter feito o que referi no paragrafo de cima, mas fica como mais uma referencia para outros que possam ter este problema!
Sim os caracteres ele vai buscar ao array nokiabyte e esse é compativel com os dois modelos de controladores dos LCDs, o motivo pelo qual estao a ficar esquisitos nao consigo entender... So se for o tal bug do compilador... se for possivel coloca aqui uma imagem quando fazes :

cursorxy(0,0);
putstr("Hello world!");

na funçao setup(), na função loop nao faças nada.

Código: [Seleccione]
byte luso [504] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
0x80,0xC0,0xC0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,
0xC0,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF8,
0xFC,0xFE,0xFF,0xFF,0x9F,0x0F,0x0F,0x0F,0x0F,0x0F,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,
0x9F,0x0F,0x0F,0x0F,0x0F,0x0F,0x9F,0xFF,0xFF,0xFE,0xFC,0xF8,0xE0,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xFD,0xFD,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0x03,0xFB,
0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,
0xFD,0xFD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x7A,0x7B,0x7B,0x7B,0x7B,0x7B,
0x7B,0x7B,0x7B,0x7A,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,
0xBD,0xBD,0x3C,0xBD,0xBD,0xC3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x7A,0x7B,0x7B,0x7B,0x7B,0x7B,0x7B,0x7B,0x7A,
0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5F,0xDF,0xDF,0xDF,
0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0x5F,0x00,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x00,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x8F,0x4F,0x0F,0x0F,0x00,0x5F,0xDF,0xDF,0xDF,0xDF,
0xDF,0xDF,0xDF,0xDF,0xDF,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x42,0x7E,0x42,0x40,0x40,0x00,0x00,0x04,0x7C,0x40,0x3C,
0x40,0x00,0x00,0x48,0x54,0x54,0x54,0x24,0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00,
0x00,0x42,0x7E,0x52,0x2A,0x64,0x40,0x00,0x38,0x44,0x44,0x44,0x38,0x00,0x42,0x7E,
0x48,0x44,0x44,0x38,0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00,0x00,0x04,0x3E,0x44,
0x44,0x20,0x00,0x00,0x40,0x48,0x7A,0x40,0x00,0x00,0x00,0x38,0x4C,0x44,0x44,0x28,
0x00,0x00,0x20,0x54,0x54,0x78,0x40,0x00
};

// instrução para imprimires este logo
//      for(int i = 0; i<504; i++) writedata(luso[i]);
// se mostrares algo no lcd antes disto faz cursorxy(0,0); antes de usares o for();

Mostra mais fotos e espero que agora resulte ;)

ps: já agora como arranjas tantos Nokia?
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 23 de Janeiro de 2009, 10:58
Era da Empresa onde trabalho. Se quiseres, posso de dar 1 de cada, mas tens que vir cá buscar. Alverca.
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 23 de Janeiro de 2009, 11:12
Ok. O logotipo já aparece:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.2mhi.com%2Ficar%2Farduino%2F23012009397.jpg&hash=0c03a27a6c904733df66fa4008b2759f28845a89)

Mas quando uso :

cursorxy(0,0);
putstr("You Rule");

O lcd limpa e não aparece nada. ???
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 23 de Janeiro de 2009, 11:17
As instruções estão assim:

Código: [Seleccione]
void clearram(void){                   // PCD8544 - Limpa a RAM do controlador PCD8544 e assim limpa-se o LCD.
  int ddram;
  cursorxy(0, 0);                        // Colocar o cursor no inicio do ecrã
  for (ddram = 504; ddram > 0; ddram--){ // 6(linhas) x 84 (colunas) = 504 endereços
    writedata(0x00);
  }
}
/*
void clearram(void){                   // OM6206 - Limpa a RAM do controlador OM6206 e assim limpa-se o LCD.
  int ddram;
  cursorxy(0, 0);                        // Colocar o cursor no inicio do ecrã
  for (ddram = 864; ddram > 0; ddram--){ // 9(linhas) x 96 (colunas) = 864 endereços
    writedata(0x00);
  }
}
*/
void cursorxy(char x,char y){ // PCD8544 - Colocar o cursor em determinada linha e coluna. Ex.: cursorxy(24,3) -> os proximos dados irao começar a aparecer na linha 3 e coluna 24
  writecom(0x40 | (y & 0x07));  // definir cursor no eixo OY
  writecom(0x80 | (x & 0x7F));  // definir cursor no eixo OX
}
/*
void cursorxy(char x,char y){   // OM6206 - Colocar o cursor em determinada linha e coluna. Ex.: cursorxy(24,3) -> os proximos dados irao começar a aparecer na linha 3 e coluna 24
  writecom(0x40 | (y & 0x0F));  // definir cursor no eixo OY
  writecom(0x80 | (x & 0x7F));  // definir cursor no eixo OX
}
*/

a função putstr() é igual para os dois ???

Por exemplo se eu no setup() escrever:

cursorxy(0,0);
putstr("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz!");

no loop() não tenho nada e no lcd ele aparece :

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.2mhi.com%2Ficar%2Farduino%2Flcd_erro1.jpg&hash=859bd498fb6f195473c0563cebcfc82dc3f93d22)

Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 23 de Janeiro de 2009, 11:40
Outra coisa esquizita, quando eu no setup() escrevo o que me pediste:

cursorxy(0,0);
putstr("Hello world!");

Depois do upload o arduino fica a piscar os leds e o lcd fica todo preto  ???
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 23 de Janeiro de 2009, 11:44
Ok, é para ja! Eu moro na Póvoa! EHEEHE :D

Olha, o teu array nokiabyte é este?
Código: [Seleccione]
byte nokiabyte[][5] = {
 {0x00, 0x00, 0x00, 0x00, 0x00} // 20  
,{0x00, 0x00, 0x5f, 0x00, 0x00} // 21 !
,{0x00, 0x07, 0x00, 0x07, 0x00} // 22 "
,{0x14, 0x7f, 0x14, 0x7f, 0x14} // 23 #
,{0x24, 0x2a, 0x7f, 0x2a, 0x12} // 24 $
,{0x23, 0x13, 0x08, 0x64, 0x62} // 25 %
,{0x36, 0x49, 0x55, 0x22, 0x50} // 26 &
,{0x00, 0x05, 0x03, 0x00, 0x00} // 27 '
,{0x00, 0x1c, 0x22, 0x41, 0x00} // 28 (
,{0x00, 0x41, 0x22, 0x1c, 0x00} // 29 )
,{0x14, 0x08, 0x3e, 0x08, 0x14} // 2a *
,{0x08, 0x08, 0x3e, 0x08, 0x08} // 2b +
,{0x00, 0x50, 0x30, 0x00, 0x00} // 2c ,
,{0x08, 0x08, 0x08, 0x08, 0x08} // 2d -
,{0x00, 0x60, 0x60, 0x00, 0x00} // 2e .
,{0x20, 0x10, 0x08, 0x04, 0x02} // 2f /
,{0x3e, 0x51, 0x49, 0x45, 0x3e} // 30 0
,{0x00, 0x42, 0x7f, 0x40, 0x00} // 31 1
,{0x42, 0x61, 0x51, 0x49, 0x46} // 32 2
,{0x21, 0x41, 0x45, 0x4b, 0x31} // 33 3
,{0x18, 0x14, 0x12, 0x7f, 0x10} // 34 4
,{0x27, 0x45, 0x45, 0x45, 0x39} // 35 5
,{0x3c, 0x4a, 0x49, 0x49, 0x30} // 36 6
,{0x01, 0x71, 0x09, 0x05, 0x03} // 37 7
,{0x36, 0x49, 0x49, 0x49, 0x36} // 38 8
,{0x06, 0x49, 0x49, 0x29, 0x1e} // 39 9
,{0x00, 0x36, 0x36, 0x00, 0x00} // 3a :
,{0x00, 0x56, 0x36, 0x00, 0x00} // 3b ;
,{0x08, 0x14, 0x22, 0x41, 0x00} // 3c <
,{0x14, 0x14, 0x14, 0x14, 0x14} // 3d =
,{0x00, 0x41, 0x22, 0x14, 0x08} // 3e >
,{0x02, 0x01, 0x51, 0x09, 0x06} // 3f ?
,{0x32, 0x49, 0x79, 0x41, 0x3e} // 40 @
,{0x7e, 0x11, 0x11, 0x11, 0x7e} // 41 A
,{0x7f, 0x49, 0x49, 0x49, 0x36} // 42 B
,{0x3e, 0x41, 0x41, 0x41, 0x22} // 43 C
,{0x7f, 0x41, 0x41, 0x22, 0x1c} // 44 D
,{0x7f, 0x49, 0x49, 0x49, 0x41} // 45 E
,{0x7f, 0x09, 0x09, 0x09, 0x01} // 46 F
,{0x3e, 0x41, 0x49, 0x49, 0x7a} // 47 G
,{0x7f, 0x08, 0x08, 0x08, 0x7f} // 48 H
,{0x00, 0x41, 0x7f, 0x41, 0x00} // 49 I
,{0x20, 0x40, 0x41, 0x3f, 0x01} // 4a J
,{0x7f, 0x08, 0x14, 0x22, 0x41} // 4b K
,{0x7f, 0x40, 0x40, 0x40, 0x40} // 4c L
,{0x7f, 0x02, 0x0c, 0x02, 0x7f} // 4d M
,{0x7f, 0x04, 0x08, 0x10, 0x7f} // 4e N
,{0x3e, 0x41, 0x41, 0x41, 0x3e} // 4f O
,{0x7f, 0x09, 0x09, 0x09, 0x06} // 50 P
,{0x3e, 0x41, 0x51, 0x21, 0x5e} // 51 Q
,{0x7f, 0x09, 0x19, 0x29, 0x46} // 52 R
,{0x46, 0x49, 0x49, 0x49, 0x31} // 53 S
,{0x01, 0x01, 0x7f, 0x01, 0x01} // 54 T
,{0x3f, 0x40, 0x40, 0x40, 0x3f} // 55 U
,{0x1f, 0x20, 0x40, 0x20, 0x1f} // 56 V
,{0x3f, 0x40, 0x38, 0x40, 0x3f} // 57 W
,{0x63, 0x14, 0x08, 0x14, 0x63} // 58 X
,{0x07, 0x08, 0x70, 0x08, 0x07} // 59 Y
,{0x61, 0x51, 0x49, 0x45, 0x43} // 5a Z
,{0x00, 0x7f, 0x41, 0x41, 0x00} // 5b [
,{0x02, 0x04, 0x08, 0x10, 0x20} // 5c ¥
,{0x00, 0x41, 0x41, 0x7f, 0x00} // 5d ]
,{0x04, 0x02, 0x01, 0x02, 0x04} // 5e ^
,{0x40, 0x40, 0x40, 0x40, 0x40} // 5f _
,{0x00, 0x01, 0x02, 0x04, 0x00} // 60 `
,{0x20, 0x54, 0x54, 0x54, 0x78} // 61 a
,{0x7f, 0x48, 0x44, 0x44, 0x38} // 62 b
,{0x38, 0x44, 0x44, 0x44, 0x20} // 63 c
,{0x38, 0x44, 0x44, 0x48, 0x7f} // 64 d
,{0x38, 0x54, 0x54, 0x54, 0x18} // 65 e
,{0x08, 0x7e, 0x09, 0x01, 0x02} // 66 f
,{0x0c, 0x52, 0x52, 0x52, 0x3e} // 67 g
,{0x7f, 0x08, 0x04, 0x04, 0x78} // 68 h
,{0x00, 0x44, 0x7d, 0x40, 0x00} // 69 i
,{0x20, 0x40, 0x44, 0x3d, 0x00} // 6a j
,{0x7f, 0x10, 0x28, 0x44, 0x00} // 6b k
,{0x00, 0x41, 0x7f, 0x40, 0x00} // 6c l
,{0x7c, 0x04, 0x18, 0x04, 0x78} // 6d m
,{0x7c, 0x08, 0x04, 0x04, 0x78} // 6e n
,{0x38, 0x44, 0x44, 0x44, 0x38} // 6f o
,{0x7c, 0x14, 0x14, 0x14, 0x08} // 70 p
,{0x08, 0x14, 0x14, 0x18, 0x7c} // 71 q
,{0x7c, 0x08, 0x04, 0x04, 0x08} // 72 r
,{0x48, 0x54, 0x54, 0x54, 0x20} // 73 s
,{0x04, 0x3f, 0x44, 0x40, 0x20} // 74 t
,{0x3c, 0x40, 0x40, 0x20, 0x7c} // 75 u
,{0x1c, 0x20, 0x40, 0x20, 0x1c} // 76 v
,{0x3c, 0x40, 0x30, 0x40, 0x3c} // 77 w
,{0x44, 0x28, 0x10, 0x28, 0x44} // 78 x
,{0x0c, 0x50, 0x50, 0x50, 0x3c} // 79 y
,{0x44, 0x64, 0x54, 0x4c, 0x44} // 7a z
,{0x00, 0x08, 0x36, 0x41, 0x00} // 7b {
,{0x00, 0x00, 0x7f, 0x00, 0x00} // 7c |
,{0x00, 0x41, 0x36, 0x08, 0x00} // 7d }
,{0x10, 0x08, 0x08, 0x10, 0x08} // 7e ?
,{0x78, 0x46, 0x41, 0x46, 0x78} // 7f ?
};

Sim, as funções putsrt e putchar sao iguais para os dois. ;)


Epa... isso é estranho, faz la um rar com os ficheiros para eu dar uma vista de olhos... ja escamuteei o codigo que forneci e nao encontro nada de anormal.
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 23 de Janeiro de 2009, 11:56
Alterei o array nokiabyte que enviaste e fica na mesma

aqui está o projecto:

http://www.2mhi.com/icar/arduino/Nokia.zip (http://www.2mhi.com/icar/arduino/Nokia.zip)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 23 de Janeiro de 2009, 12:00
Já agora qual é o programa que utilizas para fazer esses arrays dos logotipos ?
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 23 de Janeiro de 2009, 12:24
Já estive a ver o que se passa, é mesmo o bug do compilador, não aguenta com os dois arrays e então sobrepoe-os e o facto de ele tar a piscar quando se liga acontece porque ele chega a sobrepor os arrays ao código! Incrivel... a única hipotese é flashar uma eeprom com os arrays... Desta forma funciona, é o que faço actualmente com uma 24lc256 (tenho la montes de imagens). No Arduino, se só usares um dos arrays, ele funciona perfeitamente, 2 ou mais ... esquece. Há uma opção e ainda não sei como se faz, na qual podes mandar logo os arrays para a eeprom interna do Atmega quando mandas descarregar para o Arduino, esta é outra solução.

Em anexo vai o programa para criar os arrays.
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 23 de Janeiro de 2009, 12:51
Hum...Então a ver se percebi.

Executo todos os passos do teu post:
http://lusorobotica.com/index.php/topic,427.0.html (http://lusorobotica.com/index.php/topic,427.0.html)

Depois corro o programa que alteraste, o  serjtag-0.3 (Executame.bat), ele grava outra para o processador com o bug corrigido. Certo.

Depois basta fazer o upload do teu projecto nokia e deve ficar operacional.

Bem se for isso mãos á obra, vou já soldar os pinos no arduino. (Ou queimadinho, se a coisa der para o torto) ???

...Lá se vai a garantia  :o
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 23 de Janeiro de 2009, 13:06
Não precisas de fazer isso, o teu bootloader não foi ao ar!

O compilador do Arduino é que se mama todo com esses arrays, mas como não são muito grandes ele não chega a tocar no bootloader. Pa meteres isso a mandar caracteres po LCD basta apagares o logo :D
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 23 de Janeiro de 2009, 13:18
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.2mhi.com%2Ficar%2Farduino%2F23012009399.jpg&hash=3881440057a5065d2bd6a809180e57290f90201f)

Obrigado funciona.

Mas se eu quiser realmente os 2 arrays, necessito então de alterar o  bootloader para retificar o bug ?
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 23 de Janeiro de 2009, 13:31
Aahaha obrigado pelos agradecimentos! :D

Sim ja vi e já te respondo.
Em relação à tua pergunta, ainda não existe solução defenitiva para esses bugs, uma vez que é um problema do compilador e pelo que ja li em foruns o bug ocorre quando ele tenta optimizar código. O teu bootloader ainda está intacto, aquele tutorial que eu dei serve para quando o bootloader é danificado ou entao quando recebes mais atmegas virgens e sem booloader, não é o teu caso.
Para evitar estes problemas existe uma solução, migrar os arrays para memória eeprom ou nvFlash (Sd cards, etc).
Migrar para eeproms é o mais simples e há duas alternativas, ou usas os 512bytes internos do Atmega168 ou entao usas uma eeprom numa breadboard (que é o que faço). Os 512bytes internos do Atmega não justificam o esforço :P. Eu optei por uma eeprom externa de 256Kbytes que dá para MUITA coisa... uma imagem de webcam 320x240 ocupa 10kbytes por ex., logo, para estes arrays e imagens po lcd tens espaço mais que suficiente. E o código que se usa para comunicar com estas eeproms nem tem de ser alterado caso metas uma eeprom de 1Mbyte por exemplo!

Agora na minha eeprom tenho a font dos nokias 3310 original, 6 logos de um SO que tou a fazer, os logos da lusorobotica e da minha faculdade! Nem 10% estou a usar :P


Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DanBar em 23 de Janeiro de 2009, 13:39
Porreiro.  8)

Então e um Tutorial de como ligar e configurar eeproms externas para serem utilizadas no arduino...bem que podias fazer. O pessoal aqui agradecia.  ;D
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 23 de Janeiro de 2009, 13:42
Isso já está a ser cozinhado! :D


Já te respondi!
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 23 de Janeiro de 2009, 19:22
Eu perguntei isto: "You said that if i buy 6 you send me 15?"

E ele respondeu: "yes thats right"

O gajo tem "Feedback:   100  % Positive" e já vendeu 117 artigos, parece ser de confiança.

Vou postar as informações nas compras colectivas.

Podem ver aqui  ebay dele: http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=120356712656&ssPageName=ADME:X:RTQ:GB:1123 (http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=120356712656&ssPageName=ADME:X:RTQ:GB:1123)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ricardo-reis em 31 de Janeiro de 2009, 00:33
acabei de lixar um lcd.. :(   (nabo das soldas)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 31 de Janeiro de 2009, 01:05
O que fizeste? é que pode ser possivel recuperar. tenta postar uma foto...
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ricardo-reis em 31 de Janeiro de 2009, 01:14
n é, estraguei mesmo.. pus-me a inventar fiz merdinha.. mas já resolvi (pró próximo)..

e um conselho k dou (até foi bom ter estragado este):

os pernos do conector k liga o monitor à placa, saem, com jeitinho.. é mais fácil tirar todos e soldar um a um aos fios.. dps voltam a colocar os pernos todos no conector (parte plástica preta) e metê-lo de volta no buraco que lhe é devido..

 
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 31 de Janeiro de 2009, 16:59
Pois é preciso ter muito cuidado com a temperatura, toques muito rápidos com a ponta do ferro.
É muito importante ter tudo desoxidado a ponta do ferro limpa e os fios preparados quando se vão soldar estes  LCDs.
Eu costumo deixar uma gota de solda muito pequena em cada pino do LCD, dps soldo a ponta do fio a essa gota, de seguida vejo se estão bem presos,  encho com cola quente e já está!
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ricardo-reis em 31 de Janeiro de 2009, 18:22
pois, o meu mal foi n usar a cola.. sp que soldava um o do lado des-soldava.. e acabou por correr mal.. mas já arranjei nova estratégia, só preciso de mais um conector e um lcd.. :)  há-de correr melhor da próxima vez.. (se eu tivesse 'brincado' um bocado com as soldas primeiro, provavelmente teria corrido bem à primeira.. mas pronto.. aprendi.. )
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 20 de Fevereiro de 2009, 17:12
Será que alguém podia postar um código tipo só para aparecer "Olá mundo!". Como essa imagem tem dado alguns problemas era bom se postassem um código exemplo sem esses arrays.
Obrigado
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ricardo-reis em 20 de Fevereiro de 2009, 17:21
é simples.. tiras os arrays e supostamente aparece-te lá o abecedário e o 'tr3s @'..

postava-te alguma coisa, mas n tenho aqui nenhum lcd pra testar..
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 20 de Fevereiro de 2009, 18:15
depois de ver o código vi logo que era simpels  :P
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ricardo-reis em 20 de Fevereiro de 2009, 18:38
já tá como querias, portanto.. isso é k é preciso.. ;)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 20 de Fevereiro de 2009, 19:00
Funcionou e apita e tudo  :o  ;D
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 20 de Fevereiro de 2009, 19:42
Em relação ao Fastlcd vocês escolhem aquela opção de gerar um bas e depois que configurações escolhem?
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: delphi em 20 de Fevereiro de 2009, 22:57
Encontrei um "programizito", em http://www.elvand.com/en/LFG.asp (http://www.elvand.com/en/LFG.asp) que, não tenho a certeza, mas acho que pode ajudar a quem quer adicionar fonts, ou imagens "customizadas", por ex. para os menus, e dar um "toque" mais pro à coisa.

Não cheguei a fazer o upload e testar no lcd, mas vi código que gerou e "pareceu-me" igual ao dos exemplos apresentados no tópico.
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 20 de Fevereiro de 2009, 23:34
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Flh4.ggpht.com%2F_i2teYMYP9C0%2FSZ887jQGoPI%2FAAAAAAAAABQ%2FTaeW5GjhxCk%2Fs288%2FLCD3310%2520007.JPG&hash=37935a7d6138f10cb1b3f0db6d35f33b59a68c4e) (http://picasaweb.google.com/josescxavier/20090220LCD3310#5305025879838466290)(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Flh4.ggpht.com%2F_i2teYMYP9C0%2FSZ89CCpsdCI%2FAAAAAAAAABc%2FThkZ6YLqSfM%2Fs288%2FLCD3310%2520008.JPG&hash=eb4f0db656292ed1de891c1af2cc05008f6cbca4) (http://picasaweb.google.com/josescxavier/20090220LCD3310#5305025991346517026)(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Flh4.ggpht.com%2F_i2teYMYP9C0%2FSZ89H_vlG1I%2FAAAAAAAAABk%2F3KlBFpug6dk%2Fs288%2FLCD3310%2520009.JPG&hash=d4301e6b96abf64992ed518f12100337e36bdd59) (http://picasaweb.google.com/josescxavier/20090220LCD3310#5305026093645110098)(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Flh3.ggpht.com%2F_i2teYMYP9C0%2FSZ89LxF8FdI%2FAAAAAAAAABs%2FDfGg_X4p5SY%2Fs288%2FLCD3310%2520017.JPG&hash=0e334e6c404677957eddfa5532dba5514b2a78ae) (http://picasaweb.google.com/josescxavier/20090220LCD3310#5305026158431835602)(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Flh5.ggpht.com%2F_i2teYMYP9C0%2FSZ89QwcG89I%2FAAAAAAAAAB0%2FluKmzJH9xgE%2Fs288%2FLCD3310%2520010.JPG&hash=7f66c8eebc3f99fffbac8095937633c30e4459d7) (http://picasaweb.google.com/josescxavier/20090220LCD3310#5305026244155732946)

Aqui estão algumas imagens das minhas experiências com o LCD!
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 21 de Fevereiro de 2009, 01:37
Muito bom, espero que todos os que receberem o LCD também façam simples coisas e partilhem. Às vezes do mais elementar tiram-se grandes ideias para grandes projectos!

Não desprezem o vosso trabalho por pequeno que pareça!
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ricardo-reis em 21 de Fevereiro de 2009, 01:41
heya! k placa é aquela lá atrás?? era a que eu tinha pedido pa fazerem por causa da minha nabice com as soldas? tá mt porreiro, sim sr..
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 21 de Fevereiro de 2009, 11:14
exacto, como o iCar já tinha postado uma pensei que já estavam servidos mas vou lá postar a minha também. Amanha posto que hoje já não devo conseguir. Digam-me só uma coisa, vocês quando fazem as placas em casa elas depois ficam invertidas? eu só estou a dizer isto por causa das letras!
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Fifas em 21 de Fevereiro de 2009, 13:37
depende do lado que meto o acetato ;D
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 22 de Fevereiro de 2009, 15:58
é que eu nunca fiz em casa mas tem toda a lógica isso :p
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: amando96 em 22 de Fevereiro de 2009, 16:17
tenho um ericsson mesmo velho

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fsohoa.vnexpress.net%2Fnews%2Fdien-thoai%2F2007%2F08%2F3b9aed2b%2Fde2.jpg&hash=ea926dd0b98fbab98e0bcf861ecbdadcf1c74a1b)

esses 3310 deve-se encontrar na feira da ladra? :D
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 22 de Fevereiro de 2009, 16:20
Sim, ou no ebay... compramos uns à uns tempos para o ppl do LR

http://lusorobotica.com/index.php/topic,447.0.html (http://lusorobotica.com/index.php/topic,447.0.html)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 22 de Fevereiro de 2009, 16:22
e ainda falta a confirmação de duas pessoas, vou enviar pm a essas duas pessoas.
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 22 de Fevereiro de 2009, 16:23
e ainda falta a confirmação de duas pessoas, vou enviar pm a essas duas pessoas.

O metRo_ quer dizer que se esses não confirmarem, podes ficar com um se quiseres ;)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: amando96 em 22 de Fevereiro de 2009, 18:39
e ainda falta a confirmação de duas pessoas, vou enviar pm a essas duas pessoas.

O metRo_ quer dizer que se esses não confirmarem, podes ficar com um se quiseres ;)

se não confirmarem é claro que quero :) logo se vê  :D
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 22 de Fevereiro de 2009, 18:49
Um já confirmou, falta uma.
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: delphi em 14 de Maio de 2009, 14:28
Encontrei este site que ajuda na identificação dos pins dos LCDs para vários telemóveis.

http://sandiding.tripod.com/Bertys.html (http://sandiding.tripod.com/Bertys.html)

Penso que pode ajudar a dar alguma "utilidade" a telemóveis que estejam encostados às "boxes".



Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: André Lima em 30 de Maio de 2009, 16:46
Prezados amigos...

Sou do Brasil e tenho um router CNC, e no entanto eu gostaria de implementar um termometro para checar a temperatura do circuto eletronico (FETS). Vi este forum e fiquei muito interessado em fazer um termometro como este ( grafico ) utilizando um LCD de telemovel. Já tenho inclusive um LCD disponivel. Gostaria que vcs me enviassem o diagrama eletronico para ver se é possivel encontrar os componentes aqui no Brasil.

Desde já agradeço a todos..

André Lima
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 30 de Maio de 2009, 17:27
Prezados amigos...

Sou do Brasil e tenho um router CNC, e no entanto eu gostaria de implementar um termometro para checar a temperatura do circuto eletronico (FETS). Vi este forum e fiquei muito interessado em fazer um termometro como este ( grafico ) utilizando um LCD de telemovel. Já tenho inclusive um LCD disponivel. Gostaria que vcs me enviassem o diagrama eletronico para ver se é possivel encontrar os componentes aqui no Brasil.

Desde já agradeço a todos..

André Lima
Olá André,

Se fizeres uma pesquisa no fórum por nokia 3310 encontras muita informação, das quais os circuitos dependendo do que pretendes.

Deixo aqui alguns links:
http://lusorobotica.com/index.php/topic,534.0.html (http://lusorobotica.com/index.php/topic,534.0.html)
http://lusorobotica.com/index.php/topic,688.0.html (http://lusorobotica.com/index.php/topic,688.0.html)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: André Lima em 30 de Maio de 2009, 18:40
Prezado TigPT,

Agradeço a dica, depois de ler um pouco mais sobre o assunto, percebi que para programar esses modos graficos, é necesário ter um Arduino, ou seja esse processador Open Source.

Bem eu pesquisei aqui no Brasil e um desses Arduinos Diecimila Serial 16K custam em torno de 25euros. Achei muito interessante esse "brinquedo", inclusive já encomendei um deles.

Agora vou reformular melhor a pergunta.... É possível gravar esse programa em um PIC, ou EPROM para que o mesmo funcione sem o interfaceamento do Arduino ?? A ideia é continuar usando o display de um telemovel Nokia....

Obrigado.
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 30 de Maio de 2009, 18:52
O Arduino é uma placa com um Atmega que é um microcontrolador tal como os PIC mas da atmel em vez de ser da microchip.

Qualquer microcontrolador pode fazer a tarefa, por isso, pode fazer o programa para o PIC sem necessitar de mais nada.
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 30 de Maio de 2009, 21:03
se pesquisar no google encontras logo muitos resultados para o lcd nokia 3310 com pic, olha este por exemplo: http://www.andremiller.net/content/nokia-3310-lcd-driver-jal-pic-library (http://www.andremiller.net/content/nokia-3310-lcd-driver-jal-pic-library) tem no final uma serie de links :)
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: André Lima em 30 de Maio de 2009, 22:14
Obrigado Tig PT e metRo...

Já andei pesquisando muito sobre esses projetos, mas nenhum foi melhor do que esse postado nesse forum....

Esse projeto de termometro com a barra grafica está demais.....Isso iria com certeza dar um toque superprofissional ao meu projeto.

Bom deixa eu explicar o que realemnte eu preciso e o que eu tenho, quem sabe alguem de vcs possam me ajudar.

Quero implementar um termometro na porta de um painel eletrico, pois esse termometro irá medir a temperatura dos FETS de um motor de passo. Pensei em usar um LM35 para coletar os dados, pois o DS1820 não é muito comum poraqui, mas sim nas grandes lojas de São Paulo. A disponibilidade de tensão desse painel é de 12VDC, portanto a alimentação deverá ser de 12V.

Ao ligar o sistema o display deverá inicialiizar o logo do lusorobotica por exemplo e já começar a medir a temperatura. Assim como mostra o projeto de voces.

Mas ao inves de eu ter um Arduino eu queria que fosse um CI ( PIC ) de preferencia da Microchip dedicado pra isso. Pelo visto tem muita gente expert em eletronica e processadores nesse forum, que talvez pudesse me ajudar.

Tenho um gravador de PIC conforme link http://produto.mercadolivre.com.br/MLB-96707065-gravador-picburner-pic-de-brindesoftwarescd-informacoes-_JM (http://produto.mercadolivre.com.br/MLB-96707065-gravador-picburner-pic-de-brindesoftwarescd-informacoes-_JM)

Desde já agradeço a todos

André Lima
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: gtronica.com em 02 de Junho de 2009, 00:50
Para uma solução a cores aqui fica uma dica:

...........

...........

...........

...........

...........

...........
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 02 de Junho de 2009, 12:06
Para uma solução a cores aqui fica uma dica:

...........

...........

...........

...........

...........

...........

Agradeço a boa vontade que possa haver, mas a ideia é ajudar, e mostrar alternativas quando pedido, não fugir aos tópicos e alterar o tipo de dados que o LusoRobótica zela por ter: Informação concreta e educativa que sirvam a necessidade dos utilizadores.

Podes de qualquer forma criar um post com a informação ou informar o membro por PM, são essas as ferramentas que dispões para publicidade como qualquer outra pessoa. Se pretendes outro tipo de divulgação das tuas lojas, deves de entrar em contacto com a administração.
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 10 de Junho de 2009, 13:11
Afinal já está bom, mudei para 0x9B e meti condensador de 2,2uF e ficou como deve de ser :D
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: sulphur em 21 de Novembro de 2009, 12:04
Obrigado Tr3s e a todos os que contribuiram para este tópico. Sem ter nenhuma experiência de electrónica ou soldaduras, consegui por a funcionar um OM6206 96x65 de um Nokia 3410 com grande sucesso, acoplado a um ds1821+ (http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2794) com umas quantas alterações ao código (já não tocava em C a uns 15 anos), juntando-lhe algumas rotinas gráficas.

Fica a dica para quem não se tenha lembrado, como não tinha cabos para fazer a soldadura ao lcd, usei um velho cabo IDE cortado a medida e funcionou lindamente, e tem a vantagem de ficar tudo limpinho.

Só um reparo, talvez o problema seja do meu lado, mas quando tento fazer o download do anexo com o código dos primeiros post do Tr3s, o ficheiro .rar chega-me corrompido, acontece o mesmo com outros anexos .rar no fórum. Será que é só comigo?

sulphur.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 21 de Novembro de 2009, 12:11
Bem-vindo sulphur,

Ainda bem que te foi útil. Quanto aos anexos, realmente desde um upgrade que ficou assim e estamos a tentar resolver a situação.

Infelizmente o problema não é simples de resolver e a nossa disponibilidade também não é muita mas vamos fazendo o melhor possível.

Cumprimentos,
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 23 de Novembro de 2009, 12:32
Anexos corrigidos!
 ;D
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Raul em 23 de Novembro de 2009, 17:24
É possível usar um 1100?

Eu tenho aqui uns mp3 que não ligam de momento só servem para pens, estava a pensar tirar os displays eu penso que trabalhem como pens sem displays, para saber mexer no display aconselham a procurar o datasheet deles através das referências que estão neles?

E se podiam me dar uma dica de como retirar a solda.
http://www.pcreview.co.uk/reviews/Audio/Creative_Zen_Nano_Plus/ (http://www.pcreview.co.uk/reviews/Audio/Creative_Zen_Nano_Plus/)
o outro é da marca do link mas parecido
http://images.google.pt/imgres?imgurl=http://www.fotoagent.dk/single_picture/154/25/large/DENVER_MP-106W%281%29.jpg&imgrefurl=http://www.denver-electronics.com/pages/webside3.asp%3FarticleGuid%3D7973%26menuGuid%3D5387%26subMenuguid%3D5390&usg=__B9ZGcLEGHj6HaHmI4JnGoP6Q46k=&h=273&w=370&sz=14&hl=pt-PT&start=2&um=1&tbnid=1pGynNbOaJ_bXM:&tbnh=90&tbnw=122&prev=/images%3Fq%3Ddenver%2Bmp3%26hl%3Dpt-PT%26client%3Dfirefox-a%26rls%3Dorg.mozilla:pt-PT:official%26hs%3DI7c%26sa%3DN%26um%3D1 (http://images.google.pt/imgres?imgurl=http://www.fotoagent.dk/single_picture/154/25/large/DENVER_MP-106W%281%29.jpg&imgrefurl=http://www.denver-electronics.com/pages/webside3.asp%3FarticleGuid%3D7973%26menuGuid%3D5387%26subMenuguid%3D5390&usg=__B9ZGcLEGHj6HaHmI4JnGoP6Q46k=&h=273&w=370&sz=14&hl=pt-PT&start=2&um=1&tbnid=1pGynNbOaJ_bXM:&tbnh=90&tbnw=122&prev=/images%3Fq%3Ddenver%2Bmp3%26hl%3Dpt-PT%26client%3Dfirefox-a%26rls%3Dorg.mozilla:pt-PT:official%26hs%3DI7c%26sa%3DN%26um%3D1)

Cumprimentos
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 23 de Novembro de 2009, 17:45
O LCD do Nokia 1100 parece-me funcionar na perfeição com que já foi mostrado aqui.

Em relação ao displays dos MP3, sim deve procurar toda a documentação possível sobre eles. Pesquisa na internet pelos mp3 ou pelos códigos que trazem impressos neles.
Não os desmontes sem teres a certeza que vais conseguir fazer alguma com eles ;)
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DFC17 em 11 de Janeiro de 2010, 22:27
eu tenho um LCD de um n80, 3310 e 7610 da em todos?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 11 de Janeiro de 2010, 22:42
Com o 3310 dá, os outros usam outros controladores.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: n@Net em 23 de Fevereiro de 2010, 14:25
Gostava de experimentar com este LCD do 3310 e este vosso codigo para Arduino, acabei a semana passada de montar o Severino!
Infelizmente parece que os anexos ainda não estão a 100/100.
Alguma alma caridosa que me possa ajudar/enviar por email  (URGENTE!!   ...estou a ressacar!  ;D ;D ;D)
Obrigado de antemão!

danielfrade@correioquente.com :D :D  (hotmail.com)   
 ;)
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 23 de Fevereiro de 2010, 21:36
Viva!

O que precisas dos anexos em concreto? Se for o código ele está nos posts, se for outra coisa diz que vamos ver o que se arranja!
Infelizmente também não tenho aqui os anexos se não enviava-te já.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: n@Net em 25 de Fevereiro de 2010, 07:12
Obrigado pela rápida resposta Tr3s.
A verdade é que estou com dificuldade com o codigo que está nos posts e tinha esperança que nos anexos estivesse a papa já toda feita e a funcar...
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: zordlyon em 10 de Março de 2010, 12:40
Ora bem em relaçao a estes LCD's tenho 2 duvidas pessoal....

1ª- Alguem me pode arranjar o esquema de ligaçao a placa arduino?

2ª-Alguem sabe como ligar os led's do LCD? ligar a luz....

Cumprimentos...
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Nando em 04 de Abril de 2010, 11:03
Boas,

Primeiro os meus agradecimentos por partilhar esta informacao e o codigo.
E depois era o mesmo referido acima o ficheiro Nokia.rar nao esta la muito bom:

Extracting from Nokia.rar

Creating    Nokia                                                     OK
Extracting  Nokia/Nokia.pde                                           24%
Nokia/Nokia.pde      - CRC failed
Extracting  Nokia/nokialcd.pde                                        97%
Nokia/nokialcd.pde   - CRC failed
Total errors: 2

Como tal se alguem o pode-se anexar novamente a um post era optimo.

Obrigado!
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tcustodio em 04 de Abril de 2010, 18:07
posso estar enganado, mas se usares o WinRAR, penso que tenhas uma opção para tentar recupar/reparar os arquivos. Já vi aqui um utilizador que fazendo isso conseguiu abrir um arquivo rar corrupto  :)
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Nando em 04 de Abril de 2010, 23:37
Win (windows) rar... tenho alergia a Windows. :)

Pois e possivel, a ver se corre com o wine e que eu nao uso Win.
E que ele descomprime para os ficheiros .pde ficam com o codigo todo baralhado.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: eduardo_d em 10 de Abril de 2010, 01:47
Olá pessoal!
Este é o meu primeiro post aqui no forum. Gosto de electrónica e comecei agora a dar os primeiros passos com o Arduino  :D.
Decidi fazer este tutorial durante o fds mas estou a ter alguns problemas.
Ao usar o código da primeira página (visto o ficheiro para download estar corrompido) juntamente com o array da pagina 3 obtenho o erro

error: expected identifier before '(' token

O código está assim:
Código: [Seleccione]
#include <Wire.h>

#define SCE   7
#define RES   6
#define DC    5
#define SDI   4
#define SCK   3
#define backLIGHT 13

//isto pus tal cm está na pag 3
byte nokiabyte[][5] = {  // Caracteres para usar uma vez que o controlador não os tem defenidos
 {0x00, 0x00, 0x00, 0x00, 0x00} // 20
    .....
,{0x78, 0x46, 0x41, 0x46, 0x78} // 7f ?
};

void setup(void){
  // LCD - Defenir os cinco pins como pins de output
  pinMode(SCE, OUTPUT);
  pinMode(RES, OUTPUT);
  pinMode(DC, OUTPUT);
  pinMode(SDI, OUTPUT);
  pinMode(SCK, OUTPUT);
  initlcd();    // Iniciar o LCD
  delay(100);   // O datasheet pede 100ms após arrancar
  //--------------------------------------------
}
void initlcd(void){        // Iniciar o LCD, tem de se usar isto antes de fazer qualquer coisa no LCD! Se não se defenir a tensão do LCD este pode queimar.
  digitalWrite(RES, HIGH); // Meter o pin reset a 1
  digitalWrite(SCE, HIGH); // Desactivar o chip
  digitalWrite(RES, LOW);  // Fazer reset ao LCD
  delay(100);              // Conforme diz no datasheet do pcd8544, convem esperar 100ms ate o poder acordar
  digitalWrite(RES, HIGH); // Acordar o LCD do estado RESET
 
  writecom(0x21); // Activar o chip e H=1 (datasheet)
  writecom(0xC2); // Defenir a voltagem/tensão do LCD para 7V
  writecom(0x13); // Ajusta a zona de operação/"Bias point" com base na voltagem defenida
  writecom(0x20); // Define o modo de operação, neste caso endereçamento Horizontal (H=0)
  writecom(0x09); // Acticar todos os segmentos
  clearram();     // Limpar a memória ram
  writecom(0x08); // Limpar/flashar o ecra
  writecom(0x0C); // Normalizar o ecra
  cursorxy(0, 0); // Colocar o cursor na primeira coluna da primeira linha do ecra
}

void writecom(char command_in){  // Esta rotina, agora um método, serve para enviar comandos para o controlador do LCD, desligar, inverter pixeis, tipo de endereçamento, etc.
  digitalWrite(DC, LOW);         // Seleccionar o registo de Comandos
  digitalWrite(SCE, LOW);        // Seleccionar o chip
  clockdata(command_in);         // Enviar os bits de comando a cada clock,ou "clock in" aos bits de comando
  digitalWrite(SCE, HIGH);       // Libertar o chip
}

void writedata(char data_in){   // Com esta rotina, agora método, envia-se um byte para o LCD, este byte corresponde a uma coluna com um pixel de largura e 8 pixeis de altura (1x8), 0xFF coluna toda a negro
  digitalWrite(DC, HIGH);       // Seleccionar o registo de Dados
  digitalWrite(SCE, LOW);       // Seleccionar o chip
  clockdata(data_in);           // "Clock in" :) os bits de dados
  digitalWrite(SCE, HIGH);      // Libertar o chip
}

void clockdata(char bits_in){                              // Esta rotina envia os dados para o PCD8544
  char bitcnt;
  for (bitcnt = 8; bitcnt > 0; bitcnt--){
    digitalWrite(SCK, LOW);                                // Parar o clock
    if ((bits_in & 0x80) == 0x80) digitalWrite(SDI, HIGH); // O pcd8544 "clock in" o MSB primeiro
    else digitalWrite(SDI, LOW);
    digitalWrite(SCK, HIGH);                               // Os dados sao enviados nas transições ascendentes de clock
    bits_in <<= 1;                                         // Menos um bit, shift tudo 1bit
  }
}

void clearram(void){                   // OM6206 - Limpa a RAM do controlador OM6206 e assim limpa-se o LCD.
  int ddram;
  cursorxy(0, 0);                        // Colocar o cursor no inicio do ecrã
  for (ddram = 864; ddram > 0; ddram--){ // 9(linhas) x 96 (colunas) = 864 endereços
    writedata(0x00);
  }
}

void cursorxy(char x,char y){   // OM6206 - Colocar o cursor em determinada linha e coluna. Ex.: cursorxy(24,3) -> os proximos dados irao começar a aparecer na linha 3 e coluna 24
  writecom(0x40 | (y & 0x0F));  // definir cursor no eixo OY
  writecom(0x80 | (x & 0x7F));  // definir cursor no eixo OX
}

void putchar(char character){ // Traduz os caracteres para um formato reconhecido pelo PCD8544 e envia-os para o LCD. Cada caracter é um conjunto de 5 bytes.
  for (char i = 0; i < 5; i++){
    writedata(nokiabyte[character - 0x20][i]);  // Vai buscar o byte ao array de caracteres e envia-o para o LCD
  }
  writedata(0x00);  // Espaçamento de um pixel entre cada caracter
}

void putstr(const char *s){  // Colocar uma frase/conjunto de caracteres (String) no LCD.
  while(*s){putchar(*s++);}  // Apontar para um caracter no formato ASCII e escrever um caracter de cada vez
}


void loop(){
  putstr("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz!");
  delay(3000);
}


Se comentar a função putchar o erro já não acontece mas cm é logico n obtenho nada no lcd :-X
Penso que estou a cometer algum erro no código  ::)
Alguem me pode enviar o código que usou e funcionou? o meu mail é epcdomingos@gmail.com

Obrigado a tds

Eduardo
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: eduardo_d em 10 de Abril de 2010, 17:43
olá malta!
Então ng me pode dar aqui uma ajudinha  ::)

abr
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Nando em 10 de Abril de 2010, 23:50
Oi eduardo_d,

Nao perdi muito tempo a ver tudo mas, se fizer o seguinte isso ja compila sem erros e corre mais ou menos.

1. Altere a funcao putchar() para putchr() por exemplo.
   void putchar(char character) --> void putchr(char character)
2. Corriga depois a funcao putstr() .
   while(*s){putchar(*s++);} --> while(*s){putchr(*s++);}


Boa sorte!
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: eduardo_d em 11 de Abril de 2010, 14:51
Nando!
Obrigadíssimo! ;D
Com essa pequena alteração ja esta operacional!
Muito obrigado mais uma vez!

Abr
Eduardo
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: DFC17 em 11 de Abril de 2010, 19:36
para os lcds a cores do n80 e do 7610 que microcontroladores posso usar??
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: GnobarEl em 13 de Junho de 2010, 19:28
Qual a melhor forma de criar as imagens para o LCD?
Utilizei uma pequena app para converter BMP para ASM mas a imagem fica toda desalinhada.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: GnobarEl em 14 de Junho de 2010, 00:49
Outra questão, alguém sabe como posso usar esta libraria?
http://blog.thiseldo.co.uk/?p=383 (http://blog.thiseldo.co.uk/?p=383)

Ou então como é que posso criar uma função para desenhar, por ex. um circulo ou um quadrado?

Obrigado.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 14 de Junho de 2010, 11:03
Como podes usar a biblioteca em que sentido?
Ela tem um programa de exemplo para veres como usam as funções que a biblioteca te disponibiliza.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: GnobarEl em 14 de Junho de 2010, 11:10
Não me levem a mal se estiver a dizer alguma barbaridade.
Pelo que entendi, a biblioteca que o gajo disponibiliza permite desenhar um circulo.

A minha pergunta é, como é que eu posso adicionar aquelas funções?
Eu penso que aquilo foi desenvolvido para usar a shield, eu apenas liguei o LCD directamente como está aqui no fórum.

Código: [Seleccione]
  // More circles
  for( int xc = 10; xc < 85; xc+=15 ) {
    lcd.drawCircle(xc, 24, 20, PIXEL_ON );
  }
  delay( 2000 );

Gostava de ao código disponibilizado pelo tr3s poder acrescentar essas funções.

Consegui-me fazer entender?

Obrigado.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 14 de Junho de 2010, 11:19
No programa dele deve ter o pin out que ele usou, ele não está a usar nenhum shield, há pessoas que comentaram a dizer para ele alterar o programa dele para funcionar com o shield, mas se queres ver como ele fez as coisas, tens o source do código dele, lê como é que ele fez.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: GnobarEl em 14 de Junho de 2010, 12:19
Pelo que li
"After buying one of the Nokia 3310 LCD with joystick shields from Nuelectronics.com I wanted the library to do more in the way of graphical functions. After re-writing the library, cleaning it up and renaming all the functions I now have a library that can do what I want it to do."

Ele diz que usa a shield to 3310 da Nuelectronics.

Já andei à procura no código os pinouts para alterar para as minhas ligações mas não encontro.
Penso que o problema está mesmo no pinout, mas como não encontro onde alterar...
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 14 de Junho de 2010, 14:55
Estará logo no setup onde ele declara o que cada pino faz...
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: GnobarEl em 14 de Junho de 2010, 14:56
Consegues colocar esse código aqui?
Eu já olhei para o código mas não encontrei nada:S

Obrigado.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 14 de Junho de 2010, 15:06
Está aqui:
Código: [Seleccione]
// Define SPI port
#define LCD_RST PORTB1
#define SPI_SS  PORTB2 // must be high whilst SPCR is set.

// Default CS for nuelectronics shield
#define SPI_CS  PORTB2
#define SPI_CS_PORT  PORTB
#define SPI_CS_DDR  DDRB
// Alternative DIgital Pin 6 if you want to modify shield to use Ethernet at same time
//#define SPI_CS  PORTD6
//#define SPI_CS_PORT  PORTD
//#define SPI_CS_DDR  DDRD

#define SPI_MOSI PORTB3
#define SPI_SCK PORTB5
#define LCD_DC  PORTB0
#define LCD_BL  PORTD7 // Backlight control

Agora ves no datasheet onde ficam os portos, e ligas conforme está ai em cima, mas atenção que não podes mudar alguns dos pinos, como por exemplo o miso e o mosi que são os pinos em que o arduino tem spi, que é o que é usado para comunicar com o lcd, esses são mesmo os mais importantes.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: GnobarEl em 14 de Junho de 2010, 15:11
Pois :S
eu cheguei aí, mas aí é que a porca troce o rabo. Fico a olhar para aí e não sei mesmo como fazer isso.

Será que me podes ajudar a converter isso para isto:

Código: [Seleccione]
//Nokia 3310 PinOut
#define RES   10
#define SCE   9
#define DC    8
#define SDI   7
#define SCK   6

Este código é o que tenho, segui o exemplo do tr3s, alterei apenas os pinos para ligar ao meu arduino.
Peguei na imagem que está no post inicial, vi os pinos correspondentes no LCD e liguei no arduino.

Mas não faço a mínima ideia de como converter o outro para este, ou melhor, colocar os meus "pinouts" no outro código :S

Se me poderes ajudar ficava muito agradecido.

Obrigado.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: GnobarEl em 14 de Junho de 2010, 15:18
Ou se for mais simples, a que pinos devo ligar o LCD para corresponder aos do código.
Mesmo que tenha que alterar a ligação actual que tenho.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 14 de Junho de 2010, 23:02
Já viste este ficheiro: http://www.nuelectronics.com/download/projects/Nokia_3310_lcd.pdf (http://www.nuelectronics.com/download/projects/Nokia_3310_lcd.pdf) ?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: GnobarEl em 14 de Junho de 2010, 23:04
Acho que já consegui, finalmente!
Estava complicado.

O problema agora é não ter nenhum push button como o da shield para testar, mas pelo menos já aparece o menu =)

Alguma ideia de como simular um botão desses? Estou a tentar com o potenciómetro, mas não está a funcionar lá muito bem!
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: GnobarEl em 15 de Junho de 2010, 19:35
Estou a conseguir utilizar essa libraria recorrendo à ideia do metro_ de usar um potenciometro e um SW.
Assim que tiver o código mais estável partilho.

Alguma dúvida apitem...
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: LoneWolf em 16 de Julho de 2010, 06:15
Ola a todos e boas noites ou madrugadas, tenho estado aqui nas minhas 7 quintas, a ler guias, como me foi aconselhado, e a tentar por em pratica a teórica, visto que já tinha andado a brincar com o lcd 16x1, pensei que talvez estive-se na altura de brincar com o lcd da nokia, infelizmente não tenho aqui nenhum 3310, mas tenho o 5110, e então fiz-me de penetra no clube dos assassinos de nokias  ;D,desmontei o dito aparelho, olhei para o lcd, que é do tipo 2 como vem na 1ª pagina do post e pensei logo estou f*****, pois soldar aqueles pequenos contactos não ia ser pêra doce, e teimoso que sou pensei, pensei e voltei a pensar e fez-se luz por aqui  ;D fui buscar aqueles fios de cobre revestidos a verniz que vem nas bobines, transformadores ou até mesmo nos fios de multi filamentos e meti mãos a obra, após algum tempo la soldei os 9 contactos, com muita calma e paciência la soldei um a um, pois só podia deixar um pequeno pingo em cada filamento, mas ficou feito, depois soldei um fio ao ânodo e outro ao cátodo dos led's (led esquerdo e direito inferior), como tinha visto em outro post, até aqui tudo bem, mas como li neste mesmo post que pode correr mal e ir o boot do arduino com os cães  ;D e como não quero fazer mal ao animal venho mais uma vez pedir a vossa gentil ajuda, e que muito me tem ajudado, para fazer um simples código só para testar o lcd e visto que este tem 9 pinos, se poderem ajudar de como ligar isto ao arduino visto que não é igual ao do post e de se fazer o dito código de teste que depois logo faço outro código assim que ver como isto funciona.

...bem e como sempre já me alonguem sem querer  :-\  xiiiii e tambem já é tarde pa **********
mais uma directa dasss, este vicio é lixado 

Abraços e óptima continuação  ;D
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: LoneWolf em 16 de Julho de 2010, 13:26
Boas a todos estava aqui a tentar fazer as ligações e no post fala em ligar o condensador de 10uf, mas os que tenho são uns que retirei de placas velhas e tem o valor 10uf 16V, 10uf 25V, 10uf 35V e 10uf 50V e assim sendo não sei qual usar. Quando comprei o arduino também adquiri o kit workshop mas não sei que esse kit traz esse condensador sei que traz o de 100uf 25V.

Abraços e boa continuação  ;)   
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: GnobarEl em 16 de Julho de 2010, 15:24
Electrónica não é o meu forte, mas penso que um de 10uf 16V deve servir. Se não estou em erro estava a usar um de 10uf 25V. Tenta, não deve queimar :p
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: CBX em 16 de Julho de 2010, 16:34
desde que não uses tensões superiores a 16v podes usar esse
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: LoneWolf em 16 de Julho de 2010, 19:29
Boas obrigado pelas dicas vou então usar o 16v mas ainda não liguei nada pois tenho de ver onde ligo este pin do lcd ( pin6     Osc (32768Hz external clock) ) ao arduino porque te lcd tem 9 pin's ou se nao fizer diferença alguma nem o ligo a lado nenhum. Já agora so uma coisa se ligar o condensador erradamente pode queimar o arduino? ele liga-se com o negativo para o arduino certo?



Abraços e boa continuação e mais uma vez obrigado  ;)
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: LoneWolf em 16 de Julho de 2010, 20:59
Boas já liguei o lcd e usei o codigo do tr3s mas esta a dar erro na compilação  :-[ , também já tentei fazer um só para aparecer uma letra para ver se o lcd esta bom, mas nada também, já agora os pin's que se ligam ao arduino são aos analógicos ou aos digitais talvez esteja ai o meu erro.

Abraços  ;) 
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: GnobarEl em 17 de Julho de 2010, 00:50
digitais.
mas se o programa tem um erro de compilação não sabes se o LCD está todo bem ligado.
Qual é o erro?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: amando96 em 17 de Julho de 2010, 10:53
Tens a bilbioteca instalada?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: LoneWolf em 17 de Julho de 2010, 20:33
Boas e desculpem mas tenho estado fora, infelizmente, o código que usei foi do Sr. Tr3s
Citar
#include <Wire.h>

#define SCE   7
#define RES   6
#define DC    5
#define SDI   4
#define SCK   3
#define backLIGHT 13

void initlcd(void);              // Inicia o LCD.
void writecom(char);      // Escreve o comando/comandos.
void writedata(char);      // Escreve os dados para a DDRAM para iluminar os pixeis.
void clockdata(char);      // Envia os dados para o controlador PCD8544.
void clearram(void);      // Apaga o conteudo da DDRAM.
void cursorxy(char,char);   // Posiciona o cursor em x,y.
void putchar(char);           // Escreve um caracter.
void putstr(const char *);      // Escreve um conjunto de caracteres.

void setup(void){
  // LCD - Defenir os cinco pins como pins de output
  pinMode(SCE, OUTPUT);
  pinMode(RES, OUTPUT);
  pinMode(DC, OUTPUT);
  pinMode(SDI, OUTPUT);
  pinMode(SCK, OUTPUT);
  initlcd();    // Iniciar o LCD
  delay(100);   // O datasheet pede 100ms após arrancar
  //--------------------------------------------

}

void loop(){
  putstr("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz!");
  delay(3000);
  cursorxy(0,0);
  cursorxy(0,0);
  putstr("kilobyte");
  delay(5000);
  clearram();
}


foi essa parte que usei depois tentei usar isso mas modificado mas infelizmente não gravei e terei de voltar a fazer mas também não tive sucesso com a compilação talvez ainda seja cedo para eu fazer algum tipo de código, mas eu também só queria ver se o lcd estava  funcionar nada mais. Mas dedo de ter que começar a fazer coisas mais simples. Na questão da biblioteca penso que sim, pode é não estar completa.

Abraços e boa continuação  ;)
Obrigado.     
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 17 de Julho de 2010, 21:01
Então, postas o código e dizes que erros dá, que nós tentamos ajudar nisso.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: LoneWolf em 17 de Julho de 2010, 23:30
Boas isto ainda é difícil para mim talvez mais la para a frente, mas o código que estou a usar basicamente é esse do tr3s.

Abraços
(tenho de começar mais por baixo, talvez com motores( passo, dc), e sensores)
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 17 de Julho de 2010, 23:34
Mas se dá erros diz que erros dá.
E motores de passo sem um ic para os controlar não é pera doce
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: amando96 em 18 de Julho de 2010, 20:09
555 + 4017 + ULN2803A já anda numa direcção com velocidade controlada.

Este LCD funciona com 3.3v, pk ligá-lo aos 5v?   
Comprei dois na feira por 3€ ( ;D ) não podia dizer que não, mesmo já tendo um do ebay...
E os pinos 1---8 refere-se á breakout do metRo_, ou do próprio LCD? ou são os dois o mesmo?  :P
Como já se percebeu, ainda não fui ver o datasheet  :-X

Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: LoneWolf em 20 de Julho de 2010, 12:42
Boas tardes a todos, desculpem por não ter postado o erro antes mas tenho estado um pouco mal e ao qual já fui submetido a uma pequena cirurgia e as dores não me tem deixado fazer nada nem pensar se quer dai a minha ausência, mas adiante, o código que usei foi esse do Tr3s que postei anteriormente não sei se tem mais erros mas este é o 1º que me da, mas é como já tinha dito ainda não percebo muito de programação e não sei como aplicar os termos do código e onde os devo aplicar a ideia agora é só mesmo ver se funciona o lcd da nokia, então o erro é este: " error: expected identifier before '(' token " e no código refer-se a isto: void putchar(char);           // Escreve um caracter. " hoje também já encontrei um site onde utiliza esse lcd e ver se la encontro o código só para experimentar. 

Obrigado.

Abraços e óptima continuação  ;)
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ivitro em 31 de Julho de 2010, 12:52
ola a todos!


A que frequência vocês trabalham com este lcd? estou a tentar meter a funcionar com um 8051 so que nao estou a conseguir.. estou com um cristal de 12Mhz
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: rjrv em 02 de Agosto de 2010, 15:18
O ficheiro do tr3s, dá erro ao descompactar... :'(
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ivitro em 06 de Agosto de 2010, 16:46
ja consegui meter o meu a dar!


tens mais livrarias pela net fora ;)
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ivitro em 21 de Agosto de 2010, 18:04
Como posso fazer aquelas barras verticais como tem no tópico do termostato??
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: AcidDagger em 22 de Agosto de 2010, 19:50
ja consegui meter o meu a dar!


tens mais livrarias pela net fora ;)

livrarias? lol
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 22 de Agosto de 2010, 20:54
Diz-se bibliotecas em portugues, é tipico passar a palavra library erradamente para libraria e não biblioteca.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ivitro em 23 de Agosto de 2010, 12:19
Diz-se bibliotecas em portugues, é tipico passar a palavra library erradamente para libraria e não biblioteca.


Tens toda a razão mas já é a força do habito!!



Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ricardo-reis em 02 de Setembro de 2010, 00:04
A pedido de várias famílias o ficheiro Nokia.rar, postado pelo Tr3s no inicio deste tópico, é de novo disponibilizado neste (http://dl.dropbox.com/u/1123623/Nokia.rar) link, para quem não teve oportunidade de o 'apanhar' antes da tal falha que danificou o ficheiro.

Cumps.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: PDI em 02 de Setembro de 2010, 01:06
Obrigado Ricardo vai fazer falta para um futuro projecto.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ricardo-reis em 02 de Setembro de 2010, 01:13
de nada..
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: AndréD. em 02 de Setembro de 2010, 11:25
Boas Pessoal...

Estou com um pequeno problema nessa codigo, ora entao o problema é que me da este erro:
error: expected identifier before '(' token

E aponta para esta linha:
Código: [Seleccione]
#define SCE   7
#define RES   6
#define DC    5
#define SDI   4
#define SCK   3
#define backLIGHT 13 <---------------------

void initlcd(void); // Inicia o LCD.
void writecom(char); // Escreve o comando/comandos.
void writedata(char); // Escreve os dados para a DDRAM para iluminar os pixeis.
void clockdata(char); // Envia os dados para o controlador PCD8544.
void clearram(void); // Apaga o conteudo da DDRAM.
void cursorxy(char,char); // Posiciona o cursor em x,y.
void putchar(char);         // Escreve um caracter.
void putstr(const char *);      // Escreve um conjunto de caracteres.

Alguem pode ajudar?

Cumps
AndréD.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: TigPT em 04 de Setembro de 2010, 10:13
Não estou a ver o que possa ser pelo que postaste AndréD.

Posta o resto do código.

Já testaste actualizar a versão do IDE? pode ser um bug do mesmo.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 04 de Setembro de 2010, 13:42
Eu já estive a  ver tambem e o erro é muito estranho e nâo consigo dar com nada mal no código mas não compila e dá erro em todas as funções.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: leandrosilva em 08 de Setembro de 2010, 19:57
alguem pode dizerme as diferenças entre o datasheet DS1620 e o DS1620S?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 08 de Setembro de 2010, 21:08
Está lá dito, o ds1620s é em encapsulamento soic, ou seja um surface mount, o ds1620 é em encapsulamento PDIP, ou seja com perninhas que passam pelo pcb.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: leandrosilva em 08 de Setembro de 2010, 23:36
obrigado ja percebi a sua diferença ;) abraço
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: n@Net em 13 de Setembro de 2010, 19:02
Eu já estive a  ver tambem e o erro é muito estranho e nâo consigo dar com nada mal no código mas não compila e dá erro em todas as funções.

Actualizei para  IDE arduino-0019, e depois de substituir (Graças ao Nando (http://lusorobotica.com/index.php?topic=431.msg21822#msg21822))o nome da função de putchar para putchr já compilou sem problemas!


Cumps desde Benavente, Zamora (ES) !
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: CBX em 23 de Setembro de 2010, 21:08
boas

na datasheet vejo que o vcc é de 2.7 a 3.3v e vocês estão a usar mesmo 5v directamente, não há problema?

cumps
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Vilaca em 15 de Dezembro de 2010, 02:35
Tenho uma pergunta para o Master destruidor de telemoveis....
Será que tambem funciona num nokia 5210? ???
Isto é... Se o pinout do ecran é igual ao do 3310  ;D

Cumps Leirienses
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 15 de Dezembro de 2010, 02:38
Se o ecrã for igual sim.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Vilaca em 15 de Dezembro de 2010, 03:10
Se o ecrã for igual sim.
Mas por acaso era isso que estava a perguntar...
Um 5210 ja desmontei mas nunca um 3310, tava a tentar perceber se o tr3s, ou outra pessoa, ja tinha desmontado um 5210 e comparado com um 3310....
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ricardo-reis em 15 de Dezembro de 2010, 03:50
estes são os compactíveis:

Nokia 5110, 5120, 5130, 5160, 5210, 6110, 6150, 3210, 3310, 3315, 3330, 3350, 3410, 6210  (pode haver algum em falta)

há uma pequena diferença nos tipos de conectores usados, mas os pins são todos iguais. pode haver diferença no tamanho (em pixeis) destes lcds, mas isso está explicado no primeiro post.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Vilaca em 15 de Dezembro de 2010, 11:50
estes são os compactíveis:

Nokia 5110, 5120, 5130, 5160, 5210, 6110, 6150, 3210, 3310, 3315, 3330, 3350, 3410, 6210  (pode haver algum em falta)

há uma pequena diferença nos tipos de conectores usados, mas os pins são todos iguais. pode haver diferença no tamanho (em pixeis) destes lcds, mas isso está explicado no primeiro post.

Era mesmo isso que estava á procura =)
Obrigado ;D
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: HIT_Braga em 08 de Setembro de 2011, 10:15
Boas pessoal

Estou a experimentar isto com um lcd sacado no 3310 (questão: o controlador é PCD8544 certo?)

Tenho os ficheiros nokia.pde e nokialcd.pde. Corrigi a função putchar para putchr e compilou sem problemas.

O meu problema agora o display liga mas fica um quadrado preto no ecrã(vou tentar postar aqui uma imagem)

Quando se envia para o arduino vão os dois ficheiros compilados? é que quando abro um abrem-se os dois...
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: N4pst3r em 23 de Outubro de 2011, 17:43
Boas, será possível alguém disponibilizar o código do tr3s é que os anexos estão corrompidos.

cumps.

EDIT: já reparei no link adicional.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Lithium em 30 de Novembro de 2011, 10:57
Tenho uma questão, como é que o tr3s converteu o logo da LusoRobótica para byte? Acho que foi isso que ele fez...
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: FET_Destroyer em 30 de Novembro de 2011, 13:48
Tenho uma questão, como é que o tr3s converteu o logo da LusoRobótica para byte? Acho que foi isso que ele fez...

Eu uso este programa da mikroE, agora o mikroC já não trás o executável mas eu ainda tenho a versão antiga, dá para converter para nokia3310 e outros tantos LCD.n

http://www.mediafire.com/?oqrdcxdozbasfoj (http://www.mediafire.com/?oqrdcxdozbasfoj)

Cumps
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: Lithium em 04 de Dezembro de 2011, 22:08
Eu tinha perguntado apenas por curiosidade, mas agora que já tenho o meu lcdzinho ST7565 ando à procura de um programa que me converta imagens para esse tipo de código, e isto é para usar no arduino.

Cumpz
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: FET_Destroyer em 04 de Dezembro de 2011, 22:18
Esse programa apesar de ser retirado dum IDE para PIC/8051 e outros pode ser usado em qualquer LCD grafico.
O que isso te faz é criar uma variavel do tipo char com os pixeis individuais do LCD, isso faz para o KS0108, logo tambem deve servir para esse LCD. Agora das duas uma, ou tens sorte e a biblioteca arduino está adaptada ao formato que esse programa gera ou  tens de modificar o que tambem não será dificil.

cumps

Eu tinha perguntado apenas por curiosidade, mas agora que já tenho o meu lcdzinho ST7565 ando à procura de um programa que me converta imagens para esse tipo de código, e isto é para usar no arduino.

Cumpz
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: zordlyon em 26 de Janeiro de 2012, 00:58
Pessoal alguém me diz como ligar a luz do LCD do 3310??? ou o proprio LCD não tem luz? é o que me parece pois...

Porque o meu LCD nao da luz...

Cumprimentos,
André Carvalho.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: LoneWolf em 26 de Janeiro de 2012, 15:17
Boas, mas funciona? ( aparece algo no LCD?) é que eu no meu aconteceu o oposto  ;D dava luz mas não apareceu nada hihiihihi.

Abraço.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: zordlyon em 26 de Janeiro de 2012, 16:25
Boas, mas funciona? ( aparece algo no LCD?) é que eu no meu aconteceu o oposto  ;D dava luz mas não apareceu nada hihiihihi.

Abraço.

Sim funciona perfeitamente, ja experimentei varios sketchs que encontrei pela net...mas luz nada...

Até pensei que tem leds externos ao LCD...

Cumprimentos,
André Carvalho.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 26 de Janeiro de 2012, 16:27
Normalmente a alimentação da backlight são dois pinos separados do controlo do lcd, como acontece com os tipicos lcd's de caracteres, que tens os pinos de dados, os R/W, e companhia e depois tens dois pinos para a back-light.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: LoneWolf em 26 de Janeiro de 2012, 16:28
Citar
Até pensei que tem leds externos ao LCD...

E tem. os led's estão na PCB talvez tenhas de ligar a alimentação neles.

Citar
back-light
no meu só escurece o mete mais claro o contraste e não a luz

Abraço.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: zordlyon em 26 de Janeiro de 2012, 16:37
Citar
Até pensei que tem leds externos ao LCD...

E tem. os led's estão na PCB talvez tenhas de ligar a alimentação neles.

Citar
back-light
no meu só escurece o mete mais claro o contraste e não a luz

Abraço.

Mas os leds estão na PCB do telemovel??

Cumprimentos,
André Carvalho.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: LoneWolf em 26 de Janeiro de 2012, 16:39
Sim, podes ver isso nas fotos que estão no inicio do post o que estas dentro do quadrado nº3.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 26 de Janeiro de 2012, 16:39
Sim, provavelmente por baixo do ecra, que é o sitio deles, mostra ai que placa tens, ou tens só o display do telemovel mesmo que tiras-te de um telemovel?
Ai dos leds estão na pcb do telemovel em si e é por isso que não tens back-light.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: zordlyon em 26 de Janeiro de 2012, 16:53
Pois, mas estive a ver na placa e não encontro os leds a beira do ecra... a não ser que sejam microscopicos lol..


(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg855.imageshack.us%2Fimg855%2F3659%2Fdscf8566.jpg&hash=661e6b3c4aaca906beccecf6ceb697c0d9ba17c9)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg252.imageshack.us%2Fimg252%2F1156%2Fdscf8568r.jpg&hash=1efdec71115fcc0854ccc3081cae40a65c373205)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg842.imageshack.us%2Fimg842%2F3421%2F10672393.png&hash=a4531613aa5259e91633f4567aabf835f70fe102) (http://imageshack.us/photo/my-images/842/10672393.png/)

Aqui nesta ultima imagem pode-se ver os que estão sublinhados a vermelho são os leds do teclado, mas leds no ecra nao se ve nada na placa...estranho...

Cumprimentos,
André Carvalho.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 26 de Janeiro de 2012, 16:58
O plastico que segura o ecra e as teclas do telemovel faz de light-pipe e mete por assim dizer luz por baixo do ecrã, tenho ideia que é isso, isso ou essa placa de plástico tinha lá dois leds, porque esse ecra em si não tem nada.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: zordlyon em 26 de Janeiro de 2012, 17:00
O plastico que segura o ecra e as teclas do telemovel faz de light-pipe e mete por assim dizer luz por baixo do ecrã, tenho ideia que é isso, isso ou essa placa de plástico tinha lá dois leds, porque esse ecra em si não tem nada.

Deve ser como tu dizes, já tinha pensado nisso de "light-pipe" não sabia era expressar-me com esse requinte de palavra  ;D

Porque como se pode ver na foto, logo abaixo do ecra tem 4 Leds seguidinhos de fora a fora...

Já percebi, não há crise, obrigado pela ajuda pessoal... ;)

Cumprimentos,
André Carvalho.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: CBX em 26 de Janeiro de 2012, 17:28
esses lcd's não têm backlight integrada, os leds normalmente são soldados no pcb, pelo menos os que desmontei eram assim
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joel99 em 22 de Fevereiro de 2012, 23:24
Boas pesssoal eu estou a fazer  um mini projecto com o lcd nokia 3310 e sempre que tento compilar um codigo que que encontro na net e até mesmo o que tem aqui dao-me sempre erro e nao sei porque será que me podem ajudar, e queria mesmo por o lcd a funciunar
Obrigado se me poderem ajudar ..
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 23 de Fevereiro de 2012, 00:12
Código e mensagens de erro..
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: dio123 em 02 de Maio de 2012, 11:13
Bom dia,

Aproveitei aqui um lcd de nokia 5210, consegui ligar com sucesso.

Achei este codigo no google, uma vez os ficheiro anexados ao longo do post estão corrupidos.

Exprimentei vários codigos que achei da net do 3310 só que no 5210 ele escreve da direita para  a esquerda em vez da esquerda para a direita

No codigo abaixo no lcd aparece "oniudrA"   em vez de "Arduino", como inverto  as letras?.


Citar
#define PIN_SCE 3
#define PIN_RESET 5
#define PIN_DC 2
#define PIN_SDIN 4
#define PIN_SCLK 6
#define LCD_C LOW
#define LCD_D HIGH
#define LCD_X 84
#define LCD_Y 48
static const byte ASCII[][5] =
{
 {0x00, 0x00, 0x00, 0x00, 0x00} // 20 
,{0x00, 0x00, 0x5f, 0x00, 0x00} // 21 !
,{0x00, 0x07, 0x00, 0x07, 0x00} // 22 "
,{0x14, 0x7f, 0x14, 0x7f, 0x14} // 23 #
,{0x24, 0x2a, 0x7f, 0x2a, 0x12} // 24 $
,{0x23, 0x13, 0x08, 0x64, 0x62} // 25 %
,{0x36, 0x49, 0x55, 0x22, 0x50} // 26 &
,{0x00, 0x05, 0x03, 0x00, 0x00} // 27 '
,{0x00, 0x1c, 0x22, 0x41, 0x00} // 28 (
,{0x00, 0x41, 0x22, 0x1c, 0x00} // 29 )
,{0x14, 0x08, 0x3e, 0x08, 0x14} // 2a *
,{0x08, 0x08, 0x3e, 0x08, 0x08} // 2b +
,{0x00, 0x50, 0x30, 0x00, 0x00} // 2c ,
,{0x08, 0x08, 0x08, 0x08, 0x08} // 2d -
,{0x00, 0x60, 0x60, 0x00, 0x00} // 2e .
,{0x20, 0x10, 0x08, 0x04, 0x02} // 2f /
,{0x3e, 0x51, 0x49, 0x45, 0x3e} // 30 0
,{0x00, 0x42, 0x7f, 0x40, 0x00} // 31 1
,{0x42, 0x61, 0x51, 0x49, 0x46} // 32 2
,{0x21, 0x41, 0x45, 0x4b, 0x31} // 33 3
,{0x18, 0x14, 0x12, 0x7f, 0x10} // 34 4
,{0x27, 0x45, 0x45, 0x45, 0x39} // 35 5
,{0x3c, 0x4a, 0x49, 0x49, 0x30} // 36 6
,{0x01, 0x71, 0x09, 0x05, 0x03} // 37 7
,{0x36, 0x49, 0x49, 0x49, 0x36} // 38 8
,{0x06, 0x49, 0x49, 0x29, 0x1e} // 39 9
,{0x00, 0x36, 0x36, 0x00, 0x00} // 3a :
,{0x00, 0x56, 0x36, 0x00, 0x00} // 3b ;
,{0x08, 0x14, 0x22, 0x41, 0x00} // 3c <
,{0x14, 0x14, 0x14, 0x14, 0x14} // 3d =
,{0x00, 0x41, 0x22, 0x14, 0x08} // 3e >
,{0x02, 0x01, 0x51, 0x09, 0x06} // 3f ?
,{0x32, 0x49, 0x79, 0x41, 0x3e} // 40 @
,{0x7e, 0x11, 0x11, 0x11, 0x7e} // 41 A
,{0x7f, 0x49, 0x49, 0x49, 0x36} // 42 B
,{0x3e, 0x41, 0x41, 0x41, 0x22} // 43 C
,{0x7f, 0x41, 0x41, 0x22, 0x1c} // 44 D
,{0x7f, 0x49, 0x49, 0x49, 0x41} // 45 E
,{0x7f, 0x09, 0x09, 0x09, 0x01} // 46 F
,{0x3e, 0x41, 0x49, 0x49, 0x7a} // 47 G
,{0x7f, 0x08, 0x08, 0x08, 0x7f} // 48 H
,{0x00, 0x41, 0x7f, 0x41, 0x00} // 49 I
,{0x20, 0x40, 0x41, 0x3f, 0x01} // 4a J
,{0x7f, 0x08, 0x14, 0x22, 0x41} // 4b K
,{0x7f, 0x40, 0x40, 0x40, 0x40} // 4c L
,{0x7f, 0x02, 0x0c, 0x02, 0x7f} // 4d M
,{0x7f, 0x04, 0x08, 0x10, 0x7f} // 4e N
,{0x3e, 0x41, 0x41, 0x41, 0x3e} // 4f O
,{0x7f, 0x09, 0x09, 0x09, 0x06} // 50 P
,{0x3e, 0x41, 0x51, 0x21, 0x5e} // 51 Q
,{0x7f, 0x09, 0x19, 0x29, 0x46} // 52 R
,{0x46, 0x49, 0x49, 0x49, 0x31} // 53 S
,{0x01, 0x01, 0x7f, 0x01, 0x01} // 54 T
,{0x3f, 0x40, 0x40, 0x40, 0x3f} // 55 U
,{0x1f, 0x20, 0x40, 0x20, 0x1f} // 56 V
,{0x3f, 0x40, 0x38, 0x40, 0x3f} // 57 W
,{0x63, 0x14, 0x08, 0x14, 0x63} // 58 X
,{0x07, 0x08, 0x70, 0x08, 0x07} // 59 Y
,{0x61, 0x51, 0x49, 0x45, 0x43} // 5a Z
,{0x00, 0x7f, 0x41, 0x41, 0x00} // 5b [
,{0x02, 0x04, 0x08, 0x10, 0x20} // 5c ¥
,{0x00, 0x41, 0x41, 0x7f, 0x00} // 5d ]
,{0x04, 0x02, 0x01, 0x02, 0x04} // 5e ^
,{0x40, 0x40, 0x40, 0x40, 0x40} // 5f _
,{0x00, 0x01, 0x02, 0x04, 0x00} // 60 `
,{0x20, 0x54, 0x54, 0x54, 0x78} // 61 a
,{0x7f, 0x48, 0x44, 0x44, 0x38} // 62 b
,{0x38, 0x44, 0x44, 0x44, 0x20} // 63 c
,{0x38, 0x44, 0x44, 0x48, 0x7f} // 64 d
,{0x38, 0x54, 0x54, 0x54, 0x18} // 65 e
,{0x08, 0x7e, 0x09, 0x01, 0x02} // 66 f
,{0x0c, 0x52, 0x52, 0x52, 0x3e} // 67 g
,{0x7f, 0x08, 0x04, 0x04, 0x78} // 68 h
,{0x00, 0x44, 0x7d, 0x40, 0x00} // 69 i
,{0x20, 0x40, 0x44, 0x3d, 0x00} // 6a j
,{0x7f, 0x10, 0x28, 0x44, 0x00} // 6b k
,{0x00, 0x41, 0x7f, 0x40, 0x00} // 6c l
,{0x7c, 0x04, 0x18, 0x04, 0x78} // 6d m
,{0x7c, 0x08, 0x04, 0x04, 0x78} // 6e n
,{0x38, 0x44, 0x44, 0x44, 0x38} // 6f o
,{0x7c, 0x14, 0x14, 0x14, 0x08} // 70 p
,{0x08, 0x14, 0x14, 0x18, 0x7c} // 71 q
,{0x7c, 0x08, 0x04, 0x04, 0x08} // 72 r
,{0x48, 0x54, 0x54, 0x54, 0x20} // 73 s
,{0x04, 0x3f, 0x44, 0x40, 0x20} // 74 t
,{0x3c, 0x40, 0x40, 0x20, 0x7c} // 75 u
,{0x1c, 0x20, 0x40, 0x20, 0x1c} // 76 v
,{0x3c, 0x40, 0x30, 0x40, 0x3c} // 77 w
,{0x44, 0x28, 0x10, 0x28, 0x44} // 78 x
,{0x0c, 0x50, 0x50, 0x50, 0x3c} // 79 y
,{0x44, 0x64, 0x54, 0x4c, 0x44} // 7a z
,{0x00, 0x08, 0x36, 0x41, 0x00} // 7b {
,{0x00, 0x00, 0x7f, 0x00, 0x00} // 7c |
,{0x00, 0x41, 0x36, 0x08, 0x00} // 7d }
,{0x10, 0x08, 0x08, 0x10, 0x08} // 7e ←
,{0x78, 0x46, 0x41, 0x46, 0x78} // 7f →
};
void LcdCharacter(char character)
{
  LcdWrite(LCD_D, 0x00);
  for (int index = 0; index < 5; index++)
  {
    LcdWrite(LCD_D, ASCII[character - 0x20][index]);
  }
  LcdWrite(LCD_D, 0x00);
}
void LcdClear(void)
{
  for (int index = 0; index < LCD_X * LCD_Y / 8; index++)
  {
    LcdWrite(LCD_D, 0x00);
  }
}
void LcdInitialise(void)
{
  pinMode(PIN_SCE, OUTPUT);
  pinMode(PIN_RESET, OUTPUT);
  pinMode(PIN_DC, OUTPUT);
  pinMode(PIN_SDIN, OUTPUT);
  pinMode(PIN_SCLK, OUTPUT);
  digitalWrite(PIN_RESET, LOW);
  digitalWrite(PIN_RESET, HIGH);
  LcdWrite(LCD_C, 0x20);
  LcdWrite(LCD_C, 0x0C); // LCD in normal mode. 0x0d for inverse
}
void LcdString(char *characters)
{
  while (*characters)
  {
    LcdCharacter(*characters++);
  }
}
void LcdWrite(byte dc, byte data)
{
  digitalWrite(PIN_DC, dc);
  digitalWrite(PIN_SCE, LOW);
  shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST, data);
  digitalWrite(PIN_SCE, HIGH);
}
void setup(void)
{
  LcdInitialise();
  LcdClear();
  delay(500);
}
void loop(void)
{
  LcdClear();
  LcdString("   Arduino  ");
  delay(2000);
  LcdString("   Umberto  ");
  delay(2000);
  LcdString("            ");
  LcdString("   PCD8544  ");
  LcdString("Display Test");
  LcdString(" 0123456789 ");
  delay(2000);
}
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: dio123 em 07 de Maio de 2012, 14:36
Boa tarde,

Testei com o lcd do meu nokia 3310, com o exemplo que o user tr3s postou, e funcionou muito bem.

Agora queria por a funcionar o lcd no 5210, mas a coisa está negra para estes lados.
http://homepages.pathfinder.gr/h_public/DSC04278a.jpg (http://homepages.pathfinder.gr/h_public/DSC04278a.jpg)
http://homepages.pathfinder.gr/h_public/DSCF4996_a.JPG (http://homepages.pathfinder.gr/h_public/DSCF4996_a.JPG)

Usando o mesmo exemplo do nokia 3310 e acontece que escreve da direita para esquerda em vez da esquerda para a direita.

Outra coisa foi que não consegui arranjar detalhe sobre o lcd 5210.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: CBX em 07 de Maio de 2012, 15:08
repara no comentário desta linha:

Código: [Seleccione]
  LcdWrite(LCD_C, 0x0C); // LCD in normal mode. 0x0d for inverse
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: dio123 em 07 de Maio de 2012, 16:30
Foi umas das primeiras coisas que exprimentei trocar.
Isso e para ficar ecra branco e letras pretas ou ecra preto e letras brancas.

O que me está acontecer é que no ecra em vez de aparecer escrito "HELLO WORLD" aparece escrito "DLROW OLLEH".
Título: Re:Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: iyahdub em 07 de Maio de 2012, 19:08

Este LCD é tão bom e consome tão pouca energia que se não tiveres mais nada no circuito (2 ou 3 LEDs, etc..) nem precisas de alimentá-lo!
tr3s, em relacao ao teu comentario, aconselhava-te a evitar tal coisa, porque a existencia de alimentacao parasitica( ccomo se chama) e um pau de dois bicos, ja que e conhecida como "arrebenta chips", especialmente digitais, claro. Tem varias aplicacoes em casos variados mas CMOS logic chips e uC's nao te recomendo muito...mesmo que funcione o mais certo e acabar por o deitar abaixo !

Pensei mncionar o facto aqui !!

Mas obrigada pelos teus tutoriais. Vejo que te esforcas por serem bem documentados
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 30 de Maio de 2012, 18:31
Ha alguma maneira de fazer linhas com fim em inicio "a defenir"?

è para fazer um gráfico, vi que o três tinha qualquer coisa sobre isso, mas não encontro.

Thanks
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: tr3s em 01 de Junho de 2012, 01:29
Obrigado iyahdub, já emendei o post.

JoaoPedroCMP, não há uma maneira directa e simples de fazer isso. A única forma é mesmo manipulares sector a sector e escrever o byte pretendido. :(

O melhor será fazeres um conjunto de funçoes para te ajudar a atingir esse objectivo. Não só simplifica o teu código como também ficas já com umas boas bases para projectos futuros.

Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 01 de Junho de 2012, 18:31
Na boa, ;) vou ver se consigo fazer umas funções, depois posto :P

Ja agora, ha alguma libraria com o footprint do lcd?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 02 de Junho de 2012, 20:39
para o eagle :P

Esqueci.me de mencionar lol.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 02 de Junho de 2012, 22:03
Tenho ideia que a biblioteca da Sparkfun tem isso.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 02 de Junho de 2012, 22:08
Vou ja ver :P

Thanks
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 02 de Junho de 2012, 22:11
Nop, so tem o do 6100, mas até ta mal feito, penso eu.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 02 de Junho de 2012, 22:34
Arranja-me o footprint numa datasheet ou assim que domingo faço-te isso.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 02 de Junho de 2012, 22:43
Obrigadão,

datasheet :http://www.myplace.nu/mp3/files/pcd8544.pdf
medidas: http://www.sunbizhosting.com/~spiral/3310lcd/3310.html (http://www.sunbizhosting.com/~spiral/3310lcd/3310.html)

não sei se chega :X
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 07 de Junho de 2012, 23:58
Fica aqui para quem quiser:
https://dl.dropbox.com/u/30143255/nokia_lcd.lbr

É só copiar para a pasta Lbr do Eagle e abrir o programa, peço-te só que imprimas o footprint e verifiques antes de fazer um pcb que os pads estão certos, porque não garanto que tenham as medidas correctas..
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 08 de Junho de 2012, 00:33
obrigadão :)
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 09 de Junho de 2012, 20:48
Não aparece na lista :X
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: ivitro em 09 de Junho de 2012, 22:24
Tens que adicionar.

Library->use
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: c3dr1c em 03 de Julho de 2012, 03:38
Onde raio consigo arranjar um PCD8544 ou OM6206. Ja procurei e nao encontro.

Se calhar comprar um 3310 por 5€ sai mais barato que um lcd+ integrado, ou nao?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 03 de Julho de 2012, 04:01
Tens aqui:
http://iteadstudio.com/store/index.php?main_page=product_info&products_id=155 (http://iteadstudio.com/store/index.php?main_page=product_info&products_id=155)
Pronto a usar.

Ou estes com o teclado agarrado:
http://www.ebay.com/sch/i.html?_sacat=0&_nkw=nokia+3310+lcd (http://www.ebay.com/sch/i.html?_sacat=0&_nkw=nokia+3310+lcd)
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: c3dr1c em 03 de Julho de 2012, 04:18
Entao estes tambem devem ter ja o ic, certo?

http://www.ebay.com/itm/84-48-LCD-Module-White-backlight-adapter-PCB-for-Nokia-5110-Arduino-/170817974147?pt=LH_DefaultDomain_0&hash=item27c58b6f83 (http://www.ebay.com/itm/84-48-LCD-Module-White-backlight-adapter-PCB-for-Nokia-5110-Arduino-/170817974147?pt=LH_DefaultDomain_0&hash=item27c58b6f83)
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 03 de Julho de 2012, 05:13
Isso é igual aos da IteadStudio.
O ic está soldado no lcd, é um package que é colado directamente o silicio no vidro ou então no conector flexivel.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: amando96 em 03 de Julho de 2012, 12:32
Esses logo com a breakout board estão bem mais baratos do que quando procurei, ainda cheguei a fazer uma(a do metRo_) mas  ora estava bem ligado ora não estava, não consegui segurar aquilo bem...
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: filbest em 11 de Outubro de 2012, 21:14
Boa noite pessoal, conseguiram compilar os programas apresentados? tenho um erro logo no início do programa, mas não consigo identificar nada de mal, tentar testar para ver se é erro só meu. obrigado
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 12 de Outubro de 2012, 05:02
É a função putchar, muda-lhe o nome para outra coisa que já compila, atrofia alguma biblioteca interna do arduino.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: mafap em 24 de Maio de 2013, 10:59
Boas,
andava aqui a pesquisar pelo fórum e encontrei este tópico que é aquilo que pretendia mas para PIC, li que havia a possibilidade de enviarem os ficheiros. Já tentei contactar vários  administradores mas ninguém me respondeu, agradecia se me podessem enviar algo pois já ando há várias semanas a tentar meter alguma coisa no LCD e nada.
O PIC que estou a usar é o 16F877a e LCDs tenho um do cada controlador.
Já agora, se tiverem algum esquema no Proteus... já encontrei montes de esquemas diferentes e fico confuso e sem saber qual usar para não queimar o LCD.

Obrigado
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: metRo_ em 24 de Maio de 2013, 11:57
Boas,
andava aqui a pesquisar pelo fórum e encontrei este tópico que é aquilo que pretendia mas para PIC, li que havia a possibilidade de enviarem os ficheiros. Já tentei contactar vários  administradores mas ninguém me respondeu, agradecia se me podessem enviar algo pois já ando há várias semanas a tentar meter alguma coisa no LCD e nada.
O PIC que estou a usar é o 16F877a e LCDs tenho um do cada controlador.
Já agora, se tiverem algum esquema no Proteus... já encontrei montes de esquemas diferentes e fico confuso e sem saber qual usar para não queimar o LCD.

Obrigado

Devias ler o primeiro post que fala da interface do lcd e assim tambem encontravas o código que está no final do 3º tópico.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 22 de Novembro de 2013, 04:18
Boas, obtenho o codigo de uma imagem com o fastlcd ?
usei este link mas també, nao resolveu:
https://logotype.se/image-converter-arduino/
Obrigado
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: dropes em 22 de Novembro de 2013, 12:07
Isso é igual aos da IteadStudio.
O ic está soldado no lcd, é um package que é colado directamente o silicio no vidro ou então no conector flexivel.
O IC controlador encontra-se colado no vidro do LCD, a alimentação como toda a comunicação tem de ser via 3.3V
O que não falta são exemplos para este display

Avariam-se com muita facilidade se mal manejados
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 23 de Novembro de 2013, 22:34
Alguem??
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 24 de Novembro de 2013, 02:39
Queres converter de quê, para quê?
Já usei este..
http://en.radzio.dxp.pl/bitmap_converter/ (http://en.radzio.dxp.pl/bitmap_converter/)

Depois podes é ter de ver como é a ordem de desenho dos comandos do teu lcd para não ficar invertida a imagem ou assim.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 24 de Novembro de 2013, 13:35
Tenho a imagem em bmp, o pcs é o pc** igual ao do três, a ordem dd desenho é igual a do três,  Pk o código q ele postou ficou bem no meu
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 25 de Novembro de 2013, 16:10
Boas, ja experimentei, fico com a imagem distorccida.

será alguma configuração?

tenho:
Byte orientation vertical
size width 84
      height 48

Size endianness Little
Pixels /byte 8
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaodh em 14 de Março de 2014, 22:38
Boas precisava de alguma ajuda. Tenho andado a tentar por um lcd destes a funcionar com um atmega328,ja tentei alterar librarias e tudo mas nada funciona, sera que me conseguem dar uma ajuda?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: CBX em 14 de Março de 2014, 23:20
mais informação? código, esquema de ligação?

atenção que existem dois controladores diferentes para os lcds do 3310, logo o código de um não funciona no outro.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaodh em 15 de Março de 2014, 03:34
mais informação? código, esquema de ligação?

atenção que existem dois controladores diferentes para os lcds do 3310, logo o código de um não funciona no outro.
amanha vou fazer mais uma tentativa se nao der posto aqui. Usando o codigo daqui adaptado em c para o 328, acham qie preciso de usar a spi?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: dropes em 15 de Março de 2014, 14:36
Que confusão...

librarias não existe, muito menos livrarias, chamam-se bibliotecas

Quando se começa a postar neste fórum, convém fazer uma apresentação em vez de pedir ajuda assim de repente
http://lusorobotica.com/index.php?board=78.0 (http://lusorobotica.com/index.php?board=78.0)

Qual a plataforma que estás a usar, arduino?!
Sabes ao menos o que é SPI é que não tem nada a ver com a comunicação dos LCDs da Nokia nem com a interface ao microcontrolador.
Há muito exemplo na net, é bom para se entender o funcionamento mas não passa daí.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaodh em 15 de Março de 2014, 17:54
Que confusão...

librarias não existe, muito menos livrarias, chamam-se bibliotecas

Quando se começa a postar neste fórum, convém fazer uma apresentação em vez de pedir ajuda assim de repente
http://lusorobotica.com/index.php?board=78.0 (http://lusorobotica.com/index.php?board=78.0)

Qual a plataforma que estás a usar, arduino?!
Sabes ao menos o que é SPI é que não tem nada a ver com a comunicação dos LCDs da Nokia nem com a interface ao microcontrolador.
Há muito exemplo na net, é bom para se entender o funcionamento mas não passa daí.
Estou a usar apenas um avr Atmega328, não é no arduino, eu falei em spi porque já vi alguns tutorias para o atmega8 em que usam spi, estive a alterar o codigo e nao consegui por a dar no atmega328, deixo em anexo o codigo para se me puderem ajudar, desde já obrigado
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 15 de Março de 2014, 18:13
Isto não faz aquilo que pensas..
Citar
PORTB=(RES>>1); // Meter o pin reset a 1

PORTB |= (1<<RES); //Res high
PORTB &= ~(1<<RES); //Res low

Aconselho que vás ler o meu tutorial sobre bitwise math (em AVR) aqui no fórum, por isso é que o teu código não funciona...
Nem sei como é que foste logo fazer isso assim, porque nem um led piscas com isso.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaodh em 15 de Março de 2014, 19:18
Isto não faz aquilo que pensas..
Citar
PORTB=(RES>>1); // Meter o pin reset a 1

PORTB |= (1<<RES); //Res high
PORTB &= ~(1<<RES); //Res low

Aconselho que vás ler o meu tutorial sobre bitwise math (em AVR) aqui no fórum, por isso é que o teu código não funciona...
Nem sei como é que foste logo fazer isso assim, porque nem um led piscas com isso.
Muito obrigado, já consegui finalmente, eu nao estou muito costumado a usar esta notificação a declarar os PORTB, aprendi a usar 0b0101010, o teu tutorial esta bastante porreiro obrigado.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaodh em 16 de Março de 2014, 04:48
Estive a fazer umas experiencias com o codigo e tive um problema quando tenho um texto em cima e depois meto uma contagem decrescente em baixo e preciso de apagar o ecra para que fique a contagem direita, o problema e que o texto em cima tambem pisca devido ao apagar o ecra. Eu no arduino cheguei a usar a uns tempos uma biblioteca que me permitia fazer isto. Alguem sabe o que e preciso optimiZar neste codigo para que deixe de acontecer isto? Eu li que e possivel fazer isto atraves de spi devido a taxa de tranferencia mais alta. Alguem confirma?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 16 de Março de 2014, 08:07
Deixas a primeira e a segunda linha, e imprimes espaços onde tens a contagem para limpar os digitos anteriores, e depois voltas a meter lá o numero novo.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: arssant em 16 de Julho de 2014, 14:50
Viva.

Estou a tentar ligar um LCD dum 3310 a um router.. so mesmo para testar. A ideia será outra, mas como quero ter infos no LCD e um arduino minipro vindo de serial, um velhinho linksys wrt54gs e dd-wrt da perfeitamente.
Alias ja tenho isso implementado mas com lcd 16x2:

http://forum.arduino.cc/index.php?PHPSESSID=7s3om2q7p8vokfam3nc698k9c1&topic=253845.0 (http://forum.arduino.cc/index.php?PHPSESSID=7s3om2q7p8vokfam3nc698k9c1&topic=253845.0)

A ideia era aproveitar o compacto do 3310, e ja tenho isso tudo ligado e testado com os exemplo do forum da arduino.

O problema: ando aqui as voltas para resolver 2 erro de quando da compil do exemplo apresentado no inicio deste topico:

Código: [Seleccione]
#define SCE   7
#define RES   6
#define DC    5
#define SDI   4
#define SCK   3
#define backLIGHT 13

void initlcd(void); // Inicia o LCD.
void writecom(char); // Escreve o comando/comandos.
void writedata(char); // Escreve os dados para a DDRAM para iluminar os pixeis.
void clockdata(char); // Envia os dados para o controlador PCD8544.
void clearram(void); // Apaga o conteudo da DDRAM.
void cursorxy(char,char); // Posiciona o cursor em x,y.
void putchr(char);         // Escreve um caracter.
void putstr(const char *);      // Escreve um conjunto de caracteres.


da nisto " In file included from C:\Documents and Settings\xpgs\Os meus documentos\Transferências\arduino-1.0.5-r2\hardware\arduino\cores\arduino/Arduino.h:213,
                 from Nokia.ino:9:
C:\Documents and Settings\xpgs\Os meus documentos\Transferências\arduino-1.0.5-r2\hardware\arduino\variants\standard/pins_arduino.h:43: error: expected unqualified-id before numeric constant"

Um outro erro, mas lendo aqui, alterei o "void putchar(char);"  para "void putchr(char);", e esse 1r erro ficou solucionado.

Agora este, não encontro solução, alguém com sugestão ?

Obrigado.
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 15 de Setembro de 2014, 23:44
Boas,

Estou a compilar o zip de nome "NOKIA" que teem em anexo, na v 1.05-r2 mas aparecem os seguintes erros:

In file included from C:\Program Files\Arduino\hardware\arduino\cores\arduino/Arduino.h:213,
                 from Nokia.pde:8:
C:\Program Files\Arduino\hardware\arduino\variants\standard/pins_arduino.h:43: error: expected unqualified-id before numeric constant
Nokia:15: error: expected identifier before '(' token
Nokia:14: error: expected identifier before '(' token
nokialcd:176: error: expected identifier before '(' token
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: arssant em 17 de Setembro de 2014, 14:06
Boas,

Estou a compilar o zip de nome "NOKIA" que teem em anexo, na v 1.05-r2 mas aparecem os seguintes erros:

In file included from C:\Program Files\Arduino\hardware\arduino\cores\arduino/Arduino.h:213,
                 from Nokia.pde:8:
C:\Program Files\Arduino\hardware\arduino\variants\standard/pins_arduino.h:43: error: expected unqualified-id before numeric constant
Nokia:15: error: expected identifier before '(' token
Nokia:14: error: expected identifier before '(' token
nokialcd:176: error: expected identifier before '(' token

Viva.

Passa por aqui:

http://forum.arduino.cc/index.php?PHPSESSID=4h64il48967he4hv0cfipb6aj4&topic=176794.msg1812352#msg1812352 (http://forum.arduino.cc/index.php?PHPSESSID=4h64il48967he4hv0cfipb6aj4&topic=176794.msg1812352#msg1812352)

Tive muitos bons resultados com a lib do autor deste topico.

Cumps..
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 17 de Setembro de 2014, 14:25
Boas,  obrigado.
Ontem a noite já tinha conseguido por a trabalhar.
Entretanto sabes se esta lib. Tem caracteres maiores?
Já tentei fazer mas não consigo.  Fiz a imagem em ícone,  passei no lcd assistant.  E  copiei o código.

Meti o código num atrativos com os 9 número,  mas não funciona
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: arssant em 17 de Setembro de 2014, 15:11
Boas,  obrigado.
Ontem a noite já tinha conseguido por a trabalhar.
Entretanto sabes se esta lib. Tem caracteres maiores?
Já tentei fazer mas não consigo.  Fiz a imagem em ícone,  passei no lcd assistant.  E  copiei o código.

Meti o código num atrativos com os 9 número,  mas não funciona

Boas, nos posts anteriores ao meu alguém ja fez essa pergunta. E ao que parece o user ncherkasov fez qq coisa nesse sentido.

Ja agora, estou com a mesma ver do IDE, o que alteresta na base desta lib daqui para poder compilar isto sem errors ?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 17 de Setembro de 2014, 15:41
Mudei o putchar para putchr.
E passei os includes todos para o início do código.
Logo a noite já posto isso aqui
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 19 de Setembro de 2014, 01:42
Boas Pessoal,

Estive a ver mais um pouco sobre os caracteres que usamos neste Lcd, a intenção é criar fonts maiores que os caracteres do exemplo que o tr3s fez.

Ao início pensei que fazendo imagens com o FastLCD e converter para código com o LCDAssistant, e imprimindo no lcd 2 imagens uma a seguir a outra, o que se passou foi que onde nao é impresso a cor o lcd poe a branco, mesmo que tenha já alguma coisa impressa, logo apaga o numero anterior.

Depois de uma pesquisa no google vi que os caracteres sao constituidos por 35 pixeis/bits , dispostos por 7 linhas e 5 colunas (7x5), cada coluna forma um byte (conjunto de 5 bits) e 5 bytes formam umcaracter.

Retirado do array de caracteres do tr3s:
{0x20, 0x54, 0x54, 0x54, 0x78} // 61 a

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fs27.postimg.org%2F61k9lyg4j%2Fnokia_font_5x7_description.jpg&hash=2f27dba380fcbef269d836281a43044e3eaf6fc7) (http://postimage.org/)
pc screenshot (http://postimage.org/app.php)

Para fazer uma fonte maior por exemplo 28x20, decidi fazer da mesma maneira e obtive para o numero 9 o seguinte:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fs16.postimg.org%2Fifl33kyp1%2Fpixel.jpg&hash=917047bb0bf47e70aafd9ee8675b307fb2fdf5bf) (http://postimage.org/)
image hosting 5mb (http://postimage.org/)

Coluna 1  - 0000000000000000111100000000
Coluna 2  - 0000000000000111111111100000
Coluna 3  - 0000000000001111111111110000
Coluna 4  - 0000000000011111111111111000
Coluna 5  - 0000000000111111111111111100
Coluna 6  - 0000000001111111111111111110
Coluna 7  - 0000000001111111111111111110
Coluna 8  - 0000000011111111111111111111
Coluna 9  - 0011100001111111000011111111
Coluna 10 - 0011111000001110000001111111
Coluna 11 - 0011111111000010000001111111
Coluna 12 - 0111111111111000000001111111
Coluna 13 - 0111111111111111000011111111
Coluna 14 - 0111111111111111111111111111
Coluna 15 - 0111111111111111111111111110
Coluna 16 - 0001111111111111111111111110
Coluna 17 - 0000011111111111111111111100
Coluna 18 - 0000000011111111111111111000
Coluna 19 - 0000000000011111111111110000
Coluna 20 - 0000000000000111111111100000

Convertido em HEX (chamei nokiamegabyte)

Código: [Seleccione]
byte nokiamegabyte[][20] = {
         0xf00 , 0x7fe0 , 0xfff0 , 0xfff8 , 0xfffc , 0xfffe , 0xfffe , 0xffff , 0xf0ff , 0xe07f , 0x207f , 0x807f , 0xf0ff , 0xffff , 0xfffe , 0xfffe , 0xfffc , 0xfff8 , 0xfff0 , 0x7fe0}

 Para o imprimir usei parte do putchr():

Código: [Seleccione]
for (char i = 0; i < 20; i++){
    writedata(nokiamegabyte[0][i]);
  }

Entretanto não aparece tudo no display.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fs10.postimg.org%2Fjbmsw6gix%2F10706540_774069062636852_1343768727_n.jpg&hash=5391a5c7646fbf906ca884000578a3e76e60e55f) (http://postimage.org/)
adult photo sharing (http://postimage.org/)


Qual será o problema?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: senso em 19 de Setembro de 2014, 01:58
Para começar, estás a "enfiar" 16bits numa variavel que só suporta 8 bits( que é o byte), é o que dá o IDE do arduino não mostrar warnings..
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 19 de Setembro de 2014, 02:16
Boas,
então quer dizer que não dá para fazer damaneira que fiz?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 20 de Setembro de 2014, 13:33
Alguém?
Título: Re: Arduino + LCD Nokia 3310! - PCD8544 / OM6206
Enviado por: joaopedrocmp em 23 de Setembro de 2014, 00:27
Bem, novidades...

Depois do que o senso disse, resolvi dividir a imagem linhas, cada uma com 8bit

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fs21.postimg.org%2Fbif3jueaf%2FSem_T_tulo.jpg&hash=2de2bb7fa621f7922c5013dbf1118528a5381b76) (http://postimage.org/)

ficou assim:

1ºlinha:  {0x0, 0xE0, 0XF0, 0XF8, 0XFC, 0XFE, 0XFE, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFE, 0XFE, 0XFC, 0XF8, 0XF0, 0XE0}
2ºlinha:  {0XF, 0X7F, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XF0, 0XE0, 0X20, 0X80, 0XF0, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0X7F}
3ªlinha:  {0X0, 0X0 , 0X0 , 0X1 , 0X3 , 0X7 , 0X7 , 0XF , 0X7 , 0XE0, 0XFC, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0X7F, 0XF , 0X1 , 0X0 }
4ºlinha:  {0X0, 0X0 , 0X0 , 0X0 , 0X0 , 0X0 , 0X0 , 0X0 , 0X3 , 0X3 , 0X3 , 0X7 , 0X7 , 0X7 , 0X7 , 0X1 , 0X0 , 0X0 , 0X0 , 0X0 }

Para imprimir a imagem no ecran tive que alterar um bocadinho
Código: [Seleccione]
  cursorxy(0,0);                                 // posição do cursor
  for (char c = 0; c < 4; c++){             // nova variável para a coluna
    cursorxy(0,c);
    for (char i = 0; i < 20; i++){
    writedata(mega[c][i]); // Vai buscar o byte ao array de caracteres e envia-o para o LCD
  }
  }
  writedata(0x00);                             // Espa?amento de um pixel entre cada caracter

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fs13.postimg.org%2Fny19662yf%2FIMG_20140923_002344.jpg&hash=a5dd67b24945a4b8904d9df2483a4d376fdde131) (http://postimage.org/)

o array dos caracteres vi ter 3 dimenções. onde coloco o caracter, a linha, e os bit's da imagem.

Agora, nova duvida, no meio do codigo tive que por a função cursorxy(0,c) neste caso o y é "0",
no caso de antes ter definido cursor(1,0) em cima, como posso fazer para em baixo no cursorxy(0,c), ir buscar o valor que está em cima?