Arduino制御 ISD1820 ボイスレコーダー&再生システム
必要な部品と材料
| 部品 | 詳細 | 数量 |
|---|---|---|
| Arduino UNO | 1 | |
| ISD1820 音声録音モジュール | 1 | |
| スピーカー 0.25W 8Ω | 1 | |
| ジャンパーワイヤー | 6 |
このプロジェクトについて
アイデアの背景
音声録音・再生デバイスを探していたところ、約3ドルのISD1820を見つけました。単体で録音/再生ボタン操作が可能ですが、Arduinoから制御して録音・再生を自動化したくなりました。初心者向けの入門プロジェクトですが、応用次第で大規模システムにも展開できます。詳細は gadgetprogrammers.online を参照してください。
動作原理
ISD1820は最大20秒の録音が可能(SDカード併用で保存も可)。本プロジェクトではシリアルモニターから 'r' で録音開始、'p' で再生開始を制御します。
主なピン機能
- VCC — 3.3V電源
- GND — グラウンド
- REC — HIGHで録音開始(HIGH維持中録音継続)。再生優先
- PLAYE — エッジトリガー再生。立ち上がりで再生開始、EOMまたはメモリ末尾で停止
- PLAYL — レベルトリガー再生。LOW→HIGHで再生開始
- SP+/SP- — 8Ω以上のスピーカー直駆動
- MIC — マイク入力(オンチッププリアンプ内蔵)
- FT — フィードスルー(マイク音をスピーカー直通し)
- P-E — エンドレス再生
配線方法
- VCC → Arduino 5V
- GND → Arduino GND
- FT → Arduino D5
- PLAYL (PL) → Arduino D4
- PLAY_E (P-E) → Arduino D3
- REC → Arduino D2
サンプルコード
Sample 1: ユーザー操作で録音/再生
/* ISD1820 Arduino Voice Recorder
* https://www.gadgetprogrammers.online
* Anshul Pareek, 2018/06/06
*/
#define REC 2
#define PLAY_E 3
#define FT 5
#define playTime 5000
#define recordTime 3000
void setup() {
pinMode(REC, OUTPUT);
pinMode(PLAY_E, OUTPUT);
pinMode(FT, OUTPUT);
Serial.begin(9600);
}
void loop() {
while (Serial.available() > 0) {
char inChar = (char)Serial.read();
if (inChar == 'p' || inChar == 'P') {
digitalWrite(PLAY_E, HIGH);
delay(50);
digitalWrite(PLAY_E, LOW);
Serial.println("Playback Started");
delay(playTime);
Serial.println("Playback Ended");
break;
} else if (inChar == 'r' || inChar == 'R') {
digitalWrite(REC, HIGH);
Serial.println("Recording started");
delay(recordTime);
digitalWrite(REC, LOW);
Serial.println("Recording Stopped");
}
Serial.println("###Serial Monitor Exited");
}
Serial.println("### Enter r to record, p to play");
delay(500);
}
Sample 2: 自動録音3秒→自動再生5秒の繰り返し
#define REC 2
#define PLAY_E 3
#define FT 5
#define playTime 5000
#define recordTime 3000
#define playLTime 900
void setup() {
pinMode(REC, OUTPUT);
pinMode(PLAY_E, OUTPUT);
pinMode(FT, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(REC, HIGH);
delay(recordTime);
digitalWrite(REC, LOW);
digitalWrite(PLAY_E, HIGH);
delay(50);
digitalWrite(PLAY_E, LOW);
delay(playTime);
delay(500);
}
今後の展開
音声をSDカードに保存して後で再生したり、トランシーバーのような用途にも応用可能です。アイデア次第で広がります!
回路図
配線図2枚を参照してください。
製造プロセス
- 運河と閘門:米国水上輸送のエンジニアリング、歴史、そして未来
- 弓矢の進化と職人技:古代狩猟から現代エンジニアリングへ
- LPレコード製造の芸術とプロセス
- スクラッチ&スニッフ:マイクロカプセル香料印刷の科学と技術
- バター対マーガリン:歴史、製造、健康への洞察
- Raspberry Piで構築する空気質・気象ステーション:InfluxDB & Grafana活用
- DIY自家醸造温度制御:Arduinoで監視・調節
- DIY 低コストグローブコントローラー & プロペラカー – 自分だけの Arduino ハンドコントローラーを作ろう
- 倉庫ボイスアプリが注文と作業員を守る:4つの主要メリット
- モビリティで製造業を変革:データ、音声、ビデオ、位置情報ソリューション
- エッジAIと低消費電力ハードウェアが音声制御の台頭を支える