|
|
(未显示7个用户的97个中间版本) |
第1行: |
第1行: |
− | {| style="width: 800px;"
| + | === 详细内容 === |
− | |-
| |
− | |
| |
− | [WIP,waiting for assembling instructions]
| |
− | ==概述== | |
− | *项目名称:Microduino开源声音分贝检测仪
| |
− | *目的:监测噪声,超过阈值可报警
| |
− | *难度:中
| |
− | *耗时:1小时
| |
− | *制作者:
| |
− | *简介:
| |
− | 本次教程我们将使用Microduino产品模块快速搭建一个噪声监测仪。它能够检测出持续的噪音并使用蜂鸣器和LED彩灯报警,并将噪声的分贝值显示在OLED屏幕上。
| |
| | | |
− | [[File:噪theo.jpg||600px|center]] | + | 此部分内容维基现已停止维护,该部分的详细内容全部转移至IdeaLab网站上,请移步[https://www.idealab.cc/course/5a69513f8459d000199e6cca/class/5a584cd4fec664000f6a7c65 分贝检测仪——制作]上进行查看。以下是IdeaLab访问流程。 |
− | ==材料清单==
| |
− | *Microduino设备
| |
− | {|class="wikitable"
| |
− | |-
| |
− | |模块||数量||功能
| |
− | |-
| |
− | |[[Microduino-Core/zh]]||1||核心板
| |
− | |-
| |
− | |[[Microduino-USBTTL/zh]] ||1||下载程序
| |
− | |-
| |
− | |[[Microduino-Buzzer/zh]](with shield) ||1||蜂鸣器,报警
| |
− | |-
| |
− | |[[Microduino-OLED/zh]] ||1||显示当前分贝值
| |
− | |-
| |
− | |[[Microduino-Duo-v/zh]] ||1||降低整体高度
| |
− | |-
| |
− | |[[Microduino-Sound/zh]] ||1||采集声音
| |
− | |-
| |
− | |[[Microduino-Color led/zh]] ||1||报警闪烁
| |
− | |}
| |
− | *其他设备
| |
− | {|class="wikitable"
| |
− | |-
| |
− | |模块||数量||功能
| |
− | |-
| |
− | |Micro-USB线 ||1||下载程序、供电
| |
− | |-
| |
− | |木质外壳套件 ||1||外观,固定
| |
− | |}
| |
| | | |
− | ==实验原理== | + | == IdeaLab访问流程 == |
− | 通过声音传感器采集环境中声音的大小,当声音持续高于分贝阈值时则LED彩灯点亮同时Buzzer发出报警音。需要关闭报警时则按下滑轮开关。OLED屏幕实时显示当前环境中声音的分贝值
| + | '''1、打开网址([http://www.idealab.cc/ https://www.idealab.cc/])。''' |
− | [[File:噪1.jpg||600px|center]] | |
− | *主要传感器
| |
− | [[Microduino-Sound/zh]]
| |
− | ==文档==
| |
− | 百度盘地址:http://pan.baidu.com/s/1jHlCkdS
| |
− | 提取码:hxa5
| |
| | | |
− | ==调试过程==
| + | '''2、点击右上角登录按钮。''' |
− | 将[[Microduino-Core]]与[[Microduino-USBTTL]]叠加(无上下顺序),通过USB数据与电脑连接起来。
| |
− | 注意:最好不要将所有模块堆叠在一起之后再上传程序
| |
− | [[File:download1.jpg||400px|center]]
| |
− | 打开Arduino IDE编程软件,点击 【文件】->【打开】,打开插卡音箱文件夹后选择DBDetector\ DBDetector.ino
| |
− | 点击"√",编译程序。
| |
− | 点击【工具】,选择正确的板+处理器+端口。
| |
− | 点击"→",进行上传。
| |
− | [[Dbselect.jpg||600px|center]]
| |
| | | |
− | ==组装==
| + | [[文件:1.png]] |
| | | |
− | ==注意事项==
| + | '''3、登录/注册账号。''' |
| | | |
− | ==操作说明==
| + | [[文件:2.png]] |
| | | |
− | ==程序说明==
| + | '''4、点击课程,在课程列表中找到《Microduino创新编程》课程并点击打开。''' |
− | 蜂鸣器报警部分
| |
− | <source lang = "cpp">
| |
− | void buzzer() {
| |
− | if (millis() - timer > 10) {
| |
− | if (!add) {
| |
− | i++;
| |
− | if (i >= 800)
| |
− | add = true;
| |
− | } else {
| |
− | i--;
| |
− | if (i <= 200) {
| |
− | add = false;
| |
− | }
| |
− | }
| |
− | tone(buzzer_pin, i);
| |
− | timer = millis();
| |
− | }
| |
− | }
| |
− | </source>
| |
− | OLED显示部分
| |
− | <source lang="cpp">
| |
− | void OLEDShow()
| |
− | {
| |
− | u8g.firstPage();
| |
− | do
| |
− | {
| |
− |
| |
− | u8g.drawXBMP( 64, 1, 64, 64, DB);
| |
− |
| |
− | setFont_M;
| |
− | u8g.setPrintPos(5, 50);
| |
− | u8g.print(db);
| |
− | //u8g.print(recodeDB);
| |
− | }
| |
− | while( u8g.nextPage() );
| |
− | }
| |
− | </source>
| |
− | 声音采集部分
| |
− | <source lang="cpp">
| |
− | void getDB()
| |
− | {
| |
− | voice_data = analogRead(mic_pin);
| |
− | voice_data = map(voice_data, 0, 1023, 0, 5);
| |
− | db = (20. * log(10)) * (voice_data / 1.0);
| |
− | if(db > recodeDB)
| |
− | {
| |
− | recodeDB = db;
| |
− | }
| |
− | Serial.println(db);
| |
− | }
| |
− | </source>
| |
| | | |
− | ==视频==
| + | [[文件:8.png]] |
| + | |
| + | '''5、点击“报名学习”。''' |
| + | |
| + | [[文件:9.png]] |
| + | |
| + | '''6、输入姓名。''' |
| + | |
| + | [[文件:5.png]] |
| + | |
| + | '''7、点击“课程目录”。''' |
| + | |
| + | [[文件:10.png]] |
| + | |
| + | '''8、选择相应课程进行学习。''' |
| + | |
| + | [[文件:11.png]] |