子供向けプログラミング「micro:bit」の使い方(その3)!NeoPixelを繋いでLEDを光らせよう

  • list
  • このエントリーをはてなブックマークに追加
子供向けプログラミング「micro:bit」の使い方(その3)!NeoPixelを繋いでLEDを光らせよう
子供向けプログラミング「micro:bit」の使い方(その3)!NeoPixelを繋いでLEDを光らせよう

子供向けプログラミング「micro:bit」の使い方(その3)!NeoPixelを繋いでLEDを光らせよう

『micro:bit』アプリを使って子供向けのプログラミングを体験していくこの連載企画、前回はスピーカーを繋いで音を鳴らすというプログラムを作りましたが、今回はNeoPixelというLEDを繋いで、ピッカピカに光らせていきます。

 

ちなみに、「micro:bit」本体にも25個のLEDが付いていますが、子供の興味を引くためには、はっきり言って物足りません。

 

シリアル制御できるフルカラーLED「NeoPixel」をピッカピカに光らせて、見た目のインパクトも大きいプログラムを作っていきましょう。

アプリをダウンロード

リング型のNeoPixelを用意

まず、NeoPixelが必要です。NeoPixelとは、シリアル通信でRGB値が制御できるLED、つまり、「micro:bit」から信号を送ることで表示する色を変えることができるLEDです。

私は「micro:bit」本体も売っている、スイッチサイエンスのサイトから「NeoPixel Ring – 12連フルカラーシリアルLED」というのを購入しました。

 

リング型のNeoPixelを用意

リング型のNeoPixelを用意

 

ここで一点だけ注意。筆者が記事中で使っているNeoPixelの動作電圧は「5V」なのですが、「micro:bit」の出力は「3V」。動くかどうか不安でしたが、とりあえずいまのところ何の問題もなく動いております。

 

不安な方は、LEDが8個くらいまでのやつを使うと良いと思います。

 

 

NeoPixelにワニ口クリップを接続

NeoPixelが用意できたら、写真のように、「Data Input」「GND」「5V DC Power」と書いてある3つの金属端子に、ワニ口クリップのコードを接続します。

 

NeoPixelにワニ口クリップを接続

NeoPixelにワニ口クリップを接続

 

筆者は「はんだ」で固定していますが、金属端子のところには穴が開いているので、そこにコードを通してなんとなく固定するだけでも一応光ります。

 

 

NeoPixelと「micro:bit」本体を接続

コードを接続できたら、「micro:bit」本体に接続しましょう。「Data Input」のコードを「0(ゼロピン、P0)」に、「5V DC Power」のコードを「3V」に、「GND」のコードはそのまま「GND」に繋ぎます。

 

NeoPixelと「micro:bit」本体を接続

NeoPixelと「micro:bit」本体を接続

 

これで一応、準備は完了。あとはプログラムをサクッと書いて(ブロックを配置して)いくだけです。

 

 

パッケージを追加

プログラムを書いていくには、『micro:bit』アプリトップ画面より「Create Code」をタップして、ブロックエディタの画面を開きます。詳しくは前回記事を参照してください。

 

前回記事はこちら

 

パッケージを追加

パッケージを追加

 

今回も邪魔な「ずっと」ブロックは最初に削除しちゃいましょう。

 

 

実は、NeoPixelのプログラムを作っていくには、NeoPixelというパッケージを追加する必要があります。

 

そしてパッケージ追加はとっても簡単。左側のアイコンが縦に並んでいるところから、「+」アイコンをタップして、「パッケージを追加する」という画面で「NeoPixel」を選ぶだけです。

 

 

追加されたNeoPixelパッケージ

すると、左側に水色のNeoPixelメニューが追加されます。タップすると様々な機能が追加されていることがわかるでしょう。「…」となっているところに2ページ目もあります。

 

追加されたNeoPixelパッケージ

追加されたNeoPixelパッケージ

 

 

変数を定義

