MTUでブザーを鳴らして、“あの”レベルアップ音を再現したい!:マイクロマウスで始める組み込み開発入門(9)(1/3 ページ)
マイクロマウスの市販組み立てキットを完成させた北上くんとえみちゃん。サンプルのソースコードに頼らず、オリジナルプログラムをイチから組もうと奮闘中。今回は、MTUのPWMモードを使ってブザーの制御にチャレンジする。
前回のあらすじ
組み込み技術者に要求される要素が“ギュッ”と詰まった「マイクロマウス」。北上くんと新入社員のえみちゃんは、スキルアップを兼ねてマイクロマウスの開発を始めることにしました。「階層構造」を意識したオリジナルプログラムを開発することになったえみちゃんは、北上くんの指導の下、どうにかスイッチのチャタリング問題も解決し、LEDを光らせることに成功しました(前回の記事へ)。
ブザー発音の仕組み
――ピンポーン!(チャイムの音)
こんにちはー!
いらっしゃい! あれ、何だか楽しそうだね?
センパイ、今日は「ブザーを制御する」って言ってましたよね!
ワタシ、やりたいことがあるんです〜。
へぇー。一体何をやりたいのかな?
ブザーで「ちゃららっ、ちゃっちゃっちゃーん♪」って鳴らしたいんです!
よーし、分かった!! 「レベルアップ」目指してやってみよう。
はいっ!!
階層構造プログラムに戸惑っていたえみちゃんも、ようやく自分のやりたいことを考える余裕が出てきたようです。そうなると、がぜん開発が楽しくなりますね。
今回は「ブザー」を制御します。詳しい内容に入る前に、ブザーの仕組みを簡単に紹介します。
そもそも「音」とは、空気などの振動として伝わるものです。“ブザーの音が聞こえる”ということを、もう少し細かくかみ砕いて説明してみましょう。まず、ブザーの中に組み込まれている振動板の動き(音源)が空気の振動(音波)として伝わります。そして、それを受けた人間の鼓膜(中耳)が振動し、聴覚神経(内耳)に伝わることによって、「音」として感じ取ります。
このように音が振動となって伝わるときの空気の圧力のことを「音圧」と呼び、その時の気圧の変化が1秒間に何回あるかを「周波数」と呼びます。音圧が大きければ音は大きく聞こえ、周波数が高ければ音は高くなります。つまり、周波数を一定のルールに従って変化させれば、ド・レ・ミ……の音階が作れるのです。1939年に国際会議で「ラ」の音の周波数が“440Hz”に定められました。一般には、これを基準に他の音程の周波数を求めます(表1)。
ちなみに、マイクロマウスの市販組み立てキット「Pi:Co Classic」に搭載されているブザーは、電磁型(マグネチック型)です。電気信号を加えることで、音源部を振動させて音を出します(画像1)。
ブザーが音を出す仕組みと、音階と周波数の関係を理解したところで、プログラムに必要な情報をデータシートでチェックしておきましょう(表2、画像2、画像3)。
ブザー制御に「MTU」のPWMモードを使うと何がうれしいのか?
まさか、マイクロマウスのプログラミングで、音階の勉強をするとは……。
「ちゃららっ、ちゃっちゃっちゃーん♪」と鳴らしたかったら、音階は必要でしょ。
そういえば、ワタシちゃんと調べてきたんですよ。レベルアップ音は「ソ・ソ・ソ・ファ、ラ・ソ〜」って音階です。半音があると面倒かもって思って、変調してきたんですよ!
おー、準備万端だね!
それでセンパイ、どうやってプログラムでブザーを鳴らすんですか?
前回ちょっと説明した「MTU」を使うんだよ!
MTUって、確かタイマーですよね? タイマーを制御して音が鳴るんですか?
うん、そうなんだよ!!
Copyright © ITmedia, Inc. All Rights Reserved.