亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

DIY 自动录音和回放

组件和用品

Arduino UNO
× 1
isd1820
× 1
扬声器:0.25W,8 ohms
× 1
跳线(通用)
× 6

关于这个项目

背后的想法!

我在互联网上玩杂耍寻找可以录制语音并再次播放的设备。我发现了 ISD1820,它非常合理(仅 3 美元),并且可以使用一些 rec 单独录制声音。和播放按钮。我需要使用 Arduino 来控制这个设备,我的意思是只通过 Arduino 录制和播放语音。

该项目仅适用于初学者和想要了解 ISD1820 与 Arduino 的功能的人,但您可以将其扩展到非常大的意义。

您应该访问 www.gadgetprogrammers.online 以获得完整的描述和新的想法。

工作原理!

首先,我们只是通过ISD1820录制语音,它可以录制一次20秒(你也可以将语音存储在sd卡中),你可以反复播放。所以在这里我们在用户在串行监视器中按“r”时录制语音,并在用户在串行监视器中按“p”时播放。

所以这就是我们系统的全部工作

.

下面是引脚工作(你可以跳过它):

  • VCC– 3.3V 电源
  • GND——电源地
  • REC – REC 输入是一个高电平有效的录音信号。每当 REC 为高电平时,模块就开始录制。该引脚必须在录制期间保持高电平。 REC 优先于播放(PLAYL 或 PLAYE)信号。
  • PLAYE – 播放,边沿激活:当检测到高电平转换时,将继续直到遇到消息结束 (EOM) 标记或到达内存空间的末尾。
  • PLAYL – 播放,电平激活,当此输入引脚电平从低电平变为高电平时,开始播放周期。
  • 扬声器输出 – SP+ 和 SP- 引脚为阻抗低至 8Ω 的扬声器提供直接驱动。
  • MIC – 麦克风输入,麦克风输入将其信号传输到片上前置放大器。
  • FT – 馈通:此模式使麦克风能够直接驱动扬声器。
  • P-E – 无休止地播放唱片。

加油!

请连接如下:

  • VCC => Arduino 5v
  • GND => Arduino GND
  • FT => Arduino 引脚 5
  • 播放 L (PL) => Arduino pin 4
  • PLAY_E(P-E) => Arduino 引脚 3
  • REC => Arduino 引脚 2

以上引脚上传代码SAMPLE1后:

示例 1:如果您希望用户决定录音

示例 2:自动录制 3 秒语音并播放 5 秒。

示例 1:

/** ISD1820 Arduino Voice Recorder* 使用 Arduino 和 ISD1820 Sound Recorder* 录制和播放声音* 从 https://www.gadgetprogrammers.online/** ISD1820 Arduino Voice Recorder* 获得此代码Anshul Pareek 出于教育目的* 2018 年 6 月 6 日晚上 11:20,*/#define REC 2 // 引脚 2 用于录制#define PLAY_E 3 // 引脚 3 用于播放边缘触发#define FT 5 // 引脚 5 用于馈通 // 不会录制#define playTime 5000 // 播放时间 5 秒#define recordTime 3000 // 录制时间 3 秒,您可以将时间延长至 10 秒void setup() { pinMode( REC,OUTPUT);//设置REC管脚为输出pinMode(PLAY_E,OUTPUT);//设置PLAY_e管脚为输出pinMode(FT,OUTPUT);//设置FT管脚为输出 Serial.begin(9600); // 设置串口监视器 }void loop() { while (Serial.available()> 0) { char inChar =(char)Serial.read(); if(inChar =='p' || inChar =='P'){ digitalWrite(PLAY_E, HIGH);延迟(50);数字写入(PLAY_E,低); Serial.println("播放开始");延迟(播放时间); Serial.println("播放结束");休息; } else if(inChar =='r' || inChar =='R'){ digitalWrite(REC, HIGH); Serial.println("录音开始");延迟(记录时间);数字写入(记录,低); Serial.println("录音停止"); } Serial.println("###串行监视器退出"); }// wihileSerial.println("### Enter r to record, p to play");延迟(500);} 

示例 2:

