基于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驱动板,加上一个白色面板,整个墨水屏看起来好看多了。

目录
相关文章
|
消息中间件 存储 监控
Flume+Kafka整合案例实现
Flume+Kafka整合案例实现
408 1
|
监控 IDE 开发工具
【esp32c3配置arduino IDE教程】
设计用户操作界面,该设备具备简单易用的操作界面,外加显示屏SSD1306和旋转编码器进行显示和控制,用户后期可进行二次开发WiFi或蓝牙连接电脑或手机监控。
2397 0
|
域名解析 Java Maven
Maven 公共代理库
Maven 公共仓库提供了对 maven central、jcenter、google、spring 等常用的 Maven 仓库的镜像功能。用户可以通过页面浏览仓库内容、检索和下载制品。在构建时使用 Maven 个公共仓库地址下载制品速度更快,更稳定。
55848 1
Maven 公共代理库
|
传感器 物联网 5G
物联网的通信技术以及Wi-Fi、一键配网技术、BLE、GPRS(2G)、LTE-Cat1 、NB-IoT简介
物联网的一个重要的特点是接入了网络,因此这些设备才能将传感器采集的数据上传到云平台,然后根据平台对数据的分析做出反应。而这种接入网络的技术,就是通信技术,是物联网的基础之一。通信的方式可以分为有线和无线两种方式,因为有线通信的成本较高,无线通信技术在物联网中应用比较广泛。
572 1
|
芯片
基于Micropython利用ESP32-C3墨水屏电子时钟方法
基于Micropython利用ESP32-C3墨水屏电子时钟方法
864 0
|
11月前
|
API
万年历[取当日信息]免费API接口教程
此API提供万年历当天的详细信息,包括农历、星期、宜忌、生肖、星座、节日、五行、星宿等。支持POST和GET请求,需提供用户ID和KEY。返回数据包含阳历、农历、干支、节日列表等多项内容。示例URL:https://cn.apihz.cn/api/time/getday.php?id=88888888&key=88888888。
2953 10
|
存储 Linux 网络安全
开源NAS系统OpenMediaVault安装与体验
开源NAS系统OpenMediaVault安装与体验
7047 0
开源NAS系统OpenMediaVault安装与体验
|
Java Shell
Gradle的安装及换源
Gradle的安装及换源
6883 1
|
NoSQL
编译和安装 libvirt 8.10.0
编译和安装 libvirt 8.10.0
807 0
|
应用服务中间件 Shell Linux
docker 基本用法-操作镜像
docker 基本用法-操作镜像
1494 6