collapse

* Links de Robótica

* Posts Recentes

Ligar Células de Lithium por Hugu
[Hoje às 02:00]


Encomenda Colectiva N3-2016[@Mouser - Aberta a pedidos!] por Hugu
[Hoje às 01:53]


Printer 3D barata por xmatias
[Ontem às 03:56]


Servidor por almamater
[09 de Dezembro de 2016, 21:39]


mysql server error por andre_f_carvalho
[09 de Dezembro de 2016, 18:56]


Cortar plástico ABS por msr
[05 de Dezembro de 2016, 17:27]


MOVIDO: FPV Drone Racing? por metRo_
[05 de Dezembro de 2016, 10:49]


Módulo gsm por dio123
[04 de Dezembro de 2016, 23:06]


Procuro resistências 220 Ohm de 1% por brunus
[02 de Dezembro de 2016, 15:50]


Package de cond 10uF 35V smd? por KammutierSpule
[02 de Dezembro de 2016, 11:19]

Autor Tópico: LCD 16x1 + Arduino  (Lida 6435 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline LoneWolf

  • Mini Robot
  • *
  • Mensagens: 763
  • ..Ser ou não ser não tem questão nenhuma...
    • A Visão do Lobo
LCD 16x1 + Arduino
« em: 09 de Julho de 2010, 13:27 »
Ola e boas tardes a todos, tenho aqui um LCD 16x1 ( HMC16102-SY-PY-2) que retirei de um alarme e já segui os post's do fórum e não consegui escrever nele, para ligar o led dele tive de ligar o pino 15 ao GND e o pino 16 a 5+ os outro pinos fiz igual ao tutorial e só consigo fazer o contraste dos 8 primeiros espaços que devia aparecer caracteres. Não sei o que fazer já vi montes de post's e nada isto teima em não dar, será que esta avariado  :'( ? se poderem ajudar agradecia.

Obrigado e boa continuação  ;) 
Blog: A Visão do Lobo

Nick antigo: kilobyte

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.627
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re: LCD 16x1 + Arduino
« Responder #1 em: 09 de Julho de 2010, 13:40 »
Tens o datasheet? nem todos têm o pinout igual.

Offline fred gomes

  • Mini Robot
  • *
  • Mensagens: 238
Re: LCD 16x1 + Arduino
« Responder #2 em: 09 de Julho de 2010, 13:41 »
os pinos de alimentação e o data Bus do LCD 16 x 1 são os mesmos que o 16 x 2 ( a unica difrença é o nº de colunas)?

penso que deve ser, mas convem confirmares pelo dataheet,
se realmente forem os mesmos segue este tutorial:

http://www.earthshineelectronics.com/optoelectronics/34-16x2-lcd-display-green-on-black.html

vais a "download" e sacas o dataheet do LCD, segue o que lá está , eu quando consegui meter o meu a funcionar pela 1ª vez foi com esse tutorial...

depois dá novidades :) e boa sorte..
cumprimentos,
Fred

Offline LoneWolf

  • Mini Robot
  • *
  • Mensagens: 763
  • ..Ser ou não ser não tem questão nenhuma...
    • A Visão do Lobo
Re: LCD 16x1 + Arduino
« Responder #3 em: 09 de Julho de 2010, 14:20 »
Boas, obrigado fred gomes, agora já da alguma coisa sem ser o contraste, mas agora aparece a palavra escrita mas só " Hello, w" ver onde esta o problema agora mas já é um começo, e mais uma vez obrigado.

Abraços e boa continuação  ;)
Blog: A Visão do Lobo

Nick antigo: kilobyte

Offline FET_Destroyer

  • Mini Robot
  • *
  • Mensagens: 213
    • Fet Destroyer
Re: LCD 16x1 + Arduino
« Responder #4 em: 09 de Julho de 2010, 14:26 »
Boas kilobyte
Se reparares o teu display só mostra os 8 primeiros caracteres "Hello, w"
É muito provável que ele seja um display de 16x1 mas internamente esteja como um de 8x2, ou seja para escreveres bem Hello, world deves enviar para a segunda linha "orld". Tenta escrever um A na 1 linha e um B na 2 linha e talvez te apareçam caracteres de meio display para a frente.
cumps

Offline LoneWolf

  • Mini Robot
  • *
  • Mensagens: 763
  • ..Ser ou não ser não tem questão nenhuma...
    • A Visão do Lobo
Re: LCD 16x1 + Arduino
« Responder #5 em: 09 de Julho de 2010, 15:13 »
Boas, e como adiciono a 2ª linha ao código? a pouco ainda consegui por números a contar a seguir a palavra "hello, w" agora nem isso  :-\
Blog: A Visão do Lobo

Nick antigo: kilobyte

Offline FET_Destroyer

  • Mini Robot
  • *
  • Mensagens: 213
    • Fet Destroyer
Re: LCD 16x1 + Arduino
« Responder #6 em: 09 de Julho de 2010, 15:24 »
Em arduino não sei como funciona, voces devem ter ja as bibliotecas feitas, eu uso umas modificadas por mim e sao do genero.
putCHAR(linha,caracter), em linha ponho a linha que o quero por, em caracter meto a posiçao, no meu caso voa de 0 a 15, no teu deve ir de zero a 7. Tenta ver as bibliotecas do arduino, devem haver uma função onde dizes que queres o texto na linha x.
No meu por exemplo tem 4 zonas de memoria que são as linhas
Linha1 - 80 - 8F
Linha2 - C0 - CF, etc
Se souberes o datasheet desse é uma questão de fazeres uma função deste género

