gada888 发表于 2019-6-29 18:16:35

python控制esp8266的单片机并在oled上显示图案

这个项目的目的是为了熟悉python在oled显示方面的编程技巧

所用硬件如下


NodeMCU和OLED IIC 12864

NodeMCU上的运行环境是MicroPython,烧录方式在以前我的帖子里讲过。这里不再赘述。


这是连线方式
NodeMCU - D1=oled-SCL
NodeMCU - D1=oled-SCA
NodeMCU - 3.3V=oled-VCC
NodeMCU - GND=oled-GND

# 导入库文件
from machine import I2C, Pin
import time
import ssd1306
import framebuf

#指定IIC针脚
i2c = I2C(-1, Pin(5), Pin(4))

# 128横显64是竖显
display = ssd1306.SSD1306_I2C(128, 64, i2c)

# 动态缓存
images = []
with open('0.pbm', 'rb') as f:
    f.readline()
    f.readline()
    # 数据读入缓存
    data = bytearray(f.read())

# 用framebuf库显示图案
fbuf = framebuf.FrameBuffer(data, 128, 64, framebuf.MONO_HLSB)

display.invert(0)

display.blit(fbuf, 0, 0)

display.show()



先要得到oled显示所需的一个图片。从百度等地方下载一个图片。jpg格式的。然后下载irfanview的软件,按照上图格式进行操作。

图片的比例是128*64

图片尺寸调整好后,保存为0.pbm
这个格式是oled可识别的格式

这一步操作完后,记得把文件放置在sample目录下。和主文件在一起

这是pycharm主界面的操作



选对端口

运行后的结果

页: [1]
查看完整版本: python控制esp8266的单片机并在oled上显示图案