Arduinoで音源方向に振り向く雲台を作れないか?
2chマイクにこだわって、いろいろと試しているのですが、
ネタをばらすと音源方向に振り向く雲台を作れないかと試行錯誤しているからです。
高速なサンプリングレートで扱うには、それなりのCPUパワーが必要という点で
Arduinoでは少し厳しいですが。Genuino101等の高速処理に向いたものならば
なんとかこなせそうな気がします。1アナログリードに27マイクロsec程度の
性能が出ます。
マイクとマイクの距離は近すぎると、到達時間の差があまり出ないので
10cmは欲しいところ。
マイクはこちらから購入。200円程度です。Rail to Railのオペアンプと言うらしいです。
VCCで与えた電圧の半分を中央に波形を出してくれると言う単純明快扱いやすいです。
左右2つのコンデンサマイクで取得した信号をオペアンプで増幅して
アナログ入力。1000個、値を拾って。
左右の波形の位相差を計算して距離に換算します。
計算方法は単純で左右の値を掛け合わせて和を求めて。最大になるところが
位相が一致したところとしています。
アルゴリズムはこちらを参照しました。
できたのは、こんな感じのプログラムです。
github.com
Genuino101が壊れた!
Uno R3という互換ボードを購入してアナログリードの性能を調べたら
116マイクロsecもかかってしまった。これは実用に耐えられなさそうだ。
でも、大丈夫以下の記事を発見。これをしたら、なんと20マイクロ秒まで速度アップしました。
ameblo.jp
MAX4466+コンデンサマイクのモジュールをためしてみる
マイクからの波形で遊ぼうと思って、色々とためしております。
昨日MAX4466のマイクモジュールが届きましたのでためしてみます。
こちら無音の時。
こちら声を出した時。
3.3Vで使用しています。
ゲインは可変抵抗で帰られますが、これで目一杯です。
もう少し感度が欲しい気もしますね。
左右、だいたい同じような波形が出ています。
マイクを外して
秋月で買ったコンデンサマイクを取り付けたくなってしまいますが。
そこは壊してしまいそうなので、とりあえず我慢。
こちらが、購入したモジュールです。航空便で届くので結構早めに届きました。1週間程度。
rover.ebay.com
AndroidタブレットのUSB端子をマグネテック化(WSKEN)使用感は最高です!
サーボブラケットの使い方を調べよう
サーボモータ単独だと、面白くないので
雲台みたいな感じで使いたい。
回転部分の金具をサーボホーンというらしい。
サーボブラケットで雲台として使う方法を調べよう
U字型のブラケットとL字型のブラケットがあるらしい
手軽に使えそうなのはL字型かなー。
# サーボホーンとブラケット
直径14mmでM3のねじ4本で止めるタイプ
rover.ebay.com
Arduinoでコンデンサーマイクからの入力を2chにすると値がうまく取れない。
グラフは無音状態での計測です。
1chのマイクだといい感じに計測できるのですが・・
2chにすると、値がうまく拾えなくなってしまう。無音の状態なのに
大きな値(1chの無音の数値を超えている)となってしまう。何が原因なんだろう。
秋月で購入したコンデンサーマイク(C9767BB422LFP)にLM386というオペアンプを接続して増幅してアナログ入力(A0,A1)に入れています。
今回参考にして実装した回路は以下を参考にしました。
2.2kΩと10μF,1μFの電解コンデンサーで組んでいます。
ただし、電源は3.3Vの方から取りました。
arms22.blog91.fc2.com
マイクの回路ググった結果
同じくマイク用増幅回路でも色々あるみたい。
How to Connect a Microphone to an Arduino
lm386 ecm mic amp | rakko studio
コンデンサーマイクのタイプ
どの方向でも音を拾うマイクのことを
omnidirectionalマイクと呼ぶらしい。
さて、私の秋月で買ったマイクのタイプは・・・
C9767BB422LFPというタイプでデータシートによるとOMNIと書いてありました。
大丈夫です!!
http://www.diva-portal.org/smash/get/diva2:830430/FULLTEXT01.pdf