XRQ技研業務日誌

ものづくりを楽しんでいます。日々の暮らしの中に面白そうなものを探しながら

メトロノーム  ATtiny202 Project

同じ回路でプログラムを入れ替えて

 メトロノーム(拍節器、拍子計)はウィキペディアによると「一定の間隔で音を刻み、楽器を演奏あるいは練習する際にテンポを合わせるために使う音楽用具である。拍節器(はくせつき)ともいった」とのこと。リズミカルに拍を刻む装置なら小さなマイコンにもできるのではと考えた。昔の音楽室にあった、竿の先の重りを動かすことでカタカタと拍を刻む四角錐の装置を懐かしんだのである。
 メトロノームスマホで動作するアプリもあって、小さなマイコンで作っても実用性はないと思うのだが、作ることを楽しみたい。
 拍を刻むスケッチを書くのは容易である。テンポを指定して音や光を出させればよい。あまり正確ではないが内蔵のタイマーを使えばそこそこのテンポを出せる。テンポを加減できるようにするのも特に問題なかった。アップ、ダウンのボタンを使って速くしたり遅くしたりできる。テンポを変更したらその値を記憶させておけば次に起動した時同じテンポで動作する。
 どの程度のテンポで動作しているのかを表示させようと思った。マニアックだがモールス符号の数字で表示させるのも一つの方法だ。しかし、いざスケッチを書いていくと結構な分量になってしまい、ATtiny202では手に負えないことがわかった。入出力のピンの数からLCDなどの表示機を付けることもできない。テンポ表示は諦めた。
 それなら、いくつかのテンポを規定値として内蔵しておき、そこからテンポを上げたり下げたりするような動作はどうだろうと考えた。60、120、180を規定値としてボタンの押し方で選択し、それをメモリーに取り込む。通常モードではそのメモリーから規定のテンポ値を読み出し動作するようにし、アップ、ダウンのボタン操作でテンポを変えられるようにする。ボタンを押し、1テンポの変化があるとピピと音が鳴りそのテンポを記憶する。思い通りの変化量を入力すれば、狙ったテンポに設定できるという仕組みだ。なんとも間怠っこしいやり方である。
 割り込み処理を使って、3つの規定テンポ値を選択するようにした。ボタンを押すとピという音がする。すぐに手を離すと60というテンポ数が記憶される。もしピという音が鳴った後もし続けているとピピという音が鳴る。そこで手を離すと120が記憶される。ピピピとなるまでボタンを押していると180が選択される仕組みである。1つのボタン操作で3パターンを選択するにはシングルクリック、ダブルクリック、長押しによるやり方もあるが、なかなか思い通りに動いてくれないものである。
 これまでの作品と全く同じ回路で動作する。プログラムの入れ替えだけで動作の異なるものを作れるのは面白い。さて次はどんなことをやらせようか。

 追記:メモリーの大きなデバイスを使えばプログラムできそうなのでATtiny402を使ってやってみた。モールス符号でテンポ値を表示することができるようになった。
              XRQTechLabの製作記事