因此,我成功实施了Adafruit的16x2 LCD + KeyPad,并将其用于我的Raspbian microSD。但是我想在我的Volumio microSD上使用它,我很难让它运行起来。我在这里遵循了i2c配置:https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c,以及LCD + Pad的“用法”部分中的所有必要步骤(此处:https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-raspberry-pi/usage)。这里和那里有几个调整,我能够从Adafruit_Python_CharLCD / examples运行char_lcd_plate.py,但只能通过Raspbian OS运行。当我在Volumio中尝试运行相同的示例时,我得到以下输出:
Traceback (most recent call last):
File "char_lcd_plate.py", line 9, in <module>
lcd = LCD.Adafruit_CharLCDPlate()
File "/home/volumio/Adafruit_Python_CharLCD/examples/Adafruit_CharLCD.py", line 432, in __init__
self._mcp = MCP.MCP23017(address=address, busnum=busnum)
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/MCP230xx.py", line 153, in __init__
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/MCP230xx.py", line 50, in __init__
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/MCP230xx.py", line 133, in write_iodir
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 127, in writeList
File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 274, in write_i2c_block_data
IOError: [Errno 5] Input/output error
我遇到的最常见的解决方案是连接不良/焊接不良,但是它在我的Raspbian操作系统上正常运行的事实让我觉得它是另一回事。无论是否要求,我都可以提供图片。
同样值得一提的是,在我到达这个IOError之前,我得到了一个[Errno 2] No such file or directory: '/dev/i2c-0'
我能够通过遵循“启用i2c-0”部分来解决这个问题(如果你可以这样说的话)这里:(无法链接,因为我没有足够的“声誉”,但基本上我添加了dtparam = i2c_vc = on到/boot/config.txt以及Adafruit的i2c配置页面告诉我添加的内容)。这照顾了我的[Errno 2]。