§ Внешний вид и конфигурация

Если WP (Write Protect) соединен с GND — операции записи разрешены, иначе запрещена запись, а чтение разрешено в любом случае.
-экрана-от-2020-03-09-122429-e1583735087327.png
Расшифровка адреса 24LСXXX (0 = GND, 1 = VCC)
A2 A1 A0   BIN       HEX
 0  0  0 | 1010000 | 0x50
 0  0  1 | 1010001 | 0x51
 0  1  0 | 1010010 | 0x52
 0  1  1 | 1010011 | 0x53
 1  0  0 | 1010100 | 0x54
 1  0  1 | 1010101 | 0x55
 1  1  0 | 1010110 | 0x56
 1  1  1 | 1010111 | 0x57

§ Топ-схема программирования

Для модуля требуется подключения 24LC.h.
1#include "24LC.h"
2
3EEPROM24LC eeprom(0x50);
4
5byte data[10]{12,24,48,96,128,12,4,55,68,250};
6
7void setup() {
8
9    Serial.begin(9600);
10
11    int i;
12
13    // Тестовая запись и чтение из памяти
14    for (i = 0; i < 10; i++) { eeprom.write(i, data[i]); }
15    for (i = 0; i < 10; i++) { Serial.print(i); Serial.print("  "); Serial.println(eeprom.read(i)); }
16}
17
18void loop() { }

§ Модуль

Копиригхты (Ол Правый Резервед)
// Alexander Liman (liman324@yandex.ru) rcl-radio.ru
// I2C EEPROM 24LC256 32 kb
// I2C EEPROM 24LC128 16 kb
1#ifndef  EEPROM24LC_H
2#define  EEPROM24LC_H
3
4#include <Arduino.h>
5
6class EEPROM24LC
7{
8    public:
9
10       EEPROM24LC(byte);
11       void write(uint16_t addr, uint8_t data);
12       byte read(uint16_t addr);
13
14    private:
15
16       int ADDR;
17};
18#endif
Реализация класса
1#include <24LC.h>
2#include <Wire.h>
3
4EEPROM24LC::EEPROM24LC(uint8_t addr){
5
6    ADDR = addr;
7    Wire.begin();
8};
9
10void EEPROM24LC::write(uint16_t addr, uint8_t data) {
11
12    Wire.beginTransmission(ADDR);
13    Wire.write(addr >> 8);
14    Wire.write(addr & 0xFF);
15    Wire.write(data);
16    Wire.endTransmission();
17    delay(5);
18}
19
20uint8_t EEPROM24LC::read(uint16_t addr) {
21
22    Wire.beginTransmission(ADDR);
23    Wire.write(addr >> 8);
24    Wire.write(addr & 0xFF);
25    Wire.endTransmission();
26
27    Wire.beginTransmission(ADDR);
28    Wire.requestFrom(ADDR, 1);
29    uint8_t value = Wire.read();
30    delay(1);
31
32    return value;
33}