#define REC 2 // 引脚 2 用于录音#define PLAY_E 3 // 引脚 3 用于播放边缘触发 // 当 PLAY_E 变为高电平时,设备将开始播放并继续#define FT 5 / / pin 5 用于馈通#define playTime 5000 // 播放时间 5 秒#define recordTime 3000 // 录音时间 3 秒#define playLTime 900 // 按下和释放播放时间 0.9 秒void setup() { pinMode(REC,OUTPUT );//设置REC管脚为输出pinMode(PLAY_E,OUTPUT);//设置PLAY_e管脚为输出pinMode(FT,OUTPUT);//设置FT管脚为输出Serial.begin(9600);//设置up 串行监视器 }void loop() { digitalWrite(REC, HIGH);延迟(记录时间);数字写入(记录,低);数字写入(PLAY_E,高);延迟(50);数字写入(PLAY_E,低);延迟(播放时间);延迟(500);} 

所以现在你已经建立了整个系统,快点!

未来范围:

可以 录制语音并将其存储在 SD 卡中以备将来使用,您可以创建对讲机等等..... 随您的想象:)

如果你喜欢请分享.......:)

请访问并推广我们,以便我们为您构建新项目 www.gadgetprogrammers.online

代码

  • 示例 1
  • 示例 2
示例 1Arduino
请将此代码粘贴到 ARDUINO 中并在连接构建后运行。
/** ISD1820 Arduino 录音机* 使用 Arduino 和 ISD1820 录音机录制和播放声音* 从 https://www.gadgetprogrammers.online/* 获取此代码* ISD1820 Arduino 录音机* 由 Anshul Pareek 编写的用于教育目的的代码* 2018 年 6 月 6 日晚上 11:20,*/#define REC 2 // 引脚 2 用于录音#define PLAY_E 3 // 引脚 3用于播放边沿触发#define FT 5 // 引脚 5 用于馈通 // 不会录制#define playTime 5000 // 播放时间 5 秒#define recordTime 3000 // 录制时间 3 秒可以延长时间upto 10 secondsvoid setup() { pinMode(REC,OUTPUT);//设置REC pin为输出pinMode(PLAY_E,OUTPUT);//设置PLAY_e pin为输出pinMode(FT,OUTPUT);//设置FT pin as output Serial.begin(9600);// 设置串口监视器 }void loop() { while (Serial.available()> 0) { char inChar =(char)Serial.read(); if(inChar =='p' || inChar =='P'){ digitalWrite(PLAY_E, HIGH);延迟(50);数字写入(PLAY_E,低); Serial.println("播放开始");延迟(播放时间); Serial.println("播放结束");休息; } else if(inChar =='r' || inChar =='R'){ digitalWrite(REC, HIGH); Serial.println("录音开始");延迟(记录时间);数字写入(记录,低); Serial.println("录音停止"); } Serial.println("###串行监视器退出"); }// wihileSerial.println("### Enter r to record, p to play");延迟(500);} 
SAMPLE 2Arduino
连续录音 3 秒。并播放 5 秒
#define REC 2 // 引脚 2 用于录制#define PLAY_E 3 // 引脚 3 用于播放边缘触发 // 当 PLAY_E 变为高电平时,设备将开始播放并继续#define FT 5 // 引脚 5 用于馈通#define playTime 5000 // 播放时间 5 秒#define recordTime 3000 // 录制时间 3 秒#define playLTime 900 // 按下和释放播放时间 0.9 秒void setup() { pinMode(REC ,OUTPUT);//设置REC管脚为输出pinMode(PLAY_E,OUTPUT);//设置PLAY_e管脚为输出pinMode(FT,OUTPUT);//设置FT管脚为输出Serial.begin(9600);/ / 设置串行监视器 }void loop() { digitalWrite(REC, HIGH);延迟(记录时间);数字写入(记录,低);数字写入(PLAY_E,高);延迟(50);数字写入(PLAY_E,低);延迟(播放时间);延迟(500);}

示意图


制造工艺

  1. 运河和船闸
  2. 弓箭
  3. LP 记录
  4. 抓挠和嗅嗅
  5. 黄油和人造黄油
  6. 制造移动性:数据、语音、视频和位置
  7. 语音控制的算法和硬件功率提升
  8. 瑞萨电子和 Syntiant 提供联合语音控制视觉 AI 解决方案
  9. DIY 环境和空气质量监测器
  10. DIY:HomeBrew 的温度监控和调节
  11. DIY 廉价手套控制器和螺旋桨车
  12. 仓库语音应用保护订单和工人的四种方式