RGBバックライト液晶モジュール
私が購入したGROVEスターターキットV3に入っていたRGBバックライト液晶モジュールは、LCD RGB Backlight v4.0というモジュールです。スイッチサイエンスさんの単体販売ページに掲載されているものと同じ製品だと思われますが、スイッチサイエンスの製品写真だとv2.0になっているので、バージョンが異なる可能性があります。


RGBバックライト液晶モジュールの動作
この液晶は、文字の色は黒しかありませんが背景の色を変えられます。表示文字数は16文字x2行です。このモジュールとIoTボード間の通信はI2Cを使います。
このモジュールは5Vを必要とします。Nefry BTのGroveソケットに接続した場合、3.3Vしか供給されないので正常に動作しません。
Nefry BTにはGPIOのピンソケットが搭載されていて、5V電源のピンも出ているので、ピンソケットに接続すればこのモジュールを使えます。
接続には一方がバラになっているGroveケーブルを使います。例えばスイッチサイエンスさんではこんなGroveケーブルが販売されています。

このケーブルはメス端子が取り付けられているので、Nefry BTのGPIOソケットに接続する場合は、オス-オスのジャンパーケーブルを継ぎ足して使うとこなります。
Seeed Studioのサイトには、オス端子が付いた先バラケーブルが売られていますが、国内では販売店を見つけられませんでした。

私は短いケーブルが欲しかったので、通常のGroveケーブルを2分割してピン端子を取り付けました。とても雑な工作なので写真を載せるのが恥ずかしいです。

Nefry BT R2の場合、先バラケーブルは下図のように接続します。

Nefry BT無印の場合は、5Vのソケット位置が異なるので注意してください。

ケーブルの色 | GPIOソケット名 |
---|---|
黄 | D0 |
白 | D1 |
赤 | 5V |
黒 | GND |
プログラム
Seeed StudioのGrove Wikiページに掲載されているライブラリとサンプルプログラムを動かしてみます。
Grove Wikiページの中程のSoftwareという部分にある「Grove-LCD RGB Backlight Library」というリンクをクリックしてプログラム一式のzipファイルをダウンロードします。
Arduino IDEのメニューで
[スケッチ] -> [ライブラリをインクルード] -> [.ZIP形式のライブラリをインストール…]
を選んでインストールします。

Arduino IDEの
[ファイル] -> [スケッチ例] -> [Grove – LCD RGB Backlight] -> [HelloWorld]
を選択してサンプルプログラム「HelloWrold.ino」を開きます。

HelloWorld.inoの中身はこうなっています。
#include <Wire.h> #include "rgb_lcd.h" rgb_lcd lcd; const int colorR = 255; const int colorG = 0; const int colorB = 0; void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); lcd.setRGB(colorR, colorG, colorB); // Print a message to the LCD. lcd.print("hello, world!"); delay(1000); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis()/1000); delay(100); }
このままのプログラムで動作するはずですが、なぜか動作しませんでした。
setup( ) の1行目に Serial.println(“”) を追加したら、なぜか動きました。理由はまだ解明できていません。


名称 | LCD RGB Backlight RGBバックライトLCD |
バージョン | v4.0 |
Seeed社 Wiki | http://wiki.seeedstudio.com/Grove-LCD_RGB_Backlight/ |
スイッチサイエンス商品ページ | https://www.switch-science.com/catalog/1629/ |
Nefry BT無印 動作ソケット | D0 (動作未確認) |
Nefry BT R2 動作ソケット | D0 |
「Nefry BTとGroveモジュール接続実験」 トップページ