SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

IoTをかじってみよう

IoTをかじってみよう(7)
~mbedを使って音声認識でデバイスを制御する

ハードウェア

 アプリケーションボードには、アナログ入力があり、これはmbedのピンに入力された0-3.3Vの値を0から1(浮動小数点数)の値に変換して取り込みます(AnalogInのread()関数を使った場合)。これはセンサからの入力などには良いのですが、以下の理由から音声入力には、このままでは使用できません。

  • マイクからの出力は非常に小さく、一般に数mVしかない
  • 一般的なマイク出力は交流なので、負の電圧から測定できる必要がある

 これまでの連載では、mbedのデモボードとアプリケーションボードのみを使うことで、ハードウェアの製作を不要としてきましたが、今回はあきらめて追加のハードウェアを製作しました(図4)。

図4 音声取り込みのための回路
図4 音声取り込みのための回路

 マイクアンプとして、秋月電子のキットを使用しています。100倍のアンプを内蔵しているため、今回の用途にピッタリです。回路図左側は、交流であるマイクアンプ出力に直流分の「かさ上げ」を行って、0Vより上の信号になるようにしています。VCCが5Vなので5×470/(470+3900)=0.54V程度かさ上げされます。回路図右側はフィルターです。mbedの39ピンはUSBの5Vが供給されますが、デジタル回路用の電源なので非常にノイズが多く、そのままマイクに使用すると、ノイズが乗り過ぎてWSTでまったく認識できませんでした。このためコンデンサと抵抗を使った2段フィルタを入れています。

 抵抗は1/4W以上の通常のカーボン抵抗で構いません。コンデンサの耐圧は、書かれた値以上であれば問題ありません。今回は0.1μFにはセラミックコンデンサを、それ以外は積層セラミックコンデンサを使用しています。図5に回路の外観を示します。

図5 回路の実装例
図5 回路の実装例

 配線にはブレッドボードを使いました(掲載するためにきれいに配線していますが、皆さんが製作する場合は、あまり神経質にならず気にせずに配線してください)。実際に回路を作成してみる方のために部品表を表1に示します。なお、マイクアンプはキットなので半田付けが必要になります。半田ごてと半田をお持ちでない方は別途入手してください。

表1 部品表
摘要 数量
秋月電子マイクアンプ キット 1
セラミック・コンデンサ 0.1μF 6WV (注1 1
積層セラミック・コンデンサ 100μF 6WV (注1 2
抵抗 3.9kΩ 1/4W 5% 1
抵抗 470Ω 1/4W 5% 1
抵抗 51Ω 1/4W 5% 2
ブレッド・ボード 8cm x 5cm 程度のもの 1
ブレッド・ボード用ワイヤ (注2 1セット

注1

 耐圧は6WV以上であれば高くても構いません。0.1μFの方は積層タイプでも、そうでないものでも構いません。

注2

 余っている電線でも良いですが、あると楽に配線できます。

次のページ
ソフトウェア

この記事は参考になりましたか?

IoTをかじってみよう連載記事一覧

もっと読む

この記事の著者

花井 志生(ペンネーム 宇野るいも)(ハナイ シセイ(ペンネーム ウノルイモ))

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/9568 2016/08/10 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー