可聴周波数検出器
コンポーネントと消耗品
> | | × | 1 | |
| Arduino用のDEVMO高感度サウンド検出モジュール | | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
このプロジェクトについて
このArduinoプロジェクトは、音検出モジュールによって検出された最も大きな音のおおよその周波数を表示します。このプロジェクトでは、サウンドモジュール検出器からのアナログ出力が、検出されたアナログオーディオ信号をArduinoUnoのA0に送信します。アナログ信号はサンプリングされ、量子化(デジタル化)されます。次に、デジタル化されたデータに対して高速フーリエ変換(FFT)が実行されます。 FFTは、近似離散時間領域の結果からデジタルデータを変換します。次に、おおよその離散時間領域の結果の最大周波数が決定され、ArduinoIDEシリアルモニターを介して表示されます。
このプロジェクトの詳細については、次のリンクにアクセスしてください:詳細情報
[このリンク]
をクリックしてフォローアッププロジェクトをご覧ください コード
- AudioFrequencyDetectorV1-0.ino
AudioFrequencyDetectorV1-0.ino Arduino
このコード/スケッチは、音検出モジュールによって検出された最も大きな音のおおよその周波数を表示します。 / *ファイル/スケッチ名:AudioFrequencyDetectorバージョン番号:v1.0作成日2019年12月12日原作者:Clyde A. Lettsome 、PhD、PE、MEM説明:このコード/スケッチは、音検出モジュールによって検出された最も大きな音のおおよその周波数を表示します。このプロジェクトでは、サウンドモジュール検出器からのアナログ出力が、検出されたアナログオーディオ信号をArduinoUnoのA0に送信します。アナログ信号はサンプリングされ、量子化(デジタル化)されます。次に、デジタル化されたデータに対して高速フーリエ変換(FFT)が実行されます。 FFTは、近似離散時間領域の結果からデジタルデータを変換します。次に、おおよその離散時間領域の結果の最大周波数が決定され、ArduinoIDEシリアルモニターを介して表示されます。注:このスクリプト/スケッチをコンパイルしてArduinoにアップロードする前に、arduinoFFT.hライブラリをArduinoIDEに追加する必要があります。ライセンス:このプログラムは自由ソフトウェアです。それを再配布および/またはGNUGeneral Public License(GPL)バージョン3、またはフリーソフトウェアファウンデーションによって公開されている任意のそれ以降のバージョンの条件の下で変更することができます。注:Copyright(c)2019 by CA Lettsome Services、LLC詳細については、https://clydelettsome.com/blog/2019/12/18/my-weekend-project-audio-frequency-detector-using-an-arduinoをご覧ください。 / * /#include "arduinoFFT.h" #define SAMPLES 128 // SAMPLES-ptFFT。 2進数である必要があります。 Arduino Unoの最大128。#define SAMPLING_FREQUENCY 2048 // Ts =ナイキストに基づき、予想される最高周波数の2倍である必要があります。 arduinoFFT FFT =arduinoFFT(); unsigned intsamplingPeriod; unsigned long microSeconds; double vReal [SAMPLES]; //実際の値を保持するサイズSAMPLESのベクトルを作成しますdoublevImag [SAMPLES]; //虚数を保持するサイズSAMPLESのベクトルを作成しますvoidsetup(){Serial.begin(115200); //シリアルモニターのボーレートsamplingPeriod =round(1000000 *(1.0 / SAMPLING_FREQUENCY)); //マイクロ秒単位の期間} void loop(){/ *サンプルサンプル時間* / for(int i =0; i
回路図
このArduinoプロジェクトは、音検出モジュールによって検出された最も大きな音のおおよその周波数を表示します。