Site cover image

Site icon image電子工作 ~ 50歳の手習い

本職はソフトウェアエンジニア。最近組み込みの仕事がよくあるので勉強がてら楽しんでます。

Raspberry Pi Pico からGrove LCD RGB BackLightを使用する(Arduino)

こんにちは「MAKO」です。

今回は以下の組み合わせで回路を構築して、LCDに文字列を表示してみようと思います。

  • Raspberry Pi Pico
  • Grove Shield for Pi Pico
  • Grove - LCD RGB Backlight

前回の記事、

📄Arrow icon of a page linkRaspberry Pi Pico からGrove LCD RGB BackLightを使用する(前準備編)

を書いた後、次の段階ではいつもの通り、MicroPython で実装を行い確認しようとしたのですが、どうも旨くいかないので公式が公開しているGitHub から Ardiuno 用のライブラリとサンプルスケッチを取得して確認してみました。

GitHub:

上記のGitHubから取得したソースのうち、

examples/HelloWorld

のスケッチを使って動作確認を行いました。

ただし、そのままではうまく動きませんでした。

理由としては、 Arduinoと Raspberry Pi Pico のI2CのSDAとSCLに割り当てられたPinの違いによるものでした。

その修正については、以下のサイトを参考にさせていただきました。

具体的にはソースの以下の lcd.begin() の部分を修正しています。

void setup() {
    // set up the LCD's number of columns and rows:
    // lcd.begin(16, 2);         // 変更前
    TwoWire myWire(8,9);         // 変更後
    lcd.begin(16, 2, 0, myWire); // 変更後

    lcd.setRGB(colorR, colorG, colorB);

    // Print a message to the LCD.
    lcd.print("hello, world!");

    delay(1000);
}

lcd.begin() の第4引数に TwoWire のインスタンス変数を指定しています

インスタンス変数を生成する際の引数の意味は、以下の通りです。

I2C0のSDA が Pin8

I2C0のSCL が Pin9

これは、Grove Shield for Pi Pico の仕様に合わせてます。

この修正したスケッチをコンパイルしてRaspberry Pi Pico で動作した結果、以下の通り

LCDに Hell, world!が背景赤で表示されました。

Image in a image block


参考になれば幸いです。