arduino 停止程序_Arduino用ISD1820语音录放模块制作留言机
随着智能手机的发展,留言机这样类似简单的低端产品变得有些多余,没有那么实用,但是在某些场合仍然有利用的价值。如在没网络的地方,或是快递员给家里送了快递,给家中的老人小孩留一段言,用另一种新奇的方式来留言,别有一番乐趣!
一、总体设计思路
主要依赖于硬件语音录放模块ISD1820,该模块扩展出了IO口可以用单片机来控制录音和放音操作。所以总体在编写程序上就显得很简单了,增加两个按键开关用于录音和放音操作,以及一个LCD1602液晶显示屏,我们只用写按下录音键和放音键控制语音模块IO口的高低电平状态以及显示屏的逻辑就能实现相应功能。
二、电路连接
ISD1820语音录放模块简介:
ISD1820芯片采用CMOS技术,内含振荡器、话筒前置放大、自动增益控制、防混淆滤波器、平滑滤波器、扬声器驱动及FLASH阵列。最小的录放系统仅需麦克风、喇叭、两个按钮、3V电源及少数电阻电容。在录放操作结束后,芯片自动进入低功耗节电模式,功耗仅0.5μA。芯片采用多电平直接模拟量储存专利技术(DAST),每个采样值直接储存在片内FLASH单元中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和金属声。ISD1820的声音采样频率可通过外接震荡电阻来调节,从3.7KHZ到8KHZ对应不同的录音时间和频带宽度。片内信息可保存100年(无需后备电源),FLASH单元可反复录音1万次。
VCC:直流电源3-5v
GND:接地
REC键:录音按键,按住就能录音,松开按键停止录音;
PLAYE键(P-E):触发模式放音,按一下就播放当前整段的语音;
PLAYL键(P-L):点动模式放音,按住才放音,松开就停止放音;
FT跳线:直通控制,可使咪头语音直通到喇叭放音;
注意:单片控制REC端口高电平开始录音,P-L端口高电平放音,反之低电平不工作。
LCD1602液晶显示屏模块简介:
这里用的是IIC协议连接,屏后转接板有sda和scl数据和时钟引脚,连接在Arduino板上A4和A5即可,使用时只需选好地址初始化即可,很简单。一共两排,每排能显示16个字符。
总体连接:
三、代码部分
#include #include //液晶显示屏库LiquidCrystal_I2C mylcd(0x27,16,2); //建立液晶显示对象,传递地址、字符、行数参数初始化void setup(){ pinMode(4, INPUT); //按键录音 pinMode(3, OUTPUT);//ISD1820的REC端口 pinMode(5, INPUT);//按键放音 pinMode(2, OUTPUT);//ISD1820的P-l端口 mylcd.init();//初始化LCD显示屏 mylcd.backlight();//打开背光 mylcd.clear();//清屏 digitalWrite(2,LOW); digitalWrite(3,LOW);}void loop(){ if (digitalRead(4) == HIGH) {//按下按键开始录音,显示屏显示字符 while (digitalRead(4) == HIGH) { //”writing the voice....” mylcd.setCursor(1-1, 1-1); mylcd.print("writing the "); mylcd.setCursor(1-1, 2-1); mylcd.print("voice...."); digitalWrite(3,HIGH); } digitalWrite(3,LOW); while (digitalRead(5) == LOW) {//松开按键显示字符“have messages to listen” mylcd.setCursor(1-1, 1-1); mylcd.print("have messages"); mylcd.setCursor(1-1, 2-1); mylcd.print("to listen."); if (digitalRead(5) == HIGH) { break; } } delay(50); } else { digitalWrite(3,LOW); mylcd.clear(); mylcd.setCursor(1-1, 1-1); mylcd.print("answer maching"); } if (digitalRead(5) == HIGH) { //按下按键放音,显示屏显示字符“reading the voice......” while (digitalRead(5) == HIGH) { mylcd.setCursor(1-1, 1-1); mylcd.print("reading the "); mylcd.setCursor(1-1, 2-1); mylcd.print("voice......"); digitalWrite(2,HIGH); digitalWrite(3,LOW); } } else { mylcd.setCursor(1-1, 1-1); mylcd.print("answer maching"); digitalWrite(2,LOW); }}
代码部分相当简单,附Mixly图形化编程代码,可用来指导学生教学
注:本案例已经用来指导学生参加竞赛,切勿原装抄袭,可改进!
来都来了就关注一哈嘛
arduino 停止程序_Arduino用ISD1820语音录放模块制作留言机相关推荐
- ISD1820c语言程序,DIY制作ISD1820语音录放/喊话器,附原理图/PCB/BOM/程序
本设计分享的是DIY制作ISD1820语音录放/喊话器全套资料,见附件下载其原理图/PCB/BOM/单片机控制ISD1820录放模块程序等.ISD1820语音录放/喊话器可用51单片机控制,使用方便的 ...
- 简单好用的ISD1820语音录放芯片
喜欢请关注微信公众号:嵌入式从0到1 公众号内容面向在校大学生.电子爱好者.嵌入式工程师: 涉及电子制作.模块使用.单片机技术.物联网相关知识分享: 软硬件全栈工程师,玩模块,学硬件,带你从0走到1 ...
- arduino 停止程序_Arduino 中断
中断(interrupt)停止Arduino的当前工作,以便可以完成一些其他工作. 假设你坐在家里和别人聊天.突然电话响了.你停止聊天,拿起电话与来电者通话.当你完成电话交谈后,你回去和电话响之前的那 ...
- arduino 停止程序_极路由1S OpenWrt开机自启程序及串口调试
如何给openwrt添加启动项?首先在/etc/init.d中创建一个文件,在CRT终端中直接用vi命令即可,自行创建startCamera文件,如下图所示. vi编辑器中输入下图所示内容,START ...
- arduino 停止程序_建立Arduino机器人,第五部分:障碍规避
欢迎阅读教程系列的第五篇文章,其中我正在构建一个基于遥控Arduino的车辆机器人. 这是我到目前为止发表的文章列表: 第一部分:硬件组件 第二部分:Arduino编程 第三部分:组装机器人 第四部分 ...
- arduino电风扇程序_Arduino实验项目:温控电风扇
这个实验是用Arduino控制电风扇的工作,当气温达到某一设定值它打开风扇为你送来凉风:气温下降以后就停止工作,避免你受凉.在实验中我们可以学会读取模拟量输入值的函数analogRead()使用方法. ...
- arduino 停止程序_Arduino-常用指令
pinMode(LEDPin,OUTPUT); //设置引脚模式 参数1 引脚 参数2 OUTPUT 输出:INPUT 输入 用在setup()函数里 digi ...
- 基于STM32单片机的语音播报超声波测距系统【ISD1820录放模块继电器蜂鸣器扬声器】
系统功能 使用STM32开发板,先用红外测试是否有遮挡,如果有,则使用超声波测距.如果是0-80cm之间,则打开蜂鸣器.灯.喇叭播放"当心车门开启",震动马达震动(以上持续1分钟) ...
- arduino 蓝牙示例_Arduino简单实例之八_蓝牙模块
1) 说明: 蓝牙模块用于和手机或其它带蓝牙的设备通讯.蓝牙设备分为主从两种模式,作为主设备时,它查找和连接其它设备:作为从设备时只能被只它设备连接:通讯模式分透明传输和AT命令模式.最好 ...
- ISD1820语音模组的使用
ISD1820语音模组的使用 ISD1820芯片 主要特性 引脚信息 ISD1820语音模组 电路图 简略的使用方法 ISD1820芯片 ISD1820是美国ISD公司于2001年最新推出一种单片8〜 ...
最新文章
- ControllerDescriptor的认识
- 问价已损坏 文件服务器,由于检查点文件 (.chk) 丢失或已损坏,无法打开数据库...
- 面向对象编程(一)——面向对象和面向过程
- 公司--下载svg图片
- 热门剧本杀与 SaaS 的不解之缘
- 通过配置host文件实现本地域名任意设置
- 系统自带不起眼但很强杀毒工具
- jquery和prototype冲突解决
- informix sybase数据库下载地址
- 文献管理软件工具讲解-------阿冬专栏!!!
- GIS应用技巧之景观格局分析(三)
- 陌上红尘,可有摆渡人?
- TransUNet阅读笔记与训练尝试
- NetXpert XG解决方案迎接新挑战!
- 手把手教你学python第十三讲(MRO详解和神奇的魔法方法)
- 最近比较火的古风姓氏头像小程序源码
- oracle账号共享,登陆后可下载mysql和jdk
- FLASH--M25P40/M25P10
- 半导体器件物理【11】载流子输运现象 —— 散射率Ρ、迁移率μ、电阻率ρ(电导率σ)、砷化镓
- 51单片机教程:按键的定时器消抖(有延时的程序不是好程序)
热门文章
- Windows 7 通过无线网卡,模拟Wifi,实现手机,电脑等无线设备共享上网
- display: inline-block;为什么会撑开父div
- 7.数据中台 --- 数据开发:数据体系建设
- 9.携程架构实践 --- 网站高可用
- 6.性能之巅 洞悉系统、企业与云计算 --- CPU
- 3.中小型企业通用自动化运维架构 -- Ansible playbook
- 2.mongoDB 命令
- 13.Linux/Unix 系统编程手册(上) -- 文件IO缓冲
- TestComplete自动化测试视频教程
- ThinkPHP在IIS下配置ISAPI伪静态去掉index.php