collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Arduino + LCD 16x2 + Ethernet + Rfid 522  (Lida 6587 vezes)

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

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.768
Arduino + LCD 16x2 + Ethernet + Rfid 522
« em: 19 de Março de 2018, 00:05 »
Boa noite malta,

Ora bem eu estou aqui a inventar um sistema de "picagens" por rfid só para demonstração de conceito e queria perguntar se alguém já se deparou ou sabe me ajudar.

Eu estou a montar um Arduino Mega + Placa Ethernet + Leitor Rfid RC522 + LCD 16x2 acontece que tenho 3 coisas a pedir-me portas MISO, MOSI, SCK.

Pelo datasheet do LCD temos ali o D11 e D12 com MISO e MOSI (img1).
Pela placa de Ethernet dizem que os pinos são os mesmos (img2)
No leitor Rfid RC522 temos os mesmos pinos (img3)
Pelo que andei a ver do Arduino Mega temos os pinos distribuidos entre 50-53 (img4)

Portanto faltam-me pinos, quero pinos..  ;D ;D

Neste momento já tenho o Arduino Mega a funcionar com o Rfid e o Ethernet a escrever numa BD online impecável, mas ao ligar o LCD há partilha de pinos claramente, porque o Ethernet deixa de conectar-se à BD ou então o LCD fica "branco".

Se alguém me conseguir dar uma ajudinha agradecia.

Já agora este projecto depois posso fazer a partilha de todo o código para quem quiser fazer algo idêntico em casa.

Cumps,
André.



Cumprimentos,
André Carvalho.

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #1 em: 19 de Março de 2018, 00:26 »
boas.. já pensaste em usar o 16x2 por i2c em vez de spi?

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #2 em: 19 de Março de 2018, 10:03 »
Se o LCD é como indicas, tem a clássica interface série e podes ligar o mesmo a que pinos te apetecer, não estás fixo ao MOSI/MISO.
Se usas a biblioteca LiquidCrystal já estás a passar os pinos como parâmetros ao construtor, é só mesmo mudar os mesmos fisicamente e refletir no código. Até está bem explicito na documentação da mesma:
https://www.arduino.cc/en/Reference/LiquidCrystalConstructor
Citar
Syntax

LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)
LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)
LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)
Parameters

rs: the number of the Arduino pin that is connected to the RS pin on the LCD

rw: the number of the Arduino pin that is connected to the RW pin on the LCD (optional)

enable: the number of the Arduino pin that is connected to the enable pin on the LCD

d0, d1, d2, d3, d4, d5, d6, d7: the numbers of the Arduino pins that are connected to the corresponding data pins on the LCD. d0, d1, d2, and d3 are optional; if omitted, the LCD will be controlled using only the four data lines (d4, d5, d6, d7).


Quer-me parecer que sofreste de um ataque de cut&paste na variante de falta de olhar crítico ;D


Se fosse SPI também com um bocado de jeito não há crise. SPI pode ser partilhado porque cada dispositivo tem de ter um SS (slave select) e só deve aceitar comandos e responder quando está selecionado.
Mais uma vez está na documentação:
https://www.arduino.cc/en/Reference/SPI
Citar
It is, however, possible to use any pin as the Slave Select (SS) for the devices. For example, the Arduino Ethernet shield uses pin 4 to control the SPI connection to the on-board SD card, and pin 10 to control the connection to the Ethernet controller.

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.768
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #3 em: 19 de Março de 2018, 10:19 »
Bom dia,

Ricardo obrigado pela dica, não coloquei essa hipótese porque como tenho a Ethernet directamente ligada no Arduino Mega a shield ocupa-me os pinos do ICSP.

jm_araujo, obrigado também e sim isto não está "bonito", foi copy+paste com os exemplos e só adequei à necessidade..(o prazo é 1 semana não me preocupei muito agora, depois tenho tempo para refazer isto mais bonito)  ::) ::) :P :P

De qualquer forma eu experimentei outros pinos como falas-te com a liquidCrystal mas sem sucesso, coloquei a ligação nos pinos 28-33 e tinha essa dúvida se era obrigatório usar os MISO/MOSI ou podia ser outro pin digital à escolha.

Logo quando chegar a casa, vou dar uma olhada mais a fundo na documentação e já digo algo.

Cumps,
André.
Cumprimentos,
André Carvalho.

Offline vasco

  • Mini Robot
  • *
  • Mensagens: 444
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #4 em: 19 de Março de 2018, 11:29 »
Bom dia,

