2020-10-11 13:43:46 [显示全部楼层]
4385浏览
查看: 4385|回复: 27

[项目] 班级噪音检测仪

[复制链接]
本帖最后由 诩 于 2020-10-11 13:44 编辑

         大家好!我是李诩。我在DF上的名称是 DFHJM_IpFmV。秋天又来了,又到了落叶纷飞的时候了。这说明什么?
        “啊?是不是说明秋天到了啊?” 嘿,答对了一半哟! 这不仅是说明夏天到了,也说明…… 我又得受一秋天的气了
         “欸?为什么呢?”
         因为我们班上太吵了,班主任都收拾过我们了,戒尺也挂在了讲台上,可我们班的同学依然不改,老毛病继续犯!(╯▔皿▔)╯我准备整整他们,下手可不能轻!

材料清单
1x


掌控板2.0编程入门学习主控板



1x
micro:bit掌控I/O扩展板



1x
数字蜂鸣器模块(Arduino兼容)



1x
Gravity:模拟声音传感器(Arduino兼容)

1x
手机(苹果或者安卓的)

 初级技匠
 楼主|

发表于 2022-4-13 17:14:00

  1. 代码如下
  2. [mw_shl_code=c,false]/*!
  3. * MindPlus
  4. * mpython
  5. *
  6. */
  7. #include <MPython.h>
  8. #define BLYNK_PRINT Serial
  9. #define BLYNK_MAX_SENDBYTES 128
  10. #define BLYNK_USE_DIRECT_CONNECT
  11. #include <BlynkSimpleEsp32_BLE.h>
  12. #include <WidgetRTC.h>
  13. #include <BLEDevice.h>
  14. #include <BLEUtils.h>
  15. #include <BLEScan.h>
  16. #include <BLEAdvertisedDevice.h>
  17. // 创建对象
  18. WidgetLED ledV1(V1);
  19. WidgetLED ledV0(V0);
  20. // 主程序开始
  21. void setup() {
  22.         mPython.begin();
  23.         Serial.begin(9600);
  24.         Serial.println("Waiting for connections...");
  25.         Blynk.setDeviceName("ESP32 Dev Board");
  26.         Blynk.begin("inopLauyx7FI6Q2Ie7GGYQEb6_4pm_4E");
  27. }
  28. void loop() {
  29.         Blynk.run();
  30.         Blynk.virtualWrite(V0, (analogRead(P2)));
  31.         Blynk.virtualWrite(V3, (analogRead(P2)));
  32.         if (((analogRead(P2))<200)) {
  33.                 ledV1.setColor("#0015000");
  34.                 ledV1.on();
  35.                 Blynk.email("1420348213@qq.com", "Subject", "老师,班上很安静,请放心!");
  36.         }
  37.         if ((((analogRead(P2))>200) && ((analogRead(P2))<450))) {
  38.                 ledV1.setColor("#0000150");
  39.                 ledV1.on();
  40.         }
  41.         if ((((analogRead(P2))>450) && ((analogRead(P2))<1000))) {
  42.                 ledV0.setColor("#1500000");
  43.                 ledV0.on();
  44.         }
  45.         if (((analogRead(P2))>1000)) {
  46.                 ledV0.setColor("#1200030");
  47.                 ledV0.on();
  48.                 Blynk.email("1420348213@qq.com", "Subject", "老师,班上的同学又在讲话了,快过去看看吧!");
  49.         }
  50.         display.setCursor(42, 22);
  51.         display.print((analogRead(P2)));
  52.         display.fillScreen(0);
  53. }
  54. // 事件回调函数
  55. BLYNK_WRITE(V2) {
  56.         digitalWrite(P1, HIGH);
  57.         delay(1000);
  58.         digitalWrite(P1, LOW);
复制代码
回复

使用道具 举报

 初级技匠
 楼主|

发表于 2020-10-11 13:46:31

第一步 开始搭建(这里有视频,所以不多说)
第二步编程
代码如下
[mw_shl_code=c,false]/*!
* MindPlus
* mpython
*
*/
#include <MPython.h>
#define BLYNK_PRINT Serial
#define BLYNK_MAX_SENDBYTES 128
#define BLYNK_USE_DIRECT_CONNECT
#include <BlynkSimpleEsp32_BLE.h>
#include <WidgetRTC.h>
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>
// 创建对象
WidgetLED ledV1(V1);
WidgetLED ledV0(V0);


// 主程序开始
void setup() {
        mPython.begin();
        Serial.begin(9600);
        Serial.println("Waiting for connections...");
        Blynk.setDeviceName("ESP32 Dev Board");
        Blynk.begin("inopLauyx7FI6Q2Ie7GGYQEb6_4pm_4E");
}
void loop() {
        Blynk.run();
        Blynk.virtualWrite(V0, (analogRead(P2)));
        Blynk.virtualWrite(V3, (analogRead(P2)));
        if (((analogRead(P2))<200)) {
                ledV1.setColor("#0015000");
                ledV1.on();
                Blynk.email("1420348213@qq.com", "Subject", "老师,班上很安静,请放心!");
        }
        if ((((analogRead(P2))>200) && ((analogRead(P2))<450))) {
                ledV1.setColor("#0000150");
                ledV1.on();
        }
        if ((((analogRead(P2))>450) && ((analogRead(P2))<1000))) {
                ledV0.setColor("#1500000");
                ledV0.on();
        }
        if (((analogRead(P2))>1000)) {
                ledV0.setColor("#1200030");
                ledV0.on();
                Blynk.email("1420348213@qq.com", "Subject", "老师,班上的同学又在讲话了,快过去看看吧!");
        }
        display.setCursor(42, 22);
        display.print((analogRead(P2)));
        display.fillScreen(0);
}


// 事件回调函数
BLYNK_WRITE(V2) {
        digitalWrite(P1, HIGH);
        delay(1000);
        digitalWrite(P1, LOW);
}[/mw_shl_code]
回复

使用道具 举报

 初级技匠
 楼主|

发表于 2020-10-11 13:53:05

                                                                                                项目延伸
                                                                       1.可以加一个摄像头,考试时用来检测偷窥的同学。

                                                                                     2.可以按时提醒老师去班上上课。

                                                                            3.每当下课时,掌控板可以给老师相应的反馈。

项目总结

       今天的项目用到了Blynk物联网平台。

如何使用Blynk,请到:

       Mixy纯干货课程blynk使用寻找答案吧!
202010119229..png
回复

使用道具 举报

 初级技匠
 楼主|

发表于 2020-10-11 13:50:01

这是用 Mind+v1.6.5编写的图形化程序
202010117119..png
回复

使用道具 举报

 初级技匠
 楼主|

发表于 2020-10-11 13:59:20

附件稍后会发,请大家耐心等待……
回复

使用道具 举报

汤果  初级技神

发表于 2020-10-11 14:54:58

回帖奖励 +20 创造力

之前有个班的班主任买了分贝仪放在讲台上。稍微一讲话就爆表显示红色!然后学生趁老师不在就把电给拔了
回复

使用道具 举报

 初级技匠
 楼主|

发表于 2020-10-11 15:20:36

汤果 发表于 2020-10-11 14:54
之前有个班的班主任买了分贝仪放在讲台上。稍微一讲话就爆表显示红色!然后学生趁老师不在就把电给拔了{:7_ ...

分贝仪没啥用
回复

使用道具 举报

汤果  初级技神

发表于 2020-10-11 15:23:18

回帖奖励 +20 创造力


报警值设置合适还是挺有用的。超大数字显示,很明显。
回复

使用道具 举报

 初级技匠
 楼主|

发表于 2020-10-11 15:27:04

汤果 发表于 2020-10-11 14:54
之前有个班的班主任买了分贝仪放在讲台上。稍微一讲话就爆表显示红色!然后学生趁老师不在就把电给拔了{:7_ ...

主要是这个检测仪做到“班长的责任”。我给校长看了我做的这个作品,他说还不错,如果上完了课之后,这个检测仪还能给老师一个反馈就完美了
回复

使用道具 举报

汤果  初级技神

发表于 2020-10-11 15:34:25

诩 发表于 2020-10-11 15:27
主要是这个检测仪做到“班长的责任”。我给校长看了我做的这个作品,他说还不错,如果上完了课之后,这个 ...

那就要分析一节课的数据了,对你来说可能有点难哦。
回复

使用道具 举报

 初级技匠
 楼主|

发表于 2020-10-11 15:41:51

汤果 发表于 2020-10-11 15:23
报警值设置合适还是挺有用的。超大数字显示,很明显。

            那是
回复

使用道具 举报

汤果  初级技神

发表于 2020-10-11 15:43:35


可以请求老师的帮助
回复

使用道具 举报

 初级技匠
 楼主|

发表于 2020-10-11 15:47:43

汤果 发表于 2020-10-11 15:34
那就要分析一节课的数据了,对你来说可能有点难哦。

对呀,我们校长要求就这么高,我年底还得打国赛
回复

使用道具 举报

汤果  初级技神

发表于 2020-10-11 15:50:09

诩 发表于 2020-10-11 15:47
对呀,我们校长要求就这么高,我年底还得打国赛

厉害了!加油吧,小伙子
回复

使用道具 举报

 初级技匠
 楼主|

发表于 2020-10-11 15:55:23

汤果 发表于 2020-10-11 15:43
可以请求老师的帮助

    好的
回复

使用道具 举报

 初级技匠
 楼主|

发表于 2020-10-11 16:03:13

汤果 发表于 2020-10-11 15:50
厉害了!加油吧,小伙子

好的,我会尽力的(ง •_•)ง
回复

使用道具 举报

微笑的rockets  NPC

发表于 2020-10-16 15:32:30

回帖奖励 +20 创造力

https://www.dfrobot.com.cn/goods-1538.html
分贝计推荐这个传感器
回复

使用道具 举报

 初级技匠
 楼主|

发表于 2020-10-16 22:10:53

微笑的rockets 发表于 2020-10-16 15:32
https://www.dfrobot.com.cn/goods-1538.html
分贝计推荐这个传感器

好的
回复

使用道具 举报

爱编程的小付  中级技师

发表于 2020-10-19 20:51:12

回帖奖励 +20 创造力

我们的教室的屋顶上有插头,同学们都拔不掉
回复

使用道具 举报

 初级技匠
 楼主|

发表于 2020-10-21 12:27:09

爱编程的小付 发表于 2020-10-19 20:51
我们的教室的屋顶上有插头,同学们都拔不掉

呵呵o(* ̄︶ ̄*)
回复

使用道具 举报

一只小学生  中级技师

发表于 2021-8-18 13:33:35

回帖奖励 +20 创造力

诩 发表于 2020-10-11 15:27
主要是这个检测仪做到“班长的责任”。我给校长看了我做的这个作品,他说还不错,如果上完了课之后,这个 ...

用锂电池
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail