使用python代码在lcd 20x4上创建自定义字符

时间:2015-05-03 17:56:01

标签: python raspberry-pi

我想尝试用一些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)

2 个答案:

答案 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()的第一个参数替换为该范围内的另一个数字。