プロが教える店舗&オフィスのセキュリティ対策術

こんにちは、MicroPythonを勉強しています。
今、Raspberry Pi Picoと「KKHMF 1602 LCD ブラック IIC/ I2C / TWI/SPI シリアル インタフェース ボード モジュール」と「KKHMF DC 5V 1602 LCDブルーブラックライト」を接続しようとしていますが、なかなかうまく進まないです。

こちらのサイトを見ながら、やっています:
https://www.circuitschools.com/interfacing-16x2- …

プログラムはこちら:
from machine import I2C, Pin
from pico_i2c_lcd import I2cLcd
i2c = I2C(0, sda=Pin(8), scl=Pin(9), freq=400000)

I2C_ADDR = i2c.scan()[0]
lcd = I2cLcd(i2c, I2C_ADDR, 2, 16)
while True:
print(I2C_ADDR, "| Hex:",hex(I2C_ADDR))
print()
lcd.move_to(0,0)
lcd.putstr("I2CAddress:"+hex(I2C_ADDR)+"\n")
lcd.move_to(0,1)
lcd.putstr("CircuitSchools.")

しかし、このようなエラーが出ました:

Traceback (most recent call last):
File "<stdin>", line 9, in <module>
File "pico_i2c_lcd.py", line 22, in __init__
OSError: [Errno 5] EIO
>>>

どこが間違えましたか?どう直せば良いですか?

A 回答 (2件)

回路図通りにつながっているとして、気になるのは、他に、I2Cデバイスが繋がっていないかどうかでしょうか?



コメントでは、I2Cに一つしか繋いでないと書いてあるので、アドレスが異なってるのかもしれません

IC2_ADDRの読み込みをやめて、0x27か、0x3Fでハードコードして動作するかどうかでしょうか?

それで動作しなければ、I2Cモジュールか、LCD側の初期不良かもしれません
    • good
    • 0

見た感じ間違いが見当たらないし、別の質問によるとGPIB経由では表示できてたみたいですので、I2Cインタフェースのハード不良の可能性もあるかも。



ハード不良だと、もう1個買ってみるぐらいしか解決策がないですね。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2023/05/02 09:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!