Performance Parameters① Main Control Chip: ATmega328P ② Digital Input/Output Pins: 14 ③ PWM Pins: 6 ④ Storage (Code Space): 32KB ⑤ RAM (Runtime Storage): 2KB; EEPROM (Power-off Storage): 1KB ⑥ Oscillator: 16MHz Online Simulation: https://wokwi.com/
Arduino Uno Tutorial ①: Install Arduino IDE
Arduino Uno Tutorial ②: Development Board and LED Test Arduino Uno Tutorial ③: Button Control LED, with Exercises Arduino Uno Tutorial ④: Analog Quantity, Measuring Voltage using ADC Arduino Uno Tutorial ⑤: External Interrupts, with ExercisesArduino Uno Tutorial ⑥: Serial Communication, Sending and ReceivingArduino Uno Tutorial ⑦: 0.96 Inch OLED ScreenArduino Uno Tutorial ⑧: Displaying Chinese Characters & Images on a 0.96 Inch OLED Screen
The previous tutorial discussed displaying English characters on the 0.96 OLED screen using the u8g2 library, and basic drawing. This tutorial covers: ① Using software to acquire images, ② Using a pattern software to acquire Chinese characters (2) Displaying Images① Due to the small screen size, the images we can acquire are also relatively small. Here I recommend Alibaba’s Vector Icon Library, where images can be downloaded for free and are well made: https://www.iconfont.cn/





0x00,0x00,0x70,0x0E,0xC8,0x0B,0xFE,0x7F,0x02,0x40,0x02,0x40,0x02,0x40,0xFE,0x7F,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xFC,0x3F,0x00,0x00,"C:\Users\XEMOWO\Desktop\liwu.bmp",0

const unsigned char liwu[32] U8X8_PROGMEM = {//Gift Image};
const unsigned char liwu[32] U8X8_PROGMEM = {//Gift Image 0x00,0x00,0x70,0x0E,0xC8,0x0B,0xFE,0x7F,0x02,0x40,0x02,0x40,0x02,0x40,0xFE,0x7F,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xFC,0x3F,0x00,0x00,};
u8g2.drawXBMP(2, 2, 16, 16, liwu);

#include <Arduino.h>#include <U8g2lib.h>#include <Wire.h>
#define BOARD_I2C_SCL A5
#define BOARD_I2C_SDA A4
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ BOARD_I2C_SCL, /* data=*/ BOARD_I2C_SDA, /* reset=*/ U8X8_PIN_NONE);
const unsigned char liwu[32] U8X8_PROGMEM = {//Gift Image 0x00,0x00,0x70,0x0E,0xC8,0x0B,0xFE,0x7F,0x02,0x40,0x02,0x40,0x02,0x40,0xFE,0x7F,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xFC,0x3F,0x00,0x00,};
void setup() { // put your setup code here, to run once: Serial.begin(115200); Serial.println("Init u8g2 ...."); u8g2.begin(); u8g2.setFont(u8g2_font_ncenB08_tr); //Set font
delay(100);}
void loop() { u8g2.clearBuffer(); //Clear buffer Serial.println("u8g2 showing chars ...."); u8g2.drawXBMP(2, 2, 16, 16, liwu); u8g2.sendBuffer(); delay(1000);}
uint8_t day[][32] ={
};
uint8_t day[][32] ={{0x00,0x00,0xC4,0x1F,0x48,0x10,0x48,0x10,0xC1,0x1F,0x42,0x10,0x42,0x10,0xC8,0x1F,0x08,0x00,0xE4,0x3F,0x27,0x25,0x24,0x25,0x24,0x25,0x24,0x25,0xF4,0x7F,0x00,0x00},/*"Temperature",0*/
{0x00,0x00,0xE4,0x1F,0x28,0x10,0x28,0x10,0xE1,0x1F,0x22,0x10,0x22,0x10,0xE8,0x1F,0x88,0x04,0x84,0x04,0x97,0x24,0xA4,0x14,0xC4,0x0C,0x84,0x04,0xF4,0x7F,0x00,0x00},/*"Humidity",1*/
{0x80,0x00,0x00,0x01,0xFC,0x7F,0x44,0x04,0x44,0x04,0xFC,0x3F,0x44,0x04,0x44,0x04,0xC4,0x07,0x04,0x00,0xF4,0x0F,0x24,0x08,0x42,0x04,0x82,0x03,0x61,0x0C,0x1C,0x70},/*"Degree",2*/
};
u8g2.drawXBM(2,2,16,16,day[0]);u8g2.drawXBM(18,2,16,16,day[2]);
u8g2.drawXBM(2,30,16,16,day[1]);u8g2.drawXBM(18,30,16,16,day[2]);
#include <Arduino.h>#include <U8g2lib.h>#include <Wire.h>
#define BOARD_I2C_SCL A5
#define BOARD_I2C_SDA A4
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ BOARD_I2C_SCL, /* data=*/ BOARD_I2C_SDA, /* reset=*/ U8X8_PIN_NONE);
const unsigned char liwu[32] U8X8_PROGMEM = {//Gift Image 0x00,0x00,0x70,0x0E,0xC8,0x0B,0xFE,0x7F,0x02,0x40,0x02,0x40,0x02,0x40,0xFE,0x7F,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xFC,0x3F,0x00,0x00,};
uint8_t day[][32] ={{0x00,0x00,0xC4,0x1F,0x48,0x10,0x48,0x10,0xC1,0x1F,0x42,0x10,0x42,0x10,0xC8,0x1F,0x08,0x00,0xE4,0x3F,0x27,0x25,0x24,0x25,0x24,0x25,0x24,0x25,0xF4,0x7F,0x00,0x00},/*"Temperature",0*/
{0x00,0x00,0xE4,0x1F,0x28,0x10,0x28,0x10,0xE1,0x1F,0x22,0x10,0x22,0x10,0xE8,0x1F,0x88,0x04,0x84,0x04,0x97,0x24,0xA4,0x14,0xC4,0x0C,0x84,0x04,0xF4,0x7F,0x00,0x00},/*"Humidity",1*/
{0x80,0x00,0x00,0x01,0xFC,0x7F,0x44,0x04,0x44,0x04,0xFC,0x3F,0x44,0x04,0x44,0x04,0xC4,0x07,0x04,0x00,0xF4,0x0F,0x24,0x08,0x42,0x04,0x82,0x03,0x61,0x0C,0x1C,0x70},/*"Degree",2*/
};
void setup() { // put your setup code here, to run once: Serial.begin(115200); Serial.println("Init u8g2 ...."); u8g2.begin(); u8g2.setFont(u8g2_font_ncenB08_tr); //Set font
delay(100);}
void loop() { u8g2.clearBuffer(); //Clear buffer Serial.println("u8g2 showing chars ....");
u8g2.drawXBM(2,2,16,16,day[0]); u8g2.drawXBM(18,2,16,16,day[2]); u8g2.drawXBM(2,30,16,16,day[1]); u8g2.drawXBM(18,30,16,16,day[2]);
u8g2.sendBuffer(); delay(1000);}
Free Application for Development Board

