アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

こちらのサイトを見ながら、やっています:
https://www.freva.com/how-to-connect-an-lcd-disp …


from machine import Pin, I2C
from lcd_api import LcdApi
from pico_i2c_lcd import I2cLcd

I2C_ADDR = 0x27
I2C_NUM_ROWS = 2
I2C_NUM_COLS = 16
i2c = I2C(0, sda=machine.Pin(0), scl=machine.Pin(1), freq=400000)
lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)

lcd.backlight_on()
lcd.putstr("Great! It Works!")
lcd.move_to(3,1)
lcd.putstr("freva.com")

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

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

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

「LCD ディスプレイを Raspberr」の質問画像

質問者からの補足コメント

  • どう思う?

    修正させていただきます。
    自分はもう一回やりました。エラーが出てないですが、LCD画面にはまだ何の文字も出てこないようでして、どうすれば良いですか?教えていただけますでしょうか?

      補足日時:2023/04/25 16:40
  • どう思う?

    https://www.freva.com/find-out-an-i2c-address-wi …

    ありがとうございます。以上のサイトに従えたら、下記のコードが出できました:

    I2C address:
    [39] (decimal)
    0x27 (hex)

    次はどうしたら良いですか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2023/04/26 10:00
  • どう思う?

    https://www.freva.com/how-to-connect-an-lcd-disp …



    サイトに従えたら、文字が出るはずですが、LCD画面にはまだ何の文字も出てこなかったようでして、どうすれば良いですか?教えていただけますでしょうか?

    ちなみに、オシロスコープでRaspberry Picoの1番(I2C0 SDA)と2番(I2C0 SCL)を測ったら、信号が一回しか出てこなかったみたいです。(Thonnyでプログラムを実行したら、信号が出ましたが、そのあと、消えました。何度もやっても、同じ状態でした。)

    どうしたら良いですか?教えていただけますでしょうか?

      補足日時:2023/04/26 10:42

A 回答 (1件)

>File "pico_i2c_lcd.py", line 22, in __init__ OSError: [Errno 5] EIO


22行目は「self.i2c.writeto(self.i2c_addr, bytes([0]))」らしいので、I2C_ADDR が参考サイトと違ってるのかも。
下記を試してみては。
https://www.freva.com/find-out-an-i2c-address-wi …
この回答への補足あり
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています