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

2019-06-291.4万
AI 快速预览详细 收起
本文介绍了如何使用Python(MicroPython)控制ESP8266单片机,并在OLED IIC 12864显示屏上显示自定义图案。首先介绍了所需的硬件,包括NodeMCU和OLED IIC 12864。然后详细说明了硬件连接方式,以及如何使用MicroPython编写代码来实现显示功能。文章还提供了图片处理的具体步骤,包括下载图片、调整尺寸并保存为PBM格式。最后展示了运行结果。通过这篇文章,你可以快速掌握OLED显示的基本技巧。
这个项目的目的是为了熟悉python在oled显示方面的编程技巧

所用硬件如下

python控制esp8266的单片机并在oled上显示图案图1python控制esp8266的单片机并在oled上显示图案图2
NodeMCU和OLED IIC 12864

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

python控制esp8266的单片机并在oled上显示图案图11
这是连线方式
NodeMCU - D1=oled-SCL
NodeMCU - D1=oled-SCA
NodeMCU - 3.3V=oled-VCC
NodeMCU - GND=oled-GND

[mw_shl_code=applescript,true]# 导入库文件
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()
[/mw_shl_code]

python控制esp8266的单片机并在oled上显示图案图6
先要得到oled显示所需的一个图片。从百度等地方下载一个图片。jpg格式的。然后下载irfanview的软件,按照上图格式进行操作。
python控制esp8266的单片机并在oled上显示图案图10
图片的比例是128*64
python控制esp8266的单片机并在oled上显示图案图7
图片尺寸调整好后,保存为0.pbm
这个格式是oled可识别的格式
python控制esp8266的单片机并在oled上显示图案图4
这一步操作完后,记得把文件放置在sample目录下。和主文件在一起
python控制esp8266的单片机并在oled上显示图案图8
这是pycharm主界面的操作
python控制esp8266的单片机并在oled上显示图案图9

python控制esp8266的单片机并在oled上显示图案图3
选对端口
python控制esp8266的单片机并在oled上显示图案图5
运行后的结果

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -