2025-09-30 11:56:06 +08:00
|
|
|
|
## machine.LCD
|
|
|
|
|
|
|
|
|
|
|
|
**machine.LCD** 类是 machine 模块下面的一个硬件类,用于对 LCD 的配置和控制,提供对 LCD 设备的操作方法。
|
|
|
|
|
|
|
|
|
|
|
|
IoT board 板载一块 1.3 寸,分辨率为 `240*240` 的 LCD 显示屏,因此对该屏幕操作时,(x, y) 坐标的范围是 `0 - 239`。
|
|
|
|
|
|
|
|
|
|
|
|
### 构造函数
|
|
|
|
|
|
|
|
|
|
|
|
在 RT-Thread MicroPython 中 `LCD` 对象的构造函数如下:
|
|
|
|
|
|
|
|
|
|
|
|
#### **class machine.LCD**()
|
|
|
|
|
|
在给定总线上构造一个 `LCD` 对象,无入参,初始化的对象取决于特定硬件,初始化方式可参考 [示例](#_3)。
|
|
|
|
|
|
|
|
|
|
|
|
### 方法
|
|
|
|
|
|
|
|
|
|
|
|
#### **LCD.light**(value)
|
|
|
|
|
|
|
|
|
|
|
|
控制是否开启 LCD 背光,入参为 True 则打开 LCD 背光,入参为 False 则关闭 LCD 背光。
|
|
|
|
|
|
|
|
|
|
|
|
#### **LCD.fill**(color)
|
|
|
|
|
|
|
|
|
|
|
|
根据给定的颜色填充整个屏幕,支持多种颜色,可以传入的参数有:
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
WHITE BLACK BLUE BRED GRED GBLUE RED MAGENTA GREEN CYAN YELLOW BROWN BRRED GRAY GRAY175 GRAY151 GRAY187 GRAY240
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
详细的使用方法可参考[示例](#_3)。
|
|
|
|
|
|
|
|
|
|
|
|
#### **LCD.pixel**(x, y, color)
|
|
|
|
|
|
|
|
|
|
|
|
向指定的位置(x, y)画点,点的颜色为 color 指定的颜色,可指定的颜色和上一个功能相同。
|
|
|
|
|
|
|
|
|
|
|
|
> 注意:(x, y) 坐标不要超过实际范围,使用下面的方法对坐标进行操作时同样需要遵循此限制。
|
|
|
|
|
|
|
|
|
|
|
|
#### **LCD.text**(str, x, y, size)
|
|
|
|
|
|
|
|
|
|
|
|
在指定的位置(x,y)写入字符串,字符串由 str 指定,字体的大小由 size 指定,size 的大小可为 16,24,32。
|
|
|
|
|
|
|
|
|
|
|
|
#### **LCD.line**(x1, y1, x2, y2)
|
|
|
|
|
|
|
|
|
|
|
|
在 LCD 上画一条直线,起始地址为 (x1, y1),终点为(x2, y2)。
|
|
|
|
|
|
|
|
|
|
|
|
#### **LCD.rectangle**(x1, y1, x2, y2)
|
|
|
|
|
|
|
|
|
|
|
|
在 LCD 上画一个矩形,左上角的位置为(x1, y1),右下角的位置为(x2, y2)。
|
|
|
|
|
|
|
|
|
|
|
|
#### **LCD.circle**(x1, y1, r)
|
|
|
|
|
|
|
|
|
|
|
|
在 LCD 上画一个圆形,圆心的位置为(x1, y1),半径长度为 r。
|
|
|
|
|
|
|
|
|
|
|
|
#### **LCD.show_bmp**( x, y, pathname)
|
|
|
|
|
|
|
|
|
|
|
|
在 LCD 指定位置上显示 32-bit bmp 格式的图片信息,注意显示 bmp 图片时,(x, y) 坐标是图片的左下角。
|
|
|
|
|
|
|
|
|
|
|
|
### 示例
|
|
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
|
from machine import LCD # 从 machine 导入 LCD 类
|
|
|
|
|
|
lcd = LCD() # 创建一个 lcd 对象
|
|
|
|
|
|
lcd.light(False) # 关闭背光
|
|
|
|
|
|
lcd.light(True) # 打开背光
|
|
|
|
|
|
lcd.fill(lcd.BLACK) # 将整个 LCD 填充为黑色
|
|
|
|
|
|
lcd.fill(lcd.RED) # 将整个 LCD 填充为红色
|
|
|
|
|
|
lcd.fill(lcd.GRAY) # 将整个 LCD 填充为灰色
|
|
|
|
|
|
lcd.fill(lcd.WHITE) # 将整个 LCD 填充为白色
|
|
|
|
|
|
lcd.pixel(50, 50, lcd.BLUE) # 将(50,50)位置的像素填充为蓝色
|
|
|
|
|
|
lcd.text("hello RT-Thread", 0, 0, 16) # 在(0, 0) 位置以 16 字号打印字符串
|
|
|
|
|
|
lcd.text("hello RT-Thread", 0, 16, 24) # 在(0, 16)位置以 24 字号打印字符串
|
|
|
|
|
|
lcd.text("hello RT-Thread", 0, 48, 32) # 在(0, 48)位置以 32 字号打印字符串
|
|
|
|
|
|
lcd.line(0, 50, 239, 50) # 以起点(0,50),终点(239,50)画一条线
|
|
|
|
|
|
lcd.line(0, 50, 239, 50) # 以起点(0,50),终点(239,50)画一条线
|
|
|
|
|
|
lcd.rectangle(100, 100, 200, 200) # 以左上角为(100,100),右下角(200,200)画矩形
|
|
|
|
|
|
lcd.circle(150, 150, 80) # 以圆心位置(150,150),半径为 80 画圆
|
|
|
|
|
|
lcd.show_bmp(180, 50, "sun.bmp") # 以位置(180,50)为图片左下角坐标显示文件系统中的 bmp 图片 "sun.bmp"
|
|
|
|
|
|
```
|