2025年2月20日

SPIKEのカラーセンサーでRGB値を読み取る

以下の内容は2023/08/23にロボジョイくらぶマイスターブログに掲載されたものです。



SPIKE用の「レゴ テクニック カラーセンサー」でRGB値を読み取る方法を紹介します。 この例ではSPIKEアプリ3またはSPIKEアプリLegacyのワードブロックを使用します。

RGB値を読むには「RAWカラー」ブロックを使います。「RAWカラー」は初期設定では隠れていますので、拡張機能ボタンを押して、「センサー拡張」を有効化しましょう。ついでに「ディスプレイ」も有効化しておきます。

プログラムの例です。カラーセンサーを読み取ったRGB値を画面に表示します。これは黄色いブロックを読み取った場合の値です。R=赤、G=緑、B=青という意味です。

レゴ製ブロック(赤/青/緑/黄/白/黒)のRGB値を読み取ってみました。ブロックとセンサーとの距離は1ポッチに調節しました。測定値をもとに、HSPというプログラミング環境で色を塗ってみた結果がこちらです。似ても似つかない色になってしまいました。驚きです。 RGB値から色を判定するプログラムは自分で作る必要があります。

センサーとブロックとの距離によって測定値が大きく変わります。これは距離を変えながら赤色のブロックを読み取った例です。

(2023/08/26追記) RGBの割合(0~100%)から色を判定するプログラムです。この例では赤、緑、青しか判定しません。 アルゴリズムは他にも考えられるので、試してみましょう。

(文/松原拓也)

当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。