ht1632(点阵屏)
准备
硬件:
- FireBeetle-ESP32 × 1
- FireBeetle Covers - 24×8 LED 点阵屏模块 (点击查看模块详情)
软件:
- UpyCraft IDE
代码位置:
File → Examples → Display → 632Demo.py
引用模块:uPy_lib → ht1632.py
实验步骤
1. 将模块上的拨码开关D2拨到ON,如下图
2. 硬件连接,如下图
3. 将uPy_lib目录下的ht1632.py文件拖动到device目录下(即下载运行),如下图
![](images/5.3.png)
4. 下载运行 ht1632Demo.py 文件,具体代码如下
#硬件平台: FireBeetle-ESP32
import ht1632
import time
DATAPIN = 10
CLKPIN = 13
CSPIN = 25
led = ht1632.HT1632C(DATAPIN, CLKPIN, CSPIN)
while True:
led.fill(0)
led.text("DFR", 0, 0, 1)
led.hline(26, 3, 15, 1)
led.line(33, 0, 41, 3, 1)
led.line(33, 6, 41, 3, 1)
led.rect(43, 0, 24, 8, 1)
led.show()
for i in range(43):
led.scroll(-1, 0)
led.show()
time.sleep(0.1)
led.fill_rect(2, 2, 9, 4, 1)
led.show()
for j in range(2, 6):
for i in range(13, 22):
led.pixel(i, j, 1)
led.show()
time.sleep(5)
实验效果
ht1632.py库API说明
类 — HT1632C
class HT1632C(DATA, CLK, CS)
DATA:数据线 CLK :时钟线 CS :片选线
类函数
- show() 函数功能:显示。
fill(col) 函数功能:用颜色填充屏幕。
col:颜色
pixel(x, y, col) 函数功能:画点
x, y:点坐标(x, y) col :颜色
scroll(dx, dy) 函数功能:按照给定的向量(dx,dy)移动屏幕中的内容。 注意: 这可能会在屏幕上留下以前颜色的占位面积。
dx:水平方向移动的距离和方向 dx为正数时向右移动,为负数时向左移动 dy:垂直方向移动的距离和方向 dy为正数时向下移动,为负数时向下移动
text(string, x, y, col=1) 函数功能:显示字符串。
string:待显示的字符串 x, y :显示的坐标(x, y) col :颜色,默认为1(蓝色)
hline(x, y, w, col) 函数功能:画水平线。
x, y:水平线起点的坐标(x, y) w :水平线的宽度 col :颜色
vline(x, y, h, col) 函数功能:画垂直线。
x, y:垂直线起点的坐标(x, y) h :垂直线的高度 col :颜色
line(x1, y1, x2, y2, col) 函数功能:画一条线。
x1, y1:线的起点坐标(x1, y1) x2, y2:线的终点坐标(x2, y2) col :颜色
rect(x, y, w, h, col) 函数说明:画矩形框。
x, y:矩形框左上角点的坐标(x, y) w :宽度 h :高度 col :颜色
fill_rect(x, y, w, h, col) 函数功能:画矩形,并用颜色填充。
x, y:矩形左上角点的坐标(x, y) w :宽度 h :长度 col :颜色
blit(fbuf, x, y) 函数功能: 使用framebuffer在屏幕上开辟一块可编辑区域,这块区域具有fill()、 pixel()、scroll()、text()、hline()、vline()、line()、rect()、fill_rect()、 blit()函数的功能。
fbuf:FrameBuffer对象 x, y:FrameBuffer对象坐标(x, y)