サウンドカードで直流電圧計測

soft1.png(683174 byte)

プログラム実行中のイメージ。測定を中断して、データをコピーすることができる。

概要

背景

原理

回路の製作

ソフトウェア

本プロジェクトほ基本的にハードウェアに関するものですが、パソコンのマイク入力に入った信号から直流電圧値が計測できる事を示す必要があります。 しかし、パソコン側の処理の方法は使用しているパソコンのシステムに依存しますので、ここでは私が行なった方法について簡単に説明することにします。

ここで示すのは、計測結果をできるだけリアルタイムに見るための方法です。 サウンドカードで録音した音声ファイル(WAVEファイルなど)を事後に解析して、振幅などを調べるという方法なら、 フリーソフトの組み合わせだけで十分でしょう。(例えば、WAVE -> CSV -> OpenOffice Calcで解析とか)

システム構成

私が使っているパソコンはノートパソコンで、システムはWindowsXP SP3です。 CPUはCore2DuoT7200で、新しくはありませんが、そんなに古いものでもありません。

内蔵のサウンドカードはRealtek HD Audioというものです。 VisualBasic2005で作成したプログラムによって、DirectSoundのManaged codeを介してこのサウンドカードを制御します。

8分の1秒毎にサウンドカードからデータが蓄積されたという知らせを受け、これをさらに4分の1に分割し、32分の1秒ずつの実効値を計算し、 データファイルに保存すると同時に、データグリッドビューに表示します。 ユーザはデータファイル(CSV)を開いても良いし、データグリッドビューの値を適宜コピーしてエクセル等に貼り付けて利用する事もできます。

ソフトウェア作成の詳細

リンク先で素人がつたない説明を試みることにします。 プログラミングが得意な方は自力で作成されたほうが宜しいでしょう。

将来的には

Visual Basicでリアルタイムにグラフを書く事は簡単にできます。 また、今回は信号の値を電圧値に変換する事はしていませんが、基準電圧を用いたキャリブレーションをソフトに組み込んでもいいでしょう。

また、エクセルのVBAでキャプチャー(サウンドカードからの録音)の制御ができるのなら、 プログラムのソースを書き直さなくても柔軟な使い方が色々できるようになるでしょう。 VBAからDirectSoundが使えるようですが、ちょっと私には難しくて手がでません。 VisualBasic からエクセルファイルを操作する方がずっと楽かもしれません。 http://www.happy2-island.com/excelsmile/smile04/capter0040102.shtml とか、 http://www.vbforums.com/archive/index.php/t-388562.html をよく読めばできるような気がする。

応用例

ホーム
  [ホーム]