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

2026年第2期は、ものづくりプログラミング。昨年作ったRaspberrypi Pico実験基盤を使って、4月はロータリーエンコーダーを動かします。
Contents
タイピング練習とアルゴロジック
私たちが主宰するクラブは、ゴリゴリのコーディングをさせることで有名です。タイピングが速くて正確だからこそ、楽しくてやりがいのあるプログラミングが可能です。
大人にとっては、もしかすると苦い経験があるタイピングかもしれません。しかし、ゲームでタイピングを学べるので、メンバーは楽しく練習しています。ツールはフリーのものでも十分楽しめ、実力がつきます。
ただし、手順を追ってきちんと練習することが大切です。ただタイピングゲームをやっているだけでは、いつまで経っても上達しません。本編のクラブの前に実施している入門の入門講座で小学2年~小学4年生が驚くほどの成長を見せています。
ロータリーエンコーダーでLEDの明るさを連続的に変える
ロータリーエンコーダーとは、なんでしょうか。難しい名前がついていますが、要はボリュームダイヤルです。
と、今の小中学生であるメンバーに言ってもピンときていなかったようです。たしかに、ダイヤルを回すタイプのボリュームは見なくなりました。
ともあれ、回転して値を連続して変えるような操作をする場合、よく使うのがロータリーエンコーダーです。最初は、ロータリーエンコーダーで青色LEDの明るさを変えるプログラムを手打ちしました。

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

実験基板には、RGBのLEDが一つずつ独立してはんだ付けしてあります。それぞれの明るさをロータリーエンコーダーで変化させるのが、このプログラムです。明るさを変える部分は先ほどと一緒。これまた実験基板に設置してあるタクトスイッチを押して、対象のLEDを選択する部分が追加です。
先月から導入したgithubからのソースコードのコピーについては、わたしからは何も言いません。コピーしてもいいし、手入力してもいいし。
時間内に解決できるなら、手入力したほうが伸びます。時間内に解決できないレベルだと、まずはコピペで動く歓びを感じましょう。
NeoPixel(WS2812B)の色相と明るさを変化させる
この日の最後は、NeoPixelを制御します。
光の三原色は、先月学習したところです。先月のプログラムだと、毎度毎度手入力でRGBの値を変えなければいけません。今日のプログラムだと、連続的に、まるで絵の具を少しずつ混ぜるようにLEDの色が変わります。

ハードの追加なしでもソフト変更でここまでできる
なお、今回はハードウエアの追加をしていません。今までの取り組みの中で、持っているハードを使い、プログラムを工夫しました。
プログラムの工夫次第で、様々なことができるということをなんとなくでも分かってくれたらいいなあと思います。
次回は、これもかつて配ったSSD1306(小型ディスプレイ)とロータリーエンコーダーを使ってゲームを作る予定です。