void    LCDgoto(char line, char x){
if (line == 1) lcd_cmd(0x80+(x));
if (line == 2)lcd_cmd(0xC0+((x)));
if (line == 3)lcd_cmd(0x90+((x)));
if (line == 4)lcd_cmd(0xD0+((x)));
            }
« Última modificação: 09 de Julho de 2010, 15:28 por FET_Destroyer »

Offline fred gomes

  • Mini Robot
  • *
  • Mensagens: 238
Re: LCD 16x1 + Arduino
« Responder #7 em: 09 de Julho de 2010, 15:29 »
http://arduino.cc/en/Reference/LiquidCrystalBegin

consulta a biblioteca...
tens de fazer no setup "lcd.begin(8,2)no caso do teu display..

depois para escreveres onde queres (linha e coluna, basta escrever   lcd.setCursor(linha,coluna);(nao te esqueças que a coluna 1 é identificada por 0, e a 2ª por 1, para escreves na 2ª coluna podes fazer por exemplo . lcd.setCursor(0,1);

Boa sorte ;)

cumprimentos,
Fred

Offline LoneWolf

  • Mini Robot
  • *
  • Mensagens: 763
  • ..Ser ou não ser não tem questão nenhuma...
    • A Visão do Lobo
Re: LCD 16x1 + Arduino
« Responder #8 em: 09 de Julho de 2010, 18:12 »
Boas, obrigado pelas dicas  ;) prob resolvido, e so mais uma coisa eu escrevi varias "mensagens" e queria que elas se repetissem que comando tenho de introduzir?

Obrigado por tudo e boa continuação  ;)
Blog: A Visão do Lobo

Nick antigo: kilobyte

Offline fred gomes

  • Mini Robot
  • *
  • Mensagens: 238
Re: LCD 16x1 + Arduino
« Responder #9 em: 09 de Julho de 2010, 19:42 »
se repetissem como assim?
não percebi...
cumprimentos,
Fred

Offline LoneWolf

  • Mini Robot
  • *
  • Mensagens: 763
  • ..Ser ou não ser não tem questão nenhuma...
    • A Visão do Lobo
Re: LCD 16x1 + Arduino
« Responder #10 em: 09 de Julho de 2010, 20:00 »
Boas, eu meti 3 mensagens, aparece a 1ª, 3s depois a 2ª e mais 3s aparece a 3ª e depois faz clear e para por ali e eu queria que as mensagens depois da 3ª volta-se a 1ª. espero que tenha percebido e mais uma vez obrigado pela a ajuda  ;)

Abraços e óptima continuação.
Blog: A Visão do Lobo

Nick antigo: kilobyte

Offline FET_Destroyer

  • Mini Robot
  • *
  • Mensagens: 213
    • Fet Destroyer
Re: LCD 16x1 + Arduino
« Responder #11 em: 09 de Julho de 2010, 20:29 »
Faz um while(1) e poe essa sequência lá dentro

Offline fred gomes

  • Mini Robot
  • *
  • Mensagens: 238
Re: LCD 16x1 + Arduino
« Responder #12 em: 09 de Julho de 2010, 20:31 »
mostra o código que fizeste..
cumprimentos,
Fred

Offline LoneWolf

  • Mini Robot
  • *
  • Mensagens: 763
  • ..Ser ou não ser não tem questão nenhuma...
    • A Visão do Lobo
Re: LCD 16x1 + Arduino
« Responder #13 em: 09 de Julho de 2010, 20:37 »
boas já tentei return, while e não deu deve faltar alguma coisa, mas ai vai o código

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

void setup() {
  lcd.begin(8, 2);
  lcd.setCursor(0, 0);
  lcd.print("Ola, Mun");
  lcd.setCursor(0, 1);
  lcd.print("do Nasci");
  delay(3000);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("LusoRobo");
  lcd.setCursor(0, 1);
  lcd.print("tica.com");
  delay(3000);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Obrigado");
  lcd.setCursor(0, 1);
  lcd.print(" a todos");
  delay(3000);
  lcd.clear();
 
}
void loop () {
}
 

....é certo que ainda não percebo de programação mas estou lendo guias e tentando aplicar.
Blog: A Visão do Lobo

Nick antigo: kilobyte

Offline fred gomes

  • Mini Robot
  • *
  • Mensagens: 238
Re: LCD 16x1 + Arduino
« Responder #14 em: 09 de Julho de 2010, 20:51 »
o setup por norma so é executado uma vez (digo por norma pq se estiveres a a usar o algum timer, por exemplo, é executado mais que uma vez...),

se queres que isso te esteja sempre aparecer mais que uma vez tens de colocar no loop, ( o numero de linhas e colunas fica colocado no setup, pq basta ao arduino obter esse informaçao uma vez "para saber" que o display tem 2 colunas e 8 linhas, é como quando declaras o estado dos pinos (pinMode´s, etc) o numero de linhas e colunas do display funciona da mesma forma, entendes?...
« Última modificação: 09 de Julho de 2010, 20:55 por fred gomes »
cumprimentos,
Fred