オーディオレベルメーターを作ってみました。

level_meter000 Arduino

こんにちは。
前回の記事のArduino電光掲示板に、オーディオレベルメーター機能を追加してみました。
I2C通信のLEDドライバーをうまく使うと、いろんなことができます。

YouTube動画もアップしてますので、ご覧ください。
(著作権上の問題から音声を消去してます。あまり音との関係が分からず、すみません。)

スポンサーリンク


ほんとに、このLED driverは重宝します。
以前にも紹介したAdafruitさんのLEDドライバーです。
http://www.adafruit.com/products/1427
秋月さんでも売ってます。
さて、概要ですが、
Arduino Mega の analog0番に iPadのヘッドホンアウトからのオーディオ信号を入れてます。
ただ、オーディオ信号はマイナス電圧にもなるので、
信号を全波整流して全てプラスの直流信号に変換したモジュールを追加しました。


全波整流は今まではダイオードを使っていたのですが、あまり精度がよくないので、
抵抗を追加するだけで手軽に全波整流ができるスゴイICをネットで見つけました。
これについては近々ご報告したいと思います。
また、インピーダンス整合させるためと、オーディオ機器とアイソレートするために安価なサンスイっぽい
トランスを入力回路先頭に入れてますが、カップリングコンデンサで絶縁されてれば要らないかも・・・。
一応、両極性のカップリングコンデンサも入れています。
オーディオマニアならば、ここはフィルムコンデンサでしょうけどね。
また、Arduino の analog入力は電圧を1024段階のリニアで読み取るので、
そのままLEDに表示させると、とても見にくいレベルメーターになってしまいます。
そこで、プログラムで
Y=20*log10(x1/x2)  (x1=実際の電圧値、x2=参考電圧値)
のような人間の耳の感性に近い対数dB数値に変換して表示させてます。
それで、LEDの1ドットが1dBで右のメモリが3dBごとに表示させてます。
VUメーターっぽくしたかったのですが、簡易レベルメーターですので、こんなところにしておきます。
でも、けっこういい感じで振れてくれます。
まだモノ表示ですが、近々ステレオ表示にしたいですね。
ただ、ケースの中にオーディオ変換ユニットを2つ入れなければならないので、ちょっと手間がかかります。
(追伸)
実は、ACアダプターで動作させると電源からのスパイクノイズが酷くて、微小信号はメチャメチャになります。
ですから、-20dB以下は全く参考になりません。
1dBの精度を-20dB以下でも出すためには電源をスイッチング電源でないものにしないと、無理ですね。
これは、簡易メーターと思ってください。
ざっとこんな感じですが、これはそもそもタイマー付き電光掲示板なのです。
スマホで時間設定すれば、スクロールメッセージに切り替わります。
動画もアップしてますのでご覧ください。
(著作権上の問題から音声を消去してます。あまり音との関係が分からず、すみません。)

ちなみに、前回の記事と同じく、ボタンを押せば時計表示モードに切り替わります。
なかなか、デジタル時計と電光掲示板とレベルメーターが備わった製品は無いのではないかと思います。
また、3Dプリンター(3D printer)で作ったLEDカバーをするとこんな感じに光が柔らかくなります。

これ、スゴイぼけボケに見えますが、スマホカメラだとどうしてもこうなってしまいます。
実際はもっとクリアで、いい感じにボケて光が柔らかくなります。
今回はこんなところです。
では、また・・・

(関連記事)
つづき、動画アップしました。Arduinoタイマー付きLED電光掲示板 試作完成 その4
つづき、Arduinoタイマー付きLED電光掲示板 試作完成 その3
Arduinoタイマー付き電光掲示板 試作完成!! その2
Arduino 8×32 LED タイマー電光掲示板 試作 その2

[ホーム(home)]

コメント

タイトルとURLをコピーしました