# 字模获取
# 链接: https://pan.baidu.com/s/1_6r0GZ9-SdUjSqtjVniReg?pwd=xw3v 提取码: xw3v
from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
i2c = I2C(scl=Pin(4), sda=Pin(5))
OLED = SSD1306_I2C(128, 64, i2c)
fonts = {
"你": [0x00, 0x00, 0x09, 0x19, 0x11, 0x37, 0xDC, 0x90, 0x10, 0x10, 0x13, 0x12, 0x10, 0x10, 0x10, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFC, 0xA4, 0x24, 0x20, 0x20, 0x28, 0x2C, 0xA4, 0xE0, 0x60, 0x60, 0x00], # 项
"好": [0x00, 0x00, 0x00, 0x01, 0x10, 0x10, 0x7C, 0x28, 0x69, 0x38, 0x31, 0x79, 0x0C, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0xF0, 0x10, 0x70, 0xC0, 0x40, 0xF0, 0x40, 0x40, 0xC0, 0xC0, 0x80, 0x00, 0x00],
"呀": [0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7C, 0x44, 0x44, 0x44, 0x7C, 0x01, 0x07, 0x0C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFC, 0xC8, 0x88, 0xFE, 0x08, 0x68, 0xC8, 0x08, 0x28, 0x18, 0x18, 0x00],
}
# 函数部分
def chinese(ch_str, x_axis, y_axis):
offset_ = 0
for k in ch_str:
byte_data = fonts[k]
for y in range(0, 16):
a_ = bin(byte_data[y]).replace('0b', '')
while len(a_) < 8:
a_ = '0' + a_
b_ = bin(byte_data[y + 16]).replace('0b', '')
while len(b_) < 8:
b_ = '0' + b_
for x in range(0, 8):
OLED.pixel(x_axis + offset_ + x, y + y_axis, int(a_[x]))
OLED.pixel(x_axis + offset_ + x + 8, y + y_axis, int(b_[x]))
offset_ += 16
chinese('你好呀', 16, 4)
OLED.show()
OLED.text('i am a student', 0, 32)
OLED.show()