carcon999のブログ

12年間Y!ブログの記載を移行しました。電子工作関連の記事が多いです。

GR-KURUMIでもシリアルLED

前回、GR-SAKURAで、シリアルLEDを制御してみましたが、せっかくなのでGR-KURUMIでも制御してみました。
結果は、ご覧のようにいい感じに制御できてます。

イメージ 1

イメージ 3

★動画


今回は、自分でプログラムを書いたので公開します。
煮るなり焼くなりご自由にどうぞ。


プログラムの説明は、コメントで入れていますが、簡単に使い方を紹介します。

★最初に
gr_sketch.cpp L 35
下記のパラメータを調整することで各自の環境に合わせることができます。
重要なのは、LED_PIN_NOとLED_PINの番号は合わせてください。(下記の場合は、両方2番を使っています)

// 環境に応じてカスタマイズするパラメータ
#define LED_BRIGHTNESS (255) // LEDの最大明るさ(0 - 255)
#define LED_LENGTH (51) // 接続LED最大数 ※少なくすればメモリ消費を抑えることが可能
#define COLOR_RGB (3) // 色数(RGB3色)※変更しないこと
#define LED_PIN_NO (2) // ピン番号(0 - 24)
#define LED_PIN LED_PIN_2 // シリアルLEDのポート(LED_PIN_0 - LED_PIN_24) 上記のピン番号と同じ場所

プログラムとしては、

static uint8_t rgb[COLOR_RGB * LED_LENGTH];

このエリアに、RGB RGB RBG ・・・ の順で各LEDの色を指定します。(各0~255)
そして、rlled_update();を呼び出すとシリアルデータが送信されて点灯します。

例えば、0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, ・・・・と色指定しておき、rlled_update()を呼び出すと赤色で点灯します。


サンプルの一部(虹色表示)には、スイッチサイエンスさんのサンプルも使わせていただきました。

★回路図
本来、シリアルLEDで求められているのは5V電源なのですが、3.7Vや3.3Vでも一応動く(経験)ようなので、自己責任でやっています。
今のところ不都合は無いですが、気になる場合は、5Vを作ってあげると良いでしょう。
75Ωの抵抗は、なくても大丈夫です。

イメージ 2