ロボットの制御にはいろいろありますが、やはり音声やジェスチャがいいかなと思っています。
つづき
四足歩行ロボット「よつあし」に実際にセンサをつないで確認しています。
状況
音センサの上手く動かない原因をオシロスコープで確認して行きます。
一応手をたたくと反応しているのですが、笛や声では反応しません。センサの裏にあるボリュームコントロール用の半固定抵抗が効いていないようですので、オシロを使って確認してみます。
考察
そもそもこのセンサは、単なるマイクアンプなのか、音センサ―になっているかですが、それも確認して行きます。
それにどこかにバイアスがあるはずです。Arduinoのアナログ入力は10bitの数値で、0から電源電圧までを入力できます。つまり0から1024の数値が入力されます。バイアスとは、マイク入力が0の時でも少しは電圧が出ているかもしれないので確認する必要があります。音は空気の振動なのでそれをマイクで変換したらプラス側にもマイナス側にも振れるはずです。しかしマイナス側は計測できないので、少し数値に下駄を履かせて計測できるようにします。これをオフセットとか、バイアスとか言います。
ADコンバーターに入力して見ると500程度の数値がでているので、このくらいのオフセットがあるはずです。電圧で表すと、2.5V 程度となります。Arduinoのデジタル入力は、3V以上を入力した時にHIGHつまり1として認識します。中間電圧は与えてはいけない約束です。もしそうなら、参考にしているスケッチのように、この音センサの出力をArduinoのデジタル入力に入れても上手く動かないかもしれません。
計測
一応確認のためにArduinoオシロで計測してみます。
ビンゴ!バイアスは2.5V です。
使われているIC
MAX4466と言うICが使われています。ネットで仕様を調べてみます。
ここから
MAX4467/MAX4468は完全シャットダウンモードを備えています。シャットダウン中、アンプの消費電流は5nAに低減され、電力を節約するため外部マイクロフォンへのバイアス電流が切断されます。シングルのMAX4465/MAX4466は超小型の5ピンSC70パッケージで、シャットダウン機能付きのシングルMAX4467/MAX4468およびデュアルMAX4469は省スペースの8ピンSOT23パッケージで提供されています。
主な特長
•電源電圧動作:+2.4V~+5.5V
•5nAのシャットダウン機能付バージョンあり(MAX4467/MAX4468)
•優れた電源除去比:112dB
•優れた同相除去比:126dB
•高AVOL:125dB (RL = 100kΩ)
•レイルトゥレイル出力
•低自己消費電流:24µA
•利得帯域幅積:
◦200kHz (MAX4465/MAX4467/MAX4469)
◦600kHz AV > 5 (MAX4466/MAX4468)
•省スペースパッケージ ◦5ピンSC70 (MAX4465/MAX4466)
◦8ピンSOT23 (MAX4467/MAX4468/MAX4469)
アプリケーション/用途
•携帯電話
•デジタルディクテーション機器
•ヘッドセット
•補聴器
•マイクロフォンプリアンプ
•ポータブルコンピュータ
•音声認識システム
MAX4465、MAX4466、MAX4467、MAX4468、MAX4469:標準動作回路
標準動作回路と音センサの基板の裏面部品を見ると基本は参照回路通りのようです。
これに電源の平滑用コンデンサと出力にカップリングコンデンサを入れ、半固定抵抗で増幅率を調整できるようにしたものが、このセンサのようです。これをレイルTOレイル(つまり0-電源電圧まで)で出力を振る事ができているようです。
つづき
参考にしたスケッチは、音によりON/OFFするタイプのセンサで、これを使ったものではないようです。
マイク入力をアナログ入力に変更して、コードを修正して行きます。
購入品情報
そう言えばこれはマイクアンプでした。音声認識用に購入したものでした。
HiLetgo 2個セット MAX4466調整可能なゲインブレークアウトボードエレクトレットマイクアンプモジュールラズベリーパイマイクロフォンarduinoマイクロフォン
- 出版社/メーカー: HiLetgo
- メディア: その他
- この商品を含むブログを見る
音の強弱でON/OFFするだけならこっちのセンサの方が良かったですね。
これなら、大きな音が出た時だけONになるように動作します。
でも将来的に音色で判断したり、音声認識の実験に使うにはマイクアンプの方が良いと思って購入しています。