こんにちは。
先日のお休みに、お部屋のラグをお洗濯しました。
小さな洗濯機に無理やり押し込んで、大変な音をさせながら洗ったのですが、
おかげでふわふわに~♪
もう十数年使っているものなので捨てようかと思っていましたが、もう少しふわふわを味わってからにします^^
はい、
今日のマイクロマウス研修は、まだまだ続くよ!「ブザーで遊んでみよう編」♪
先日、
「ボタンを押して音階を選択し、決定ボタンで「プー」と鳴る」というプログラムを関数化してrunning_maze(メインで使ういつも入れているプログラム)に入れることに成功しましたが、
今回の課題は、
「決定ボタンを押すと曲が再生される」というプログラムを関数化して、running_mazeに入れる、です!
きょ、曲とな!!
とりあえず、単純でわかりやすい曲を入れようということでまず悩む。
短い曲がいいかな~と思い「チャルメラ」に決定!
(ジェニちゃんから「チャルメラ」が流れているさまを想像し爆笑w)
まずは、関数化するべくソースファイルとヘッダファイルをこれまたしこしこと作成。
松崎はまだ一からは書けないので、今回は以前作ったナイトライダーのプログラムをコピペして、書き換えました。
まずは一音だけ鳴らしてみて、自分の発想が正しいか確認。
※ちなみにこれ、コピペそのまま使っちゃってますが、「j」はいらないですねw
ビルド成功、書き込んでちゃんと音も鳴りました。
あとは、音階(周波数)を変えて、鳴っている時間や休符の部分の時間を変えて、の繰り返しです。
しかし、
やっているうちにだんだんと気付き始める。
あれ?チャルメラ難しくね??
鳴っている時間や休符の時間が一定でないため、書いては試し、書いては試しの繰り返しに…。
ということで、曲は長いが簡単そうな「さいたさいた」に曲目変更。
これなら、とても簡単です。
完成したプログラムの一部です。
きちんと各音の間にwait_msを入れてあげないとうにゃうにゃと音がつながって気持ち悪いです。
そして完成!
※注 マイクロマウスは迷路探索し、最短コースを導き走行するロボットです。
曲の最後のほうが微妙に変になっている…。
修正しようとして時間切れです。。
まだデモでしかないこのプログラムですが、いずれ走行プログラムと絡ませて、
ゴールアピールで音楽が再生されるように利用してみたいです^^!