Hello!
How can I write a monochrome bitmap in an I2C-EEPROM (24LCxxx) for a monochrome display, eg OLED?
You can also help me with a blog, ... anything.
Thank you in advance!
Hello!
How can I write a monochrome bitmap in an I2C-EEPROM (24LCxxx) for a monochrome display, eg OLED?
You can also help me with a blog, ... anything.
Thank you in advance!
In what form is the bitmap? A byte array? A .bmp file?
Are you able to write to and read from the EEPROM?
I have a 24WC16 home, I played a bit with him: I loaded a text into the EEPROM and read it on the serial but also on an LCD 1602.
I was thinking how I could use this memory, EEPROM, for a symbol, or an image for a display Graphic: OLED, 12864, …
Hi all!
I managed to load a 24AA256 HEX file
The library used here is
https://github.com/cyberp/AT24Cx.
Code for loading HEX_demo:
#include <Wire.h>
#include <AT24CX.h>
// EEPROM object
AT24CX mem;
// setup
void setup() {
// serial init
Serial.begin(115200);
Serial.println("AT24CX read/write demo");
Serial.println("----------------------");
}
// main loop
void loop() {
// write array of bytes
byte xy[] = {
0X00, 0X70, 0X0F, 0XE0, 0X03, 0XE0, 0X01, 0XC0, 0X07, 0X3F, 0X80, 0X07, 0XFE, 0X38, 0X00, 0X00,
};
byte yy[] = {
0X01, 0X80, 0X01, 0X80, 0X01, 0X80, 0X01, 0X80, 0X01, 0X80, 0X01, 0X80, 0X01, 0X82,
};
mem.write(0, (byte*)xy, sizeof(xy));
mem.write(20, (byte*)yy, sizeof(yy));
}
and the EEPROM_demo read code:
// include libraries
#include <Wire.h>
#include <AT24CX.h>
// EEPROM object
AT24CX mem;
// setup
void setup() {
// serial init
Serial.begin(115200);
Serial.println("AT24CX read/write demo");
Serial.println("----------------------");
}
// main loop
void loop() {
// read EEPROM
byte xy[16];
byte yy[14];
// read bytes with multiple steps
Serial.println("Read 16 single bytes starting at address 0 => 0 > 15");
for (int i = 0; i < sizeof(xy); i++) {
byte sb = mem.read(0 + i);
Serial.print("[");
Serial.print(0+i);
Serial.print("] = ");
Serial.println(sb, HEX);
}
Serial.println(" ");
Serial.println("Read 14 single bytes starting at address 20 => 20 > 33");
for (int i = 0; i < sizeof(yy); i++) {
byte sc = mem.read(20 + i);
Serial.print("[");
Serial.print(20+i);
Serial.print("] = ");
Serial.println(sc, HEX);
}
// Serial.println();
// stop
while (1 == 1) {}
}
Now if I managed to load the HEX tab into EEPROM, how can I read and insert the HEX file in
const uint8_t arduino PROGMEM = { sb or sc }; ?