ITPub博客

首页 > 应用开发 > C/C++ > 先生的答录机

先生的答录机

原创 C/C++ 作者:创客达闻西 时间:2021-08-16 14:11:20 0 删除 编辑

场景一:“小懒虫,早饭给你用微波炉热好了,记得到时候吃哦,我先去上班了”
场景二:"爸妈先去上班了,桌上有零钱拿去吃早饭,记得在家写作业,把洗衣机里的衣服晾一下,自己在家要乖哦"
场景三:"今天晚上同学聚餐晚饭我就不在家吃了,吃完晚饭记得带狗狗出去散步"



以上的场景都是大家在日常生活中可能会经历的,所以我就想做一个记录这些平凡的小装置。
最近看到了一首诗:

鱼什么时候来,
是鱼的事;
先生什么时候来,
是先生的事;
先生来钓鱼,
那是先生和鱼的事,
先生的湖,
是先生和鱼的心灵居所!

所以,先生的答录机,是先生和家人的心灵居所!

功能: 按第一按钮时,录音30秒。按第二次播放刚才的30秒录音。


一、准备材料

1.硬件材料:

  • 12C录放音模块

  • LED数字开关

  • 超薄发声小喇叭

  • ESP32-E主板

  • 3节5号电池盒

  • ESP32-E扩展板

  • 杜邦线若干





二、制作过程
1.将各个模块按下图进行连接



2.安装开发板和库文件
(1)安装开发板

打开Aduino点击File——Preferences——Show verbose output during中勾选compilation和upload,再把json文件网址(如下所示)复制粘贴到Addi tional Boards Manager URLs中,然后点击页面右下角的OK关闭页面。

复制代码





  • 点击Tools——Board——Boards Manager——选择DFRobot AVR Boards板子——点击Install——安装完成后点击右下角Close关闭页面。






(2)安装录放音模块库文件: 解 压后把库文件拖入 —libraries文件目录下。

(3)烧录程序

  1. #include "DFRobot_VoiceRecorder.h"

  2.  

  3. #define I2C_ADDRESS  (0x30)

  4. DFRobot_VoiceRecorder_I2C voicerecorder(&Wire, I2C_ADDRESS);

  5. uint8_t buttonPin=D10; 

  6. bool playing=false;

  7. void record(){

  8.   if((digitalRead(buttonPin)==HIGH)&&(playing==false))//When you press the button

  9.  {

  10.   voicerecorder.setVoiceNumber(VOICE_NUMBER_2);//Select Audio NO.2

  11.   voicerecorder.deleteVoice();

  12.   Serial.println("Delete Voice");

  13.   voicerecorder.recordvoiceStart();

  14.   Serial.println("Recode Start");

  15.   for (int8_t n = 20; n > 0; n--)

  16.   {

  17.     Serial.println(n);

  18.     delay(1000);

  19.   }

  20.   voicerecorder.recordVoiceEnd();//Recode End

  21.   Serial.println("Recode End");

  22.   playing=true;

  23.   }

  24. }

  25. void play(){

  26.   if((digitalRead(buttonPin)==LOW)&&(playing==true))//release the button

  27.   {

  28.   voicerecorder.setVoiceNumber(VOICE_NUMBER_2);//Select Audio NO.2

  29.   voicerecorder.playVoiceStart();

  30.   Serial.println("play recording");

  31.   for (int8_t n = 22; n > 0; n--)

  32.   {

  33.     Serial.println(n);

  34.     delay(1000);

  35.   }

  36.   playing=false;

  37.   }

  38. }

  39. void setup() {

  40.   pinMode(buttonPin,INPUT);  

  41.   Serial.begin(115200);

  42.   while (voicerecorder.begin() != 0)

  43.   {

  44.     Serial.println("i2c device number error!");

  45.     delay(1000);

  46.   }

  47.   Serial.println("i2c connect success!");

  48. }

  49. void loop() {

  50.   record();

  51.   play();

  52. }


三、组装



1.设计外壳并用木板切割

模型文件看这里---


2.组装外观

论:把大象装进冰箱要几步?
第一步:把冰箱门打开


第二步:把大象放进去


第三步:把冰箱门关上


好了,现在大象就在这个小盒子里,它似乎很生气,鼻子都气红了。


现在就对大象说你最想说的话,它会一直保密,直到对方按下按钮,让大象说给她听。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70005204/viewspace-2787144/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
因为我们淋过雨,所以更想为别人撑一把伞。

注册时间:2021-08-12

  • 博文量
    7
  • 访问量
    4411