Podes postar uma foto do LCD ?

Hoje em dia é mais normal usar um backpack I2C que só precisa de 4 pinos do que gastar 16 pinos a ligar diretamente ao LCD, tá bem que o mega tem um monte de pinos, portanto deve ser apenas questão de escolheres pinos que não entrem em conflito com o que já estás a usar.
Stupid men are often capable of things the clever wouldn't dare to contemplate.

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #5 em: 19 de Março de 2018, 13:46 »
não percebi a relação entre pinos ICSP e os do I2C..

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.768
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #6 em: 19 de Março de 2018, 14:07 »
não percebi a relação entre pinos ICSP e os do I2C..

My mistake, li ICSP :P (hoje é segunda tenho desconto).
Por acaso i2C nao vi...
Edit: Estive a espreitar e tenho que comprar uma placa a parte para comunicar via i2c certo?
"esgana-me" um pouco o tempo, mas vou ponderar encomendar isso hoje e quarta está cá. Obrigado pela dica desconhecia. ;)


Olá Vasco, o LCD é este: https://www.banggood.com/pt/Keypad-Shield-Blue-Backlight-For-Arduino-Robot-LCD-1602-Board-p-79326.html?rmmds=search&cur_warehouse=CN

Mas não tem o shield porque eu dessoldei o LCD do shield.



« Última modificação: 19 de Março de 2018, 14:22 por zordlyon »
Cumprimentos,
André Carvalho.

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #7 em: 19 de Março de 2018, 14:25 »
ou comprar a placa ou comprar o LCD já com ela.. sim..

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.768
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #8 em: 19 de Março de 2018, 14:26 »
ou comprar a placa ou comprar o LCD já com ela.. sim..

Obrigado pela dica ;)
Cumprimentos,
André Carvalho.

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.768
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #9 em: 19 de Março de 2018, 22:34 »
Viva,

Só para avisar que já funciona.

Vou arrumar a fiarada e o código, e depois partilho cá o projecto.

De qualquer forma fui aos nossos fornecedores estrangeiros do outro lado do mundo e mandei vir LCD's com i2c para futuros projectos e quem sabe para depois melhorar este.. :)

Obrigado aos que contribuíram.. :)

Cumps,
André.
Cumprimentos,
André Carvalho.

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #10 em: 19 de Março de 2018, 22:55 »
vale a pena ir ver uns videos ao youtube das diferenças de desempenho nos displays i2c e spi, só pra ter uma ideia..

qual foi a solução? remapear os pinos do liquidCrystal?

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.768
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #11 em: 19 de Março de 2018, 23:27 »
O problema estava na Shield que vinha com o LCD.

Aquilo tem um Keypad (que não precisava) e de alguma forma não inicializava o LCD só remapeando os pinos.

A solução passou por sacar o LCD fora e ficar somente com o LCD sem keypad e depois liga-lo normalmente dos pinos 22-27 e ficou logo a funcionar :)

Relativamente a ver os videos, depois vou dar uma vista de olhos :)

Cumps,
André.
Cumprimentos,
André Carvalho.

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #12 em: 19 de Março de 2018, 23:33 »
isso é bom, então..

outra solução podia passar por ligar X arduinos uns aos outros até teres pinos suficientes.. :D

serial/master

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.768
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #13 em: 20 de Março de 2018, 09:33 »
Eheh sim verdade, mas overkill para isto :D
Cumprimentos,
André Carvalho.

Offline vasco

  • Mini Robot
  • *
  • Mensagens: 444
Re: Arduino + LCD 16x2 + Ethernet + Rfid 522
« Responder #14 em: 20 de Março de 2018, 11:35 »
Com esses botões todos é provável que estejam ocupados uma serie de pinos, pelo que deve complicar escolher pinos que estão realmente livres.
A principio pensei que os pinos ao pé do potenciómetro azul era a interface i2c, só depois é que vi que eram 6 e estava lá escrito icsp, que para o caso do lcd não ajuda absolutamente nada.

Embora esteja completamente de acordo que displays bitmap oleds, lcd, etc, que devem ser SPI, considero ser irrelevante para os displays character based.

O backpack I2S pode ser comprado separadamente, pensei que hj em dia quase todos os lcd 16x2 já vinham com o backpack mas não, no e-bay vem quase tudo sem ele.
Stupid men are often capable of things the clever wouldn't dare to contemplate.