基于Micropython利用ESP32-C3驱动墨水屏显示图片

简介: 基于Micropython利用ESP32-C3驱动墨水屏显示图片

从咸鱼上淘了两块2.9寸的墨水屏价签,可以结合ESP32-C3做个低功耗的时钟+温湿度计。

1、所需硬件

 合宙的ESP32-C3:

电子价签拆出来的2.9寸墨水屏:

——电子价签型号为:Stellar-L,墨水屏型号为:E029A01。电子价签比较难拆,B站上好多拆解视频,可以参考。这块是参考B站视频从前面玻璃拆进去的,拆完边角的玻璃破裂的比较多。

自己设计的一块墨水屏驱动板:

——这块PCB比较复杂了,贴片电容、电阻、二极管有10多个,再加上24P的FPC,焊接难度有点大,建议上加热台和焊锡膏。

2、原理图

墨水屏使用SPI协议,8个引脚分别与ESP32-C3连接:

mosi = Pin(3)sck = Pin(2)cs = Pin(7)dc = Pin(4)rst = Pin(5)busy = Pin(6)

3、所需驱动

Github上有墨水屏驱动,下载地址:https://github.com/mcauser/micropython-waveshare-epaper

选择2.9寸的epaper2in9.py,里面有相应的示例test.py。

4、测试代码

由于合宙ESP32-C3的SPI0被flash占用了,只能使用SPI1,test.py需要修改下引脚、SPI就能使用。前面部分代码如下:

import epaper2in9from machine import Pin, SPImosi = Pin(3)sck = Pin(2)cs = Pin(7)dc = Pin(4)rst = Pin(5)busy = Pin(6)# SPI0已被flash占用,只能使用SPI1spi = SPI(1, baudrate=2000000, polarity=0, phase=0, sck=sck, mosi=mosi)# 初始化epaper,定义宽高,起始位置为0,0e = epaper2in9.EPD(spi, cs, dc, rst, busy)e.init()w = 128h = 296x = 0y = 0

将驱动epaper2in9.py和example文件下的image_dark.py、image_light.py放到ESP32-C3的根目录下,运行test.py。

显示效果:

墨水屏依次测试图片、文本、文本框的显示,文本默认竖着显示,需要横着显示还有待研究。

5、显示图片

墨水屏要显示图片比较麻烦,需要生成一张296*128的JPG图片:

再用Image2Lcd转成16进制数据,依下图设置,保存为.c文件:

复制.c文件中的16进制数据,保存为image_16.py文件:

将image_16.py上传到ESP32-C3要目录,执行以下代码:

import epaper2in9from machine import Pin, SPImosi = Pin(3)sck = Pin(2)cs = Pin(7)dc = Pin(8)rst = Pin(10)busy = Pin(6)# SPI0已被flash占用,只能使用SPI1spi = SPI(1, baudrate=2000000, polarity=0, phase=0, sck=sck, mosi=mosi)# 初始化epaper,定义宽高,起始位置为0,0e = epaper2in9.EPD(spi, cs, dc, rst, busy)e.init()w = 128h = 296x = 0y = 0# 显示图片from image_16 import image_16e.clear_frame_memory(0xFF)e.set_frame_memory(image_16, x, y, w, h)e.display_frame()

显示效果:

PS:我们设计了一个白色的PCB驱动板,加上一个白色面板,整个墨水屏看起来好看多了。

目录
相关文章
|
监控 IDE 开发工具
【esp32c3配置arduino IDE教程】
设计用户操作界面,该设备具备简单易用的操作界面,外加显示屏SSD1306和旋转编码器进行显示和控制,用户后期可进行二次开发WiFi或蓝牙连接电脑或手机监控。
4915 0
|
9月前
|
人工智能 JavaScript Java
阿里云百炼API调用教程:准备API-Key、配置环境变量和调用API流程
本文介绍阿里云百炼API调用全流程:注册登录阿里云账号,开通百炼服务,创建并配置API Key至环境变量,避免硬编码风险。支持通过Python的OpenAI兼容接口或DashScope SDK调用大模型,亦可在Node.js、Java等环境中使用。附详细命令与代码示例,助您快速上手百炼AI大模型平台。
5365 1
|
芯片
MicroPython+ESP32 C3+ST7735S LCD屏 WIFI联网并显示时间
本案例基于ESP32 C3与ST7735S驱动的1.8寸TFT屏,实现WIFI连接显示、实时时间展示及中英文字符渲染。通过MicroPython驱动屏幕,支持自定义字库与彩色文字输出,适用于嵌入式图形显示应用。
1564 1
MicroPython+ESP32 C3+ST7735S LCD屏 WIFI联网并显示时间
|
人工智能 数据可视化 开发工具
开发效率提升5倍!聚AI的LangFlow可视化全栈指南
LangFlow 是一个强大的可视化流程开发工具,支持全平台部署与多模型集成。通过 Docker 快速启动、本地开发或云服务部署,用户可灵活配置环境。其核心功能包括四大对象管理、可视化编程、自定义组件开发及与 LangChain 的深度整合,适用于客户服务、金融、医疗等多领域自动化流程构建。结合性能优化与版本管理,助力开发者高效实现企业级 AI 应用。
1655 4
|
JSON API PHP
天气预报免费API接口【地址查询版】使用教程
本文介绍了如何使用中国气象局官方数据提供的免费天气预报API接口,通过省份和地点查询指定地区当日天气信息。该接口由接口盒子支持,提供JSON格式数据、GET/POST请求方式,并需注册获取用户ID和KEY进行身份验证。
6521 2

热门文章

最新文章