Hello everyone. I'm trying to display an image to my Oled using drawBitmap() and i use image2cpp to change image into byte arrays but the image does not appear on my oled it just shows scattered pixels. How can i fix this?
Here's my code..
// ---> Libraries
#include <Wire.h>
#include <U8g2lib.h>
#include <Arduino.h>
// ---> Pin connections
#define SCL_OLED A5
#define SDA_OLED A4
U8G2_SH1106_128X64_NONAME_F_HW_I2C OLED(U8G2_R0, /*reset=*/ U8X8_PIN_NONE, SCL_OLED, SDA_OLED);
// 'water level', 128x64px
const unsigned char epd_bitmap_water_level [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0xaa, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x50, 0x55, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xa8, 0xaa, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x54, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0x31, 0xef, 0x45, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00,
0x00, 0x80, 0xaa, 0xaa, 0xaa, 0x22, 0x29, 0x25, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0x21, 0x29, 0x11, 0x00, 0x00, 0x00, 0x00, 0x06, 0x18, 0x00, 0x00,
0x00, 0x80, 0x2a, 0x00, 0xa8, 0x22, 0x29, 0x59, 0x00, 0x00, 0x00, 0x00, 0x06, 0x18, 0x00, 0x00,
0x00, 0x00, 0x05, 0x55, 0x41, 0x71, 0xef, 0x4d, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00,
0x00, 0x80, 0xa0, 0xaa, 0x0a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00,
0x00, 0x00, 0x54, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00,
0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0xf1, 0x5e, 0x04, 0x00, 0x00, 0x00, 0x80, 0x01, 0x60, 0x00, 0x00,
0x00, 0x80, 0xaa, 0xaa, 0xaa, 0x92, 0x52, 0x02, 0x00, 0x00, 0x00, 0x80, 0x01, 0x60, 0x00, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0xf1, 0x12, 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x80, 0x01, 0x00,
0x00, 0x80, 0xaa, 0xaa, 0xaa, 0x92, 0x92, 0x05, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0x15, 0x00, 0x50, 0xf1, 0xde, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0x82, 0xaa, 0x82, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0x50, 0x55, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xaa, 0xaa, 0xaa, 0xf2, 0x5e, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0x31, 0x52, 0x02, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xaa, 0xaa, 0xaa, 0xf2, 0x12, 0x01, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0xb1, 0x92, 0x05, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0x0a, 0x00, 0xa0, 0xf2, 0xde, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0xc1, 0xff, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xc3, 0x5e, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xa3, 0x52, 0x02, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xb3, 0x12, 0x01, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xf3, 0x92, 0x05, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x83, 0xde, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0x07, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0xe0, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xf3, 0x5e, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xc3, 0x52, 0x02, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x33, 0x12, 0x01, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x33, 0x92, 0x05, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xf3, 0xde, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0xf8, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x33, 0x2f, 0x02, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x23, 0x29, 0x01, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x23, 0x89, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x23, 0xc9, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x80, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x73, 0x6f, 0x02, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void setup() {
// put your setup code here, to run once:
OLED.begin();
OLED.setFont(u8g2_font_t0_12b_mf);
OLED.setColorIndex(1);
}
void loop() {
// put your main code here, to run repeatedly:
OLED.firstPage();
do {
OLED.drawBitmap(0, 0, 128/8, 64, epd_bitmap_water_level);
} while ( OLED.nextPage() );
}
Here is the image I'm attempting to display on my OLED..
and here is the result..