Arduinoのコードと動画:ISD1820 Arduino音声レコーダー

Arduinoのコードと動画:ISD1820 Arduino音声レコーダー

ISD1820は、Arduinoを使って音声を録音・再生できるシンプルなボイスレコーダーモジュールです。このチュートリアルでは、ISD1820をArduinoに接続して最大20秒の音声を録音し、コマンドで再生する方法を学びます。このプロジェクトは、Arduinoでの音声処理を試してみたい初心者に最適です。

isd1820 voice recording module

このチュートリアルを通して、コードで使用される主要な識別子(例えば)を見つけることができますRECPLAY_E、そしてPLAY_Lこれらの識別子は、録音および再生機能に使用されるピンに対応しています。さらに、提供されているコードスニペットは、このプロジェクトのプログラミングのロジックを明確にするのに役立ちます。より詳しい説明については、ビデオの00:00をご確認ください。

ハードウェアの解説

このプロジェクトの主なコンポーネントはISD1820ボイスレコーダーモジュールで、最大20秒まで音声を録音できます。録音、再生、パススルー機能を制御するための複数のピンを備えています。モジュールは3V〜4.5Vの電源で動作するため、ほとんどのArduinoボードと互換性があります。

ISD1820モジュールに加えて、Arduinoボード、スピーカー、マイクが必要です。Arduinoはデジタルピンを通じて録音と再生の機能を制御します。モジュールの動作は簡単で、録音ピンをHIGHに設定すると音声を録音し、再生ピンをアクティブにすると音声を再生します。

データシートの詳細

製造元ISD1820
部品番号ISD1820
ロジック/入出力電圧3.3 V(典型値)
電源電圧3.0 V〜4.5 V
アイドル電流0.5 µA(典型値)
動作電流最大30 mA.
録画時間最大20秒
再生時間最大20秒
パッケージ8ピンDIP

  • モジュールが損傷しないよう、供給電圧が3.0 V〜4.5 Vの範囲内にあることを確認してください。
  • 安全にインターフェースするために、抵抗を使ってArduinoの5V信号を3.3Vの論理レベルに変換してください。
  • 消費電流を監視してください。モジュールは動作中に最大30 mAを消費することがあります。
  • 再生のために、オーディオ出力に低出力スピーカー(0.5 W)を接続してください。
  • このモジュールはさまざまな録音時間に対応しています。必要に応じてタイミングを調整してください。

配線手順

Arduino wiring for ISD1820 voice_recorder
Arduino wiring for ISD1820 voice_recorder

ISD1820をArduinoに配線するには、まずモジュールのVCCピンをArduinoの3.3V出力に接続します。次に、GNDモジュールのピンをArduinoのグラウンドピンの一つに接続します。制御用ピンについては、モジュールのRECピンをArduinoのピン2に、PLAY_Eピン3へ、PLAY_Lピン4に、そしてFTピン5へ。

Arduinoは5Vで動作するため、制御ピンを安全に接続するには分圧回路を使用する必要があります。例えば、Arduinoのピンからモジュールの制御ピンへ5 kΩの抵抗を接続し、モジュールの制御ピンからグラウンドへ3.3 kΩの抵抗を接続します。追加の制御ピンがある場合も同様にこの手順を繰り返し、正しい電圧レベルが供給されるようにしてください。

コード例とウォークスルー

以下のコードスニペットは、録音および再生に使用するピンを定義しています。これにより、コード内でハードコーディングされた値を使う代わりに、これらのピンを簡単に参照できるようになります。

#define REC 2 // pin 2 is used for recording
#define PLAY_E 3 // pin 3 is used for playback-edge trigger
#define PLAY_L 4 // pin 4 is used for playback

setup関数でピンを出力として初期化します。これにより、ArduinoがISD1820モジュールを効果的に制御できるようになります。

void setup() 
{
  pinMode(REC, OUTPUT); // set the REC pin as output
  pinMode(PLAY_L, OUTPUT); // set the PLAY_L pin as output
  pinMode(PLAY_E, OUTPUT); // set the PLAY_E pin as output
}

メインループはシリアルモニタからのユーザー入力をチェックします。受信した文字に応じて、録音や再生などの適切な動作をトリガーします。

void loop() {
  while (Serial.available() > 0) {
    char inChar = (char)Serial.read();
    if (inChar == 'p' || inChar == 'P') {
      digitalWrite(PLAY_E, HIGH); // Start playback
      delay(50);
      digitalWrite(PLAY_E, LOW); // Stop playback
    }
}

この条件分岐構造により、ユーザー入力に応じてISD1820を柔軟に制御でき、必要に応じて音声の録音と再生を簡単に行えます。詳細については、記事の下に完全なコードを掲載しています。

デモンストレーション/期待できること

すべてが設定され、コードがアップロードされたら、そのリクエストを送信することで音声を録音できるはずですrシリアルモニタ経由でのコマンドおよび…を使用した再生pコマンド。期待される動作には、記録が開始・停止した時や、再生が開始・終了した時を示すメッセージがシリアルモニタに表示されることが含まれます。コードで設定されたタイミングに注意してください。例えば、記録は3秒、再生は5秒に設定されています(ビデオでは05:00)。

画像

Arduino wiring for ISD1820 voice_recorder
Arduino wiring for ISD1820 voice_recorder
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
72-This is the Arduino code and video: ISD1820 Arduino Voice Recorder
言語: C++
コピーしました!

必要かもしれないもの

リソースと参考文献

まだリソースはありません。

ファイル📁

フリッツィングファイル