所以我成功地实现了 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”部分来解决这个问题(如果你可以这样称呼它):(无法链接,因为我没有足够的“声誉”,但除了 Adafruit 的 i2c 配置页面告诉我添加的内容之外,我基本上将 dtparam=i2c_vc=on 添加到 /boot/config.txt 中)。这照顾了我的 [Errno 2]。