パッケージが追加できたら、いよいよブロックを配置していくのですが、最初に配置するのは「変数の定義」ブロックです。

 

変数を定義

変数を定義

 

出ました。変数。子供に教えるのは一苦労です。

 

しかし、座学から入ると子供の興味はどんどん遠のいていきますので、「おまじない」くらいの説明にしておくのも一つの手です。あまり時間をかけずに、サクサクいってしまいましょう。

 

 

「変数を追加する」という灰色のボタンを押して、NeoPixel用の変数を定義します。名前は何でもOKで、平仮名・カタカナも大丈夫です。入力が苦手なお子さんの場合は、”LED”と3文字でもいいでしょう。

 

 

変数ブロックの配置

変数を定義できたら、「変数 “変数” を “0” にする」というブロックを、「最初だけ」の中に配置しましょう。

 

変数ブロックの配置

変数ブロックの配置

 

配置後、”変数” の部分を、先ほど定義した変数名に変えておきます。

 

 

NeoPixelブロックの配置

次に、変数ブロックの “0” の部分を、NeoPixelに置き換えます。ここで先ほど追加したNeoPixelメニューを開き、一番上にある「端子 “P0” に接続しているLED “24” 個のNeoPixelを…」というブロックを持ってきて、”0″ のブロックと置き換えます。

 

NeoPixelブロックの配置

NeoPixelブロックの配置

 

「Data Input」から出ているワニ口クリップが、「micro:bit」本体の「0」に接続されている場合は、”0″の部分は “P0” のまま、LED “24” のところは、筆者と同じく12連のNeoPixelを使っていれば、”12″ に変えておきます。

 

 

赤く光らせるプログラム

次に、「”変数” を “赤” 色に点灯する」というブロックを持ってきて、その下に配置しましょう。

 

赤く光らせるプログラム

赤く光らせるプログラム

 

“変数” の部分を変更するのを忘れずに。

 

さて、これで最低限のプログラムが完成です!

 

「最初だけ」のブロックの中に、たった2行です。

 

たった2行なら、どれだけ苦手意識のあるお子さんでも、作る気が起きるのではないでしょうか。

 

 

Flash画面からプログラムを転送

前回の記事を参考にして、作ったプログラムを「micro:bit」本体に転送します。

 

Flash画面からプログラムを転送

Flash画面からプログラムを転送

 

プログラムの転送が終わって「micro:bit」が再起動すると、ちゃんと赤く光るでしょう。

 

めっちゃ光る!

めっちゃ光る!

 

しかもデフォルトだと輝度がめっちゃ高いですね。目がチカチカするほどです。

 

 

【応用】七色に光らせる

さて、赤く光るだけでは物足りない、という方は、画面のようなプログラムを組んでみてください。

 

【応用】七色に光らせる

【応用】七色に光らせる

 

これは、12個のLEDをレインボーパターンで光らせて、Aボタンを押すと表示がグルグルまわる、という構成です。

 

ピッカピカ!

ピッカピカ!

 

 

写真では上手く表現できませんが、Aボタンを押すと表示の色がひとつずつ横にずれて、それを12回繰り返すことで1周ぐるっとまわる、という仕組みです。

 

どうでしょう、うまく動いたでしょうか。

 

 

終わりに

とにかく飽きさせず、興味を持ってもらうためには、「音」や「光」を使ったフィードバックがおすすめです。

 

自分で作ったプログラムが、現実世界に変化をもたらすという、わかりやすい体験に繋がるでしょう。

 

また、最初のうちは、論理思考うんぬんよりも「自己効力感」を育ててあげてください。2行くらいのプログラムなら誰にでも作れます。「僕・私にも出来た!」という達成感が大事です。

 

「変数」の仕組みなどは、次に出てきたときに説明すれば良いでしょう。

 

次回は、サーボモーターを動かしてみよう!です。お楽しみに!

micro:bitの詳細はこちら
これまでの記事はこちら

  • list
  • このエントリーをはてなブックマークに追加