Jak używać EEPROM AT24C256 z Arduino

How to Use the AT24C256 EEPROM with Arduino

AT24C256 to 256-kilometrowy EEPROM, który zapewnia nielotne przechowywanie, umożliwiając przetrwanie danych nawet po wyłączeniu zasilania. Komunikuje się z mikrokontrolerem za pośrednictwem protokołu I2C, dzięki czemu jest idealny do przechowywania danych czujników, konfiguracji lub innych informacji w projektach Arduino. Ten samouczek poprowadzi Cię przez interfejs i korzystanie z AT24C256 z Arduino.


Czego będziesz potrzebować

  1. AT24C256 Moduł EEPROM lub IC
  2. Arduino Board (np. UNO, Mega, Nano)
  3. Druty chleba i skoczków
  4. Komputer z zainstalowanym Arduino IDE

Krok 1: Zrozumienie AT24C256

EEPROM AT24C256 ma następujące funkcje:

  • Pojemność przechowywania: 32 kb (256 kBits = 32 768 bajtów)
  • Protokół komunikacji: I2C
  • Adres I2C: Konfigurowalne pomiędzy 0x50 I 0x57 Korzystanie z pinów A0, A1 i A2
  • Napięcie robocze: 2,5 V do 5,5 V.

Pinout

Szpilka Funkcjonować
A0, A1, A2 Konfiguracja adresu I2C
VCC Zasilacz (5 V)
GND Grunt
SDA I2C Linia danych
Scl Linia zegara I2C
WP Ochrona zapisu (opcjonalnie, połącz się z GND, aby włączyć dostęp do zapisu)

Krok 2: Okablowanie AT24C256 do Arduino

Podłącz AT24C256 z Arduino w następujący sposób:

AT24C256 PIN PIN Arduino
VCC 5v
GND GND
SDA A4
Scl A5
WP GND

Notatka: Jeśli używasz modułu z rezystorami podciągającymi, nie są potrzebne dodatkowe rezystory. W przypadku samodzielnych ICS użyj rezystorów podciągania 4,7 kΩ na liniach SDA i SCL.


Krok 3: Zainstaluj wymaganą bibliotekę

Aby uprościć pracę z AT24C256, zainstaluj bibliotekę „Wire” (wbudowaną w Arduino IDE) i bibliotekę „EEPROM_AT24C256”.

Kroki do zainstalowania biblioteki EEPROM_AT24C256:

  1. Otwórz Arduino IDE.
  2. Idź do Naszkicować > Uwzględnij bibliotekę > Zarządzaj bibliotekami.
  3. Wyszukaj „AT24C256” i kliknij Zainstalować.

Krok 4: Prześlij kod

Przykład: pisanie i czytanie danych

Ten kod pokazuje, jak napisać ciąg do EEPROM, a następnie odczytać go z powrotem:

#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
}

Krok 5: Przetestuj konfigurację

  1. Podłącz Arduino do komputera za pomocą USB.
  2. Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
  3. Prześlij kod, klikając Wgrywać.
  4. Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na 9600.
  5. Obserwuj dane pisemne i odczytu wyświetlone w monitor szeregowych.

Opcjonalnie: usuwanie danych

Aby usunąć EEPROM, napisz 0xFF Do wszystkich lokalizacji pamięci:

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

Zastosowania AT24C256

  1. Przechowywanie dzienników danych czujników
  2. Ustawienia konfiguracji urządzeń IoT
  3. Przechowywanie preferencji użytkownika
  4. Budowanie systemów logowania danych

Rozwiązywanie problemów

  • Brak komunikacji: Sprawdź okablowanie I2C i upewnij się, że używany jest prawidłowy adres I2C.
  • Nieprawidłowe odczyt danych: Upewnij się, że proces zapisu zakończył się przed przeczytaniem.
  • Włączona ochrona przed zapisem: Sprawdź, czy pin WP jest podłączony do GND w celu uzyskania dostępu do zapisu.

Wniosek

Z powodzeniem połączyłeś EEPROM AT24C256 z Arduino, umożliwiając przechowywanie i pobieranie danych nieulotnych w twoich projektach. Eksperymentuj z możliwościami tworzenia systemów logowania danych, pamięci konfiguracji lub innymi aplikacjami zależnymi od pamięci!

Zostaw komentarz

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.