Estou tentando sem sucesso usar uma eeprom 24c01 com meu arduino uno. Ela quase nunca grava e é muito inconstante a ler. Já segui diversos materiais da web e nada funciona…. segue um dos códigos que tentei (em anexo)

Estou usando o esquema de ligação da imagem em anexo mas não liguei o pino wp, a0, a1 e a2. De modo que o endereço deveria ser 0x50

Exibições: 1147

Anexos

Responder esta

Respostas a este tópico

Boa tarde AW.

em primeiro lugar recomendo que vc remova o código que postou na área de chat do tópico.

em seguida clique no clips 

e anexe um arquivo com seu código.

Em segundo lugar, falta o nome da biblioteca na 2a linha.

RV

Ola Mineirin,

Editei o código, acho que no copiar e colar acabou removendo a biblioteca....

Como estou no celular não adicionei ele como anexo, mas sinceramente não vejo problemas em deixar ele com esta formatação (não me parece chat).

Enfim, poderias me auxiliar com o código?

Se voce remover o código da área de texto e anexa-lo como um arquivo, posso sim.

RV

;-)

Boa noite,

Eu já usei EEPROM 24C01 com Arduino. 

http://ww1.microchip.com/downloads/en/DeviceDoc/atmel-8700-seeprom-...

Seu diagrama esta muito pequeno. Estão faltando os resistores de pullup (2 x 4,7K ohms). 

https://robot-electronics.co.uk/i2c-tutorial

Informe o código que esta escrito no chip. É da Microchip? 

 " Estou usando o esquema de ligação da imagem em anexo mas não liguei o pino wp, a0, a1 e a2. De modo que o endereço deveria ser 0x50" 

OPA ! os pinos A0, A1, A2 e WP precisam estar conectados no GND ! 

Mas se eu ligar estes pinos aí, além de ter outro endereço (não o 0x50) vou estar com gravação protegida não?

Vou testar com os resistores agora...

Mas se eu ligar estes pinos aí, além de ter outro endereço (não o 0x50) vou estar com gravação protegida não?" 

ERRADO ! o endereço será 0x50 e a memória estará liberada para gravação. 

O código é:
X24C01AP 229D

(o outro está diferente o final...)
X24C01AP 9134ES B

Depois que corrigir as ligações, rode o programa I2C scanner, para verificar a comunicação I2C e o endereço da EEPROM.

Procure no link, por I2C Scanner

http://www.gammon.com.au/i2c

Realmente, com as ligações que eu estava fazendo não estava com o endereço 0x50. Fiz as ligações dos pinos A0, A1 e A2 no GND e não coloquei os resistores. No raspberry foi liso! Ainda não tive a oportunidade de testar no arduino, mas creio que deva ter o resultado semelhante.

Postarei aqui quando tiver ;-)

Muuuito obrigado!!

Augusto, boa noite.

Palavra de especialista em eletronica e microprocessadores com 40 anos de experiência :

Monte os resistores de pullup nos pinos SDA e SCL. 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço