自己做一个班级噪音检测仪

2020-10-111.7万
AI 快速预览详细 收起
本文介绍了如何自制一个班级噪音检测仪,以解决课堂噪音问题。所需材料包括掌控板2.0、micro:bit扩展板、数字蜂鸣器模块和声音传感器。通过这些硬件的组合,可以实现对教室噪音的实时监测。这个项目不仅适合老师作为课堂管理工具,也适合学生进行动手实践,提高他们的技术能力和课堂纪律意识。


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

材料清单
1x


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



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



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



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

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

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(12)
糖醋花生
糖醋花生
如果同学回答问题被看成说话……
诩
作者
回复糖醋花生
好问题(
糖醋花生
糖醋花生
这个项目好,老师的福音
诩
作者
班级噪音检测仪2.0——天眼小智已更新完成
诩
作者
[code]代码如下
[mw_shl_code=c,false]/*!
* MindPlus
* mpython
*
*/
#include
#define BLYNK_PRINT Serial
#define BLYNK_MAX_SENDBYTES 128
#define BLYNK_USE_DIRECT_CONNECT
#include
#include
#include
#include
#include
#include
// 创建对象
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);[/code]
风悠扬0539
风悠扬0539
厉害了,班主任的福利神器
爱编程的小付
爱编程的小付
我们的教室的屋顶上有插头,同学们都拔不掉
诩
作者
回复爱编程的小付
呵呵o(* ̄︶ ̄*)
微笑的rockets
微笑的rockets
https://www.dfrobot.com.cn/goods-1538.html
分贝计推荐这个传感器
诩
作者
回复微笑的rockets
好的
汤果
汤果
之前有个班的班主任买了分贝仪放在讲台上。稍微一讲话就爆表显示红色!然后学生趁老师不在就把电给拔了
诩
作者
回复一只小学生
当时没考虑到锂电池这玩意儿
一只小学生
一只小学生回复
用锂电池
共12条回复,已加载2条,点击查看更多共12条回复,已加载全部
诩
作者
附件稍后会发,请大家耐心等待……
诩
作者
项目延伸
1.可以加一个摄像头,考试时用来检测偷窥的同学。
2.可以按时提醒老师去班上上课。
3.每当下课时,掌控板可以给老师相应的反馈。
项目总结
今天的项目用到了Blynk物联网平台。
如何使用Blynk,请到:
Mixy纯干货课程blynk使用寻找答案吧!
诩
作者
这是用 Mind+v1.6.5编写的图形化程序
诩
作者
第一步 开始搭建(这里有视频,所以不多说)
第二步编程
代码如下
[mw_shl_code=c,false]/*!
* MindPlus
* mpython
*
*/
#include
#define BLYNK_PRINT Serial
#define BLYNK_MAX_SENDBYTES 128
#define BLYNK_USE_DIRECT_CONNECT
#include
#include
#include
#include
#include
#include
// 创建对象
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]
- 没有更多了 -