太子プログラミングクラブ中級第2期・初級第2期(2026年8月)~音をプログラミングする~

太子プログラミングクラブは、8月から中級が新シリーズ。音をプログラミングします。初級は、単発で様座なネタに取り組みます。

初級は電子工作に挑戦

初級クラスは電子工作に挑戦しました。電子工作はただ組み立てるだけではなくて、マイコンを組み合わせてプログラムもします。

ハンダゴテは初めての小学生メンバー。おっかなびっくり、350度のこて先に恐る恐るハンダ付けをしていました。

ハンダ付け自体は中学校の技術で必ずやります。5年ぐらい先取りしてやっています。

350度のコテ先を使うといっても、きちんと真面目に扱い、使い方を誤らなければ危険なことはありません。ふざけずに、きちんと真面目にやるということがここでは大事です。

画面の中だけで出来上がるプログラムもいいですが、実際にモノを動かすプログラムも面白いのです。

ハンダ付けが終わったら、まずは期待した通りに動くかどうかの確認。これはもうすでにマイコンの中にプログラムが書かれているので、あっという間に終わります。無事にみんな想定通りに動きました。

続いてプログラムを変えていきます。どのように動いたら、自分の思い通りの動き方になるだろうかというのを、プログラムレベルで考えていきます。

想定外の発想が来た

今回の企画は「暗くなったら鳴き出す虫」というテーマで作りました。

ただし、メンバーの中には「虫ではなく鳥の鳴き声を作りたい」という人がいました。なるほど、私にはその発想はなかったので、どうしたものかなと考えながら作りました。暗くなったら鳴く鳥というよりかは、明るい時だけ鳴く鳥という発想なのかなと思います。こういう発想はとてもいいですね。

圧電スピーカーでどこまで鳥の鳴き声を再現できるのかな、というのが懸念点。しかし、実際作ってみるとかなり鳥の鳴き声に近いものができました。私も満足しております。

どこかでまた、このテーマでも作ってみたいと考えています。

中級は音をプログラミングする

中級のメンバーは中学校1年生がほとんどです。音が振動であり波であるというのは中学校1年生の理科で習いますが、今日のメンバーはまだ習っていないメンバーばかりでした。

そこで、まずどのように考えたらいいか、音が振動であることをどう捉えたらいいかという説明から入りました。

音が振動であるということは、なんとなく感覚的に掴んでいるみたいです。例えば、太鼓の「ドン」という音がするときは太鼓の表面がブルブルと震えている、というのを感覚的に掴んでいるようです。この感覚があるからこそ、音が振動であるということは簡単に納得してくれました。

一方、波形で示すということについては、初めはピンとこなかったようです。波と振動がなぜ関係するのかというのは、グラフや時間の概念と合わせて見ないとわからないのかもしれません。

そこで、横軸を時間(グラフ)、そして縦軸を振幅にするという概念を説明しました。
手の動きとともに、「今の時間はここにある、上の頂点にある」「今の時間は下の頂点にある」というように動きを示すと、納得してくれたようです。

ついでに周波数の話

ついでに周波数の話もします。

周波数とは、1秒間にどれくらい振動するかを表す数値のことです。単位はヘルツ(Hz)で、HとZを組み合わせて表記します。

音を扱う限りはこのヘルツから逃れられないので、簡単に説明しておきます。

例えば「440Hz」は、1秒間に440回ブルブルと震えたときに出る音のことで、これはドレミファソラシドの「ラ」の音にあたります。この「440」という数値を変えてあげることで、さまざまな音階になるという仕組みです。

周波数が半分になると、1オクターブ低いラの音になります。220Hz(ヘルツ)は低い方のラの音ですね。反対に周波数が倍の 880Hz になると、1オクターブ高いラの音になります。

こんな話をすると、おそらくピアノか何かを習っているメンバーは、なるほどと納得するような反応を示していました。

プログラムで数値を指定するというのは簡単ですから、440Hz や 220Hz というような数値の指定を組み合わせることによって、音楽を奏でることができます。そういう取り組みをしようというのが、今回のプログラミング、この半年のプログラミングのテーマです。

理屈がわかったところでコーディング

何を作るかがはっきりしたところで、プログラミングを進めていきます。作るのは、波形を表示するプログラムと、440Hz の音を鳴らすプログラムです。

コーディング自体は簡単です。2つ合わせても20行に満たないくらいで、あっという間に終わってしまいます。

ただし、今回難しかったのはモジュールのインストールです。今まで使ったことがないモジュールを使わなければならず、どうもこのインストールがうまくいかない、インストールしてもうまく動かない、といったところで今回は時間切れでした。Thonnyを使うとこのような状況が起きるのかなといったところで、これは要調査です。

教材を手作りしていますので、こういったことはままあります。ただ、環境設定や問題解決のプロセスを体験し、現実を見てもらうという点では、これこそが生きた教材であり、生々しいプログラミングの現場そのものです。