相生コンピュータークラブ第2期(2026年4月)~ロータリーエンコーダーを使う~

2026年第2期は、ものづくりプログラミング。昨年作ったRaspberrypi Pico実験基盤を使って、4月はロータリーエンコーダーを動かします。

タイピング練習とアルゴロジック

私たちが主宰するクラブは、ゴリゴリのコーディングをさせることで有名です。タイピングが速くて正確だからこそ、楽しくてやりがいのあるプログラミングが可能です。

大人にとっては、もしかすると苦い経験があるタイピングかもしれません。しかし、ゲームでタイピングを学べるので、メンバーは楽しく練習しています。ツールはフリーのものでも十分楽しめ、実力がつきます。

ただし、手順を追ってきちんと練習することが大切です。ただタイピングゲームをやっているだけでは、いつまで経っても上達しません。本編のクラブの前に実施している入門の入門講座で小学2年~小学4年生が驚くほどの成長を見せています。

プログラミング入門の入門講座(相生・龍野)

AI時代の“学びの土台”を育てる、完全初心者向け準備講座 AI時代に強い子へ。プログラミングの“その前の力”を丁寧に育てる準備講座です。 本編クラブへのスムーズなステッ…

ロータリーエンコーダーでLEDの明るさを連続的に変える

ロータリーエンコーダーとは、なんでしょうか。難しい名前がついていますが、要はボリュームダイヤルです。

と、今の小中学生であるメンバーに言ってもピンときていなかったようです。たしかに、ダイヤルを回すタイプのボリュームは見なくなりました。

ともあれ、回転して値を連続して変えるような操作をする場合、よく使うのがロータリーエンコーダーです。最初は、ロータリーエンコーダーで青色LEDの明るさを変えるプログラムを手打ちしました。

ロータリーエンコーダーサンプル
エンコーダーを回すと青色LEDの明るさが連続的に変わる

独立した赤青緑のLEDを選択して明るさを変える

続けて、実験基板にはんだ付けしてある赤・緑・青のLEDを選択して明るさを変えるプログラムを確認します。

ロータリーエンコーダーでLED制御
RGBのLEDを選択して明るさを変える

実験基板には、RGBのLEDが一つずつ独立してはんだ付けしてあります。それぞれの明るさをロータリーエンコーダーで変化させるのが、このプログラムです。明るさを変える部分は先ほどと一緒。これまた実験基板に設置してあるタクトスイッチを押して、対象のLEDを選択する部分が追加です。

先月から導入したgithubからのソースコードのコピーについては、わたしからは何も言いません。コピーしてもいいし、手入力してもいいし。

時間内に解決できるなら、手入力したほうが伸びます。時間内に解決できないレベルだと、まずはコピペで動く歓びを感じましょう。

NeoPixel(WS2812B)の色相と明るさを変化させる

この日の最後は、NeoPixelを制御します。

光の三原色は、先月学習したところです。先月のプログラムだと、毎度毎度手入力でRGBの値を変えなければいけません。今日のプログラムだと、連続的に、まるで絵の具を少しずつ混ぜるようにLEDの色が変わります

ロータリーエンコーダーでNeoPixelを制御
色相と明るさを連続的に変化させる

ハードの追加なしでもソフト変更でここまでできる

なお、今回はハードウエアの追加をしていません。今までの取り組みの中で、持っているハードを使い、プログラムを工夫しました。

プログラムの工夫次第で、様々なことができるということをなんとなくでも分かってくれたらいいなあと思います。

次回は、これもかつて配ったSSD1306(小型ディスプレイ)とロータリーエンコーダーを使ってゲームを作る予定です。