collapse

* Links de Robótica

* Posts Recentes

Power_OK Enermax por almamater
[Hoje às 12:10]


Feira de electricidade e eletrónica por edeweld
[Hoje às 02:02]


Recomendação de um opamp para um DAC r2r por jm_araujo
[Ontem às 10:48]


RN42 e TP-Link MR3020 por doiga
[22 de Novembro de 2017, 19:22]


Ajuda Projecto IR / RF por senso
[22 de Novembro de 2017, 13:15]


Ideias para construir um quadrúpede simples por dropes
[21 de Novembro de 2017, 22:43]


Ajuda com TRIAC por senso
[17 de Novembro de 2017, 18:00]


TV LG White Screen por almamater
[15 de Novembro de 2017, 08:37]


Pergunta sobre prototipagem ( Pesquisa ) por luisjustin
[14 de Novembro de 2017, 23:22]


Medir Agua que está no Poço por Njay
[14 de Novembro de 2017, 13:28]

Autor Tópico: I2C LCD  (Lida 3081 vezes)

0 Membros e 2 Visitantes estão a ver este tópico.

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
I2C LCD
« em: 24 de Novembro de 2012, 03:27 »
Boa noite,
Este tópico é de âmbito geral de micro processadores entre outras coisa.

Quero comprar um I2C para um LCD no ebay, e vem a dizer que é para o 16x2. Sendo que é só um "driver" não é possivel colocar num 20x2?

Offline tarquinio

  • Mini Robot
  • *
  • Mensagens: 529
Re: I2C LCD
« Responder #1 em: 24 de Novembro de 2012, 04:04 »
Estás a falar de uma coisa que permita ligar um LCD com interface ST7066/HD44780 (daqueles com 16 pinos) a uma interface I2C? Desde que a interface seja a mesma, não interessa qual o tamanho do display (imagino que queiras um 20X4, e não 20x2) , pelo que percebi o que tu queres é so uma coisa que converta I2c para paralelo, não vejo problemas nisso...

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.402
  • Helpdesk do sitio
Re: I2C LCD
« Responder #2 em: 24 de Novembro de 2012, 14:00 »
Não é compativel porque isso não são port-expanders i2c, mas sim micro-controladores a correr código, a fazer de slaves i2c, e uma das coisas que está hard-coded é a inicialização, assim como buffers e assim, dai não dar para trocar o lcd por um com mais ou menos linhas ou caracteres.
Podes sempre fazer tu um com um pic pequeno ou um attiny2313.
Avr fanboy

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: I2C LCD
« Responder #3 em: 24 de Novembro de 2012, 14:37 »
Estás a falar de uma coisa que permita ligar um LCD com interface ST7066/HD44780 (daqueles com 16 pinos) a uma interface I2C? Desde que a interface seja a mesma, não interessa qual o tamanho do display (imagino que queiras um 20X4, e não 20x2) , pelo que percebi o que tu queres é so uma coisa que converta I2c para paralelo, não vejo problemas nisso...

Quero mesmo o 20x2 são super baratos no ebay, mas estou sem espaço nas saídas do meu arduino, então queria o I2C, para os 16x2 são relativamente baratos, os 20x2 são o dobro do preço, e sim nas imagens parece um micro, ou seja deve ser a razão de encarecer.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.402
  • Helpdesk do sitio
Re: I2C LCD
« Responder #4 em: 24 de Novembro de 2012, 14:45 »
Usa um shift-register, tens de usar 3 pinos em vez de só 2 do i2c, mas usas o lcd que bem quiseres.
E podes usar shift-registers para ficares com mais saidas digitais.
Avr fanboy

Offline tarquinio

  • Mini Robot
  • *
  • Mensagens: 529
Re: I2C LCD
« Responder #5 em: 24 de Novembro de 2012, 14:47 »
Podes por o link exactamente da cena que querias comprar?

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: I2C LCD
« Responder #6 em: 24 de Novembro de 2012, 15:46 »
http://www.ebay.com/itm/IIC-I2C-TWI-SPI-Serial-Interface-Board-Module-Port-For-Arduino-1602-LCD-Display-/160928052178?pt=LH_DefaultDomain_0&hash=item25780f33d2
este é o I2C

http://www.ebay.com/itm/20X2-LCD-Module-Black-Character-without-Backlight-2002-/160925781336?pt=LH_DefaultDomain_0&hash=item2577ec8d58
este é o LCD 20x2 mais barato que está a aparecer

Usa um shift-register, tens de usar 3 pinos em vez de só 2 do i2c, mas usas o lcd que bem quiseres.
E podes usar shift-registers para ficares com mais saidas digitais.
O shit-register não é feito pelo comando enviado pelo porto? que neste caso será a comunicação I2C?

Offline tarquinio

  • Mini Robot
  • *
  • Mensagens: 529
Re: I2C LCD
« Responder #7 em: 24 de Novembro de 2012, 15:58 »
A idéia do shift register é que com tres pinos consegues controlar o LCD (ou outras coisas).
Espreita isto por exemplo:
https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
Só precisarias do LCD + 1 shift register que até consegues comprar barato cá em PT... ;)

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: I2C LCD
« Responder #8 em: 24 de Novembro de 2012, 16:17 »
A idéia do shift register é que com tres pinos consegues controlar o LCD (ou outras coisas).
Espreita isto por exemplo:
https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
Só precisarias do LCD + 1 shift register que até consegues comprar barato cá em PT... ;)
há aqui qualquer coisa que me está a falhar.

No esquema que me deste só têm 2 coneções tirando a alimentação contrataste etc.

A ideia que tenho dum LCD 16x2 é que depois de fazer as inicializações, via porto paralelo, faço o "clock" (Enable) configuro o RS e o R/W etc.

Como é que IC só usa 4 pinos de dados?

como já tinha dito, já encontra I2C a dizer que eram micros, neste caso não dizem, porque é que eles fazem a inicialização automática e não deixam ao programador escolher?

Offline tarquinio

  • Mini Robot
  • *
  • Mensagens: 529
Re: I2C LCD
« Responder #9 em: 24 de Novembro de 2012, 20:50 »
Tens duas versoes diferentes da coisa...
Primeiro aparece Non Latching Shift Register, que usa só 2 pinos de dados, e mais abaixo tens Latch Shift Register, que usa mais 1 pino de dados.
A idéia é em vez de teres X outputs do arduino, teres apenas 2 ou 3 ligados ao shift register. Um dos pinos é o clock, o outro pino indica qual é o valor do pino do output seguinte. A diferenca entre ter o terceiro pino ou não é que esse pino serve para alterar os outputs todos de uma vez quando já tem todos o valor certo, em vez dos valores irem mudando de cada vez que há um clock.
Experimenta ler isto se quiseres perceber melhor:
http://www.instructables.com/id/The-74HC164-Shift-Register-and-your-Arduino/

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: I2C LCD
« Responder #10 em: 25 de Novembro de 2012, 00:53 »
Tens duas versoes diferentes da coisa...
Primeiro aparece Non Latching Shift Register, que usa só 2 pinos de dados, e mais abaixo tens Latch Shift Register, que usa mais 1 pino de dados.
A idéia é em vez de teres X outputs do arduino, teres apenas 2 ou 3 ligados ao shift register. Um dos pinos é o clock, o outro pino indica qual é o valor do pino do output seguinte. A diferenca entre ter o terceiro pino ou não é que esse pino serve para alterar os outputs todos de uma vez quando já tem todos o valor certo, em vez dos valores irem mudando de cada vez que há um clock.
Experimenta ler isto se quiseres perceber melhor:
http://www.instructables.com/id/The-74HC164-Shift-Register-and-your-Arduino/

Acho que já percebi, pensei que te referias em mexer nos shift register do LCD.

Mas acho que não posso usar dessa forma, já tenho um teclado PS2 ligado, que usa o clock e data, só tenho 1 saída digital e 3 entradas analógicas sobrantes :/

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.402
  • Helpdesk do sitio
Re: I2C LCD
« Responder #11 em: 25 de Novembro de 2012, 02:36 »
Os pinos analógicos tambem são pinos digitais.
3 pinos servem perfeitamente para ligar um shift-register um 74hc595.
Avr fanboy

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: I2C LCD
« Responder #12 em: 25 de Novembro de 2012, 13:58 »
Ok vou tentar se tiver espaço de código :p

Então qual é a justificação do uso de 4 pinos de dados no LCD?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.402
  • Helpdesk do sitio
Re: I2C LCD
« Responder #13 em: 25 de Novembro de 2012, 14:03 »
É assim que o chip que controla o lcd funciona.
Avr fanboy

Offline tarquinio

  • Mini Robot
  • *
  • Mensagens: 529
Re: I2C LCD
« Responder #14 em: 25 de Novembro de 2012, 15:50 »
Então qual é a justificação do uso de 4 pinos de dados no LCD?
É uma interface paralela, manda vários bits ao mesmo tempo... É uma questão de escolha, podes até ligar os 8 bits em vez de quatro. Se tiveres uma interface paralela podes mandar logo 1 byte por cada clock, porque cada fio leva um bit diferente. Se for série, como só há 1 fio para os dados só vai 1 bit de cada vez.