てのひらの住岡です。
我々の(飯田の)夢はバイクに乗ることです。このてのひらはハンドルを握るためにあるのです。(飯田が「バイク乗りたい」と言ってあっさり決まったのでストーリーは特にないです)。しかし我々はバイクの免許を持っていませんし、私は運転が怖いのでバイクに乗ることはないでしょう。そこで、バイクに乗らずにバイクに乗った気分を味わえる装置を作ることにしました。
上図は最初に考えたフローチャートです。パワーポイントで作成しました。自転車に取り付けることであたかもバイクに乗っているかのような体験ができる装置です。
しかし、ここで問題が発生します。micro:bitではmp3やwaveファイルなどの音声ファイルを直接再生することができないらしいのです(私が調べた限りでは)。そこで、音を鳴らす機能の音階や周波数を調節して排気音っぽい音を作ろうと試みたのですが、なかなかそれらしくなりません。
そこで、保険として排気音を鳴らさずにバイクらしさを演出する方法を考え、以下のフローチャートを考えました。
このフローチャートはdraw.ioというウェブサイトを使って作りました。慣れているパワーポイントのほうが使いやすかったです。
変更点は揺れたときに鳴る音をボタン操作によって変えられるようにしたことです。”パラリラモード”を追加しました。バイクに乗っている人は「パラリラパラリラ」という音を出しているイメージがあります。実際に会ったことはないので真偽は不明です。
ここでプログラムを組んでみたのですが、問題が発生しました。
はじめはこのような条件付けをしたのですが、これではボタンを押しっぱなしでかつ振動を感知しないと音が鳴りません。「ボタンAが押され”た”」という条件設定がなかったので、別の方法を考えました。
変数bikeを用意し、ボタンAが押されれば1を、ボタンBが押されれば2を代入するようにし、bike=1かつ揺さぶられたときに排気音を、bike=2かつ揺さぶられたときにパラリラ音を鳴らすようにしました。なぜ1と2を用いたかというと、変数を用意したときには0が代入されているらしいということに気が付いたからです。これを利用して、AとBを同時に押したときにはbikeに0を代入するようにし、ゆさぶられても音が鳴らないモードを追加しました。(”無免許モード”と呼ぶことにします)
そして、排気音とパラリラ音について以下のウェブサイトを参考にしてプログラムが完成しました。
排気音について2時間くらい試行錯誤した結果、このように長いプログラムになってしまいました。聞けばわかりますが、これでもあまり再現度は高くありません。1拍の音を使わず1/4拍などを繰り返すことで排気音の震えている感じを再現しようとしたところがこだわりポイントです。
実際の音はもう少しだけマシです。