自己做一个班级噪音检测仪
2020-10-111.7万
AI 快速预览详细
本文介绍了如何自制一个班级噪音检测仪,以解决课堂噪音问题。所需材料包括掌控板2.0、micro:bit扩展板、数字蜂鸣器模块和声音传感器。通过这些硬件的组合,可以实现对教室噪音的实时监测。这个项目不仅适合老师作为课堂管理工具,也适合学生进行动手实践,提高他们的技术能力和课堂纪律意识。
创作许可协议
本项目采用 None(不开放任何权利,保留所有权利) 进行许可。
创作许可协议
本项目采用 None(不开放任何权利,保留所有权利) 进行许可。
[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]
分贝计推荐这个传感器
1.可以加一个摄像头,考试时用来检测偷窥的同学。
2.可以按时提醒老师去班上上课。
3.每当下课时,掌控板可以给老师相应的反馈。
项目总结
今天的项目用到了Blynk物联网平台。
如何使用Blynk,请到:
Mixy纯干货课程blynk使用寻找答案吧!
第二步编程
代码如下
[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]