LCD com I2C ??

Olá a todos.

Estou a pensar em adquirir um display com 2 linhas, 16 caracteres e que na parte de trás tem um modulo que permite ligar ao display por I2c (pinos A4 e A5) do Arduino Uno.

Estou a ler a Temperatura através de um sensor, conetado ao pino A0.

Pensei em utilizar um display de 7 segmentos também, mas como pretendo mostrar a temperatura com 1 casa decimal iria precisar de 3 e penso que seria necessário também um integrado para isso!

Com a ligação I2C penso que seria mais simples e menos componentes precisaria.

Alguém me pode dar alguma sugestão e se é acessível implementar no Arduino o display I2C?
Já li que existem alguns problemas com as livrarias e que é necessário detectar o endereço do I2C.

Agradeço comentários/sugestões!

Cumprimentos,

PS

Boa noite. Usar um display paralelo é facil. No laddegaragem.com.br você encontrará tutoriais com esquema e funções de acesso. O display I2C também é facil de usar. Com os tutoriais fica muito rápido o acesso. Quanto ao endereço, normalmente você já sabe qual é pela especificação do fabricante. Se não conhece, o que se faz é um loop pedindo leitura e incrementando o endereço até que obtenha resposta.

PedroS23:
Pensei em utilizar um display de 7 segmentos também, mas como pretendo mostrar a temperatura com 1 casa decimal iria precisar de 3 e penso que seria necessário também um integrado para isso!

Ou vários…
O Arduino só por si não consegue alimentar três displays de 7 segmentos.

Já li que existem alguns problemas com as livrarias e que é necessário detectar o endereço do I2C.

O problema é que existem libs alteradas pelos fabricantes que fazem algumas boards e alteram os pinos usados por ser mais facil desenvolver a board. A tua dificuldade pode ser comprares uma board dessas que necessita de rever os pinos usados.Se eles te derem a lib e o endereço entao será facil. Se nao te derem nada vais ter de confirmar os pinos usados na board (multimetro e testas o pinout) e depois verificar se batem certo com os pinos definidos dentro da lib. Eu ja me vi nesta teia de aranha e tive de rever a lib para os pinos da minha board.Incrivelmente o vendedor ( um chinoca no ebay) até na descriçao tinha o endereço errado.

Eu vi o LCD com I2C que estou a pensar comprar aqui:
[url=http://*http://ermesinde.olx.pt/lcd-1602-c-i2c-para-arduino-iid-440711519[/url]*
Sei que esse LCD tem backlight.
Há algumas diferenças em termos de processamento ou problemas em utilizar um display com I2C ou um sem o mesmo, e apenas conetado aos pinos Digitais do Arduino? Sei que este ultimo não requer tantas librarias e talvez seja mais fácil de implementar!
Estou a utilizar o Arduino Uno e estou também a usar o software Processing para mostrar o valor da temperatura por um sensor lido pelo pino A0, numa janela.
Esse valor de temperatura é imprimido pelo software Arduino, usando o comando SerialPrint(" "); e aparece depois numa janela que eu criei no Processing
Para além disso estou a utilizar o Processing, para gravar a data hora temperatura e estado para um bloco de notas.
Acham que o que mandasse imprimir no LCD, usando por exemplo o comando: lcd.print(" ") iria também aparecer no Processing, ou apenas o que escrevo o Serial?
Penso que o comando lcd funcionaria independente do serial ou mesmo do software Processing, mas tenho essa dúvida aí.
Será que se recorresse o Serial Monitor, aparecia ambos os comandos ou apenas o Serialprint(" ")?
Obrigado pelas vossas respostas!!

Usar o I2C ou não é uma questão pessoal. Sem ele, vai usar mais pinos para controlar o LCD:

No fim, o resultado é o mesmo.

Em relação pro Processing, ele lê os dados da serial, logo precisa de serialprint pro Processing e do lcdprint pro LCD.

Outras alternativas de LCD:
http://dx.com/s/lcd?category=436&Sort=PriceL2H

Muito obrigado Lago.. A minha dúvida penso que ficou esclarecida.

Assim, por exemplo, posso colocar no LCD a temperatura em graus Celsius e em fahrenheit, sem querer que na janela do Processing e no bloco de notas mostre e grave a temperatura automaticamente em fahrenheit!

Em suma, o Processing apenas imprime e mostra os valores imprimidos no software Arduino quando usado o comando Serial.print() e não tem ligação ao que imprimo no lcd.print!

Obrigado pela sugestão e por me teres mencionado mais algumas alternativas ao LCD.

Penso que usando o I2C posso fazer o download da libraria aqui: https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads

Encontrei este site que pode ser muito útil para quem utiliza LCD e ligações I2C: http://arduino-info.wikispaces.com/LCD-Blue-I2C

Cumprimentos

Se alguém tiver mais alguma sugestão/opinião ao que foi mencionado agradeço!!

Um abraço.

Dá sempre jeito saber o que pretendes fazer...

Se achas que tens pinos suficientes para as funcões pretendidas e para um LCD sem o módulo I2C, eu iria por essa solucão. É mais simples, menos problemas e podes comprar um shield LCD que te dá opcões interessantes como botões e dimming.

Mas tu é que sabes o que pretendes.

Esse conversor do LCD para I2C do link do OLX é igual ao meu.(O meu tinha endereço errado e tive de corrigir a lib original ).
Para te poupares de algum trabalho tens em anexo 2 libs , uma original e outra para as placas clones.
Basta descompactar e copiar uma de cada vez e testares.Atenção que não podes ter as duas ao mesmo tempo dentro da pasta das bibliotecas.Testas uma, senão der apaga e colas a outra e voltas a testar.
Tens de reiniciar sempre a IDE quando colocares ou apagares bibliotecas!

I2C HD44780 Display.tar.gz (1.07 MB)

HugoPT: Esse conversor do LCD para I2C do link do OLX é igual ao meu.(O meu tinha endereço errado e tive de corrigir a lib original ). Para te poupares de algum trabalho tens em anexo 2 libs , uma original e outra para as placas clones. Basta descompactar e copiar uma de cada vez e testares.Atenção que não podes ter as duas ao mesmo tempo dentro da pasta das bibliotecas.Testas uma, senão der apaga e colas a outra e voltas a testar. Tens de reiniciar sempre a IDE quando colocares ou apagares bibliotecas!

Quando falas em anexo 2 livrarias, falas do endereço que coloquei que posso fazer o download certo?

O que pretendo é mostrar a Temperatura lida pelo meu sensor que está conetado ao Pino A0 do Arduino e aparecer a palavra "Alarme!" sempre que aumentar ou diminuir de um determinado valor de temperatura!

Vou utilizar o LCD de forma a não ser necessário o utilizador ir ao PC para ver o valor de temperatura atual. Apesar do mesmo estar sempre em funcionamento com o objetivo de gravar os valores de temperatura para um bloco de notas de X em X tempo, pode estar com o monitor desligado e ver simplesmente a Temperatura no LCD, que penso que seria um aspecto a melhorar na aplicação da medição e monitorização da Temperatura.

Obrigado pelas vossas respostas!!

Um abraço

Quando falas em anexo 2 livrarias, falas do endereço que coloquei que posso fazer o download certo?

No meu post anterior tens em anexo um ficheiro tar que descompactando tens la 2 bibliotecas para o HD44780 via I2C.

O que pretendo é mostrar a Temperatura lida pelo meu sensor que está conetado ao Pino A0 do Arduino e aparecer a palavra "Alarme!" sempre que aumentar ou diminuir de um determinado valor de temperatura!

Sim isso e facil ... :grin: E fica bonito.