Como usar o AT24C256 EEPROM com Arduino

How to Use the AT24C256 EEPROM with Arduino

O AT24C256 é uma EEPROM de 256 quilos que fornece armazenamento não volátil, permitindo que os dados persistam mesmo quando a energia estiver desligada. Ele se comunica com um microcontrolador através do protocolo I2C, tornando -o ideal para armazenar dados, configurações ou outras informações nos projetos de Arduino. Este tutorial o guiará através da interface e do uso do AT24C256 com o Arduino.


O que você precisará

  1. AT24C256 Módulo EEPROM ou IC
  2. Board Arduino (por exemplo, Uno, Mega, Nano)
  3. Fios de pão e jumper
  4. Um computador com o Arduino IDE instalado

Etapa 1: Compreendendo o AT24C256

O AT24C256 EEPROM possui os seguintes recursos:

  • Capacidade de armazenamento: 32 kb (256 kbits = 32.768 bytes)
  • Protocolo de comunicação: I2c
  • Endereço I2C: Configurável entre 0x50 e 0x57 usando pinos A0, A1 e A2
  • Tensão operacional: 2.5V a 5,5V

Pinout

Alfinete Função
A0, A1, A2 Configuração do endereço I2C
VCC Fonte de alimentação (5V)
Gnd Chão
SDA I2C Linha de dados
SCL I2C Linha do relógio
WP Proteção de gravação (opcional, conecte -se ao GND para ativar o acesso de gravação)

Etapa 2: Fiação do AT24C256 para Arduino

Conecte o AT24C256 ao Arduino da seguinte forma:

AT24C256 PIN Pino Arduino
VCC 5V
Gnd Gnd
SDA A4
SCL A5
WP Gnd

Observação: Se estiver usando um módulo com resistores de pull-up, não são necessários resistores adicionais. Para ICs independentes, use resistores de pull-up de 4,7kΩ nas linhas SDA e SCL.


Etapa 3: Instale a biblioteca necessária

Para simplificar o trabalho com a AT24C256, instale a biblioteca "Wire" (incorporada no Arduino IDE) e a biblioteca "EEPROM_AT24C256".

Etapas para instalar a biblioteca EEPROM_AT24C256:

  1. Abra o Arduino IDE.
  2. Vá para Esboço > Inclua biblioteca > Gerenciar bibliotecas.
  3. Pesquise "at24c256" e clique Instalar.

Etapa 4: Faça o upload do código

Exemplo: Dados de escrever e ler

Este código demonstra como escrever uma string na EEPROM e depois leia -a de volta:

#include <Wire.h>
#include <AT24C256.h>

AT24C256 eeprom(0x50); // Initialize EEPROM with default I2C address

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("AT24C256 EEPROM Test");

  // Write data to EEPROM
  String dataToWrite = "Hello, EEPROM!";
  Serial.print("Writing to EEPROM: ");
  Serial.println(dataToWrite);
  for (int i = 0; i < dataToWrite.length(); i++) {
    eeprom.writeByte(i, dataToWrite[i]);
  }

  delay(1000); // Wait for data to be written

  // Read data from EEPROM
  Serial.println("Reading from EEPROM:");
  for (int i = 0; i < dataToWrite.length(); i++) {
    char c = eeprom.readByte(i);
    Serial.print(c);
  }
  Serial.println();
}

void loop() {
  // Nothing to do here
}

Etapa 5: teste a configuração

  1. Conecte o Arduino ao seu computador via USB.
  2. Abra o Arduino IDE e selecione o correto Quadro e Porta sob o Ferramentas menu.
  3. Faça o upload do código clicando Carregar.
  4. Abra o monitor serial (Ferramentas > Monitor serial) e definir a taxa de transmissão como 9600.
  5. Observe os dados escritos e lidos exibidos no monitor serial.

Opcional: Apagando os dados

Para apagar a EEPROM, escreva 0xFF Para todos os locais de memória:

for (int i = 0; i < 32768; i++) {
  eeprom.writeByte(i, 0xFF);
}

Aplicações do AT24C256

  1. Armazenando logs de dados do sensor
  2. Configurações de configuração para dispositivos IoT
  3. Armazenando preferências do usuário
  4. Construindo sistemas de registro de dados

Solução de problemas

  • Sem comunicação: Verifique a fiação I2C e verifique se o endereço I2C correto é usado.
  • Dados incorretos lidos: Verifique se o processo de gravação foi concluído antes da leitura.
  • Proteção de gravação ativada: Verifique se o pino WP está conectado ao GND para acesso a gravação.

Conclusão

Você interfigurou com sucesso o AT24C256 EEPROM com o Arduino, permitindo armazenar e recuperar dados não voláteis em seus projetos. Experimente seus recursos para criar sistemas de lançamento de dados, armazenamento de configuração ou outros aplicativos dependentes da memória!

Deixe um comentário

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.