3. LCD 和触摸传感器皮肤

焊接和使用 LCD 和触摸传感器皮肤。

pyboard with LCD skin pyboard with LCD skin

以下视频显示了如何将接头焊接到 LCD 外壳上。在视频的最后,它向您展示了如何将 LCD 皮肤正确连接到 pyboard。

有关皮肤上组件的电路原理图和数据表,请参阅pyboard 硬件

3.1. 使用液晶显示器

要开始使用 LCD,请在 MicroPython 提示符下尝试以下操作。确保 LCD 皮肤如本页顶部所示连接到 pyboard。

>>> import pyb
>>> lcd = pyb.LCD('X')
>>> lcd.light(True)
>>> lcd.write('Hello uPy!\n')

您可以使用以下代码制作简单的动画:

import pyb
lcd = pyb.LCD('X')
lcd.light(True)
for x in range(-80, 128):
    lcd.fill(0)
    lcd.text('Hello uPy!', x, 10, 1)
    lcd.show()
    pyb.delay(25)

3.2. 使用触摸传感器

要读取触摸传感器数据,您需要使用 I2C 总线。MPR121 电容式触摸传感器的地址为 90。

要开始,请尝试:

>>> import pyb
>>> i2c = pyb.I2C(1, pyb.I2C.MASTER)
>>> i2c.mem_write(4, 90, 0x5e)
>>> touch = i2c.mem_read(1, 90, 0)[0]

上面的第一行创建了一个 I2C 对象,第二行启用了 4 个触摸传感器。第三行读取触摸状态,touch 变量保存 4 个触摸按钮(A、B、X、Y)的状态。

这里有一个简单的驱动程序, 它允许您设置阈值和去抖动参数,并轻松读取触摸状态和电极电压电平。将此脚本复制到您的 pyboard(闪存或 SD 卡,在顶级目录或lib/目录中),然后尝试:

>>> import pyb
>>> import mpr121
>>> m = mpr121.MPR121(pyb.I2C(1, pyb.I2C.MASTER))
>>> for i in range(100):
...   print(m.touch_status())
...   pyb.delay(100)
...

这将不断打印出所有电极的触摸状态。尝试依次触摸每一个。

请注意,如果将 LCD 皮肤放在 Y 位置,则需要使用以下命令初始化 I2C 总线:

>>> m = mpr121.MPR121(pyb.I2C(2, pyb.I2C.MASTER))

还有一个将 LCD 和触摸传感器一起使用的演示,可以在这里找到。