我想尝试用一些python代码在LCD 20x4上制作一个大字符。
我以前用adafruit库在LCD 16x2上显示了一些数据和文本,但现在我试图在LCD 20x4上显示自定义字符并且有点困惑。我认为下面的代码(来自adafruit库)对于制作自定义字符很有用,但我不知道如何使用它。任何人都可以提供如何做到这一点的指导吗?
def create_char(self, location, pattern):
"""Fill one of the first 8 CGRAM locations with custom characters.
The location parameter should be between 0 and 7 and pattern should
provide an array of 8 bytes containing the pattern. E.g. you can easyly
design your custom character athttp://www.quinapalus.com/hd44780udg.html
To show your custom character use eg. lcd.message('\x01')
"""
# only position 0..7 are allowed
location &= 0x7
self.write8(LCD_SETCGRAMADDR | (location << 3))
for i in range(8):
self.write8(pattern[i], char_mode=True)
答案 0 :(得分:2)
出于某种原因,它只对我输入一个换行符号后才适用。
例如。 \n \x01
将打印我的角色
\x01
以及任何没有\ n的变体都不会打印我的角色。
不知道为什么。仅供参考,我使用的是20x4液晶显示器。
答案 1 :(得分:1)
使用链接中的工具生成模式,然后将十进制版本作为第二个参数中的列表传递给此函数,例如
lcd.create_char(1, [0,10,21,17,10,4,0])
将角色1定义为心脏。完成此操作后,您可以在字符串中包含\x01
以打印该字符。
正如文档中暗示的那样,同样的想法适用于0到7之间的任何字符代码。只需将create_char()
的第一个参数替换为该范围内的另一个数字。