您的位置:首页 > 游戏 > 手游 > 域名领域_广告设计与制作专升本考试科目_新媒体运营岗位职责_北京seo公司有哪些

域名领域_广告设计与制作专升本考试科目_新媒体运营岗位职责_北京seo公司有哪些

2025/1/4 6:35:01 来源:https://blog.csdn.net/shaosheng2008/article/details/144653763  浏览:    关键词:域名领域_广告设计与制作专升本考试科目_新媒体运营岗位职责_北京seo公司有哪些
域名领域_广告设计与制作专升本考试科目_新媒体运营岗位职责_北京seo公司有哪些

声音传感器作为一种能够感应环境声音的模块,在物联网和智能家居中有着广泛应用。本项目结合树莓派Pico声音传感器电机模块风叶片,实现了一个简单的声控风扇系统。通过声音的强弱,用户可以控制风扇的开关,并通过Pico板的LED指示风扇状态。


一、项目目标

利用声音传感器感应周围环境的声音强度,当声音强度超过设定阈值时,控制电机模块驱动风扇旋转,并点亮树莓派Pico板上的LED。反之,当声音强度低于阈值时,风扇停止转动,LED熄灭。


二、所需元件

  1. 树莓派Pico开发板 × 1
  2. 声音传感器模块 × 1
  3. 130电机模块 × 1
  4. 三叶软桨 × 1
  5. 220Ω电阻 × 1
  6. USB线 × 1
  7. 杜邦线若干
  8. 面包板 × 1

点我获取套件


三、元件知识

1. 声音传感器

声音传感器一般由内置的电容驻极体麦克风和功率放大器组成,能够感应周围环境的声音强度。该模块提供模拟输出(S引脚),可以通过树莓派Pico的模拟输入接口采集实时的声音信号。传感器还配有电位器,用于调节灵敏度,便于设置阈值。

2. 130电机模块

该电机模块采用HR1124S电机驱动芯片,适用于低功耗、低电压的应用。它通过H桥电路控制电机的转动方向和启停。


四、电路连接

  1. 声音传感器与树莓派Pico连接

    • 声音传感器的 VCC 连接到 Pico 的 3.3V
    • 声音传感器的 GND 连接到 Pico 的 GND
    • 声音传感器的 S 引脚(模拟输出)连接到 Pico 的 GPIO28(ADC2)。
  2. 电机模块与树莓派Pico连接

    • 电机模块的 Motor_IN+ 引脚连接到 Pico 的 GPIO17
    • 电机模块的 Motor_IN- 引脚连接到 Pico 的 GPIO16
    • 电机模块的 VCC 连接到 Pico 的 5V
    • 电机模块的 GND 连接到 Pico 的 GND
  3. LED与树莓派Pico连接

    • LED的正极通过220Ω电阻连接到 Pico 的 GPIO25(内置LED引脚)。
    • LED的负极连接到 Pico 的 GND。

五、代码实现

以下代码通过声音传感器读取环境声音强度,当声音强度超过阈值时,驱动风扇转动并点亮LED,反之则停止风扇转动并熄灭LED。

//**********************************************************************************
/*  * 文件名 : 声控风扇* 描述 : 通过声音传感器控制风扇* 作者  : 
*/
#define PIN_ADC2   28  // 声音传感器的引脚
#define PIN_Motorla    17  // 电机的Motor_IN+引脚
#define PIN_Motorlb    16  // 电机的Motor_IN-引脚
#define PIN_LED    25  // Pico板上内置LED的引脚void setup() {pinMode(PIN_LED, OUTPUT);        // 设置LED为输出pinMode(PIN_Motorla, OUTPUT);    // 设置电机Motor_IN+为输出pinMode(PIN_Motorlb, OUTPUT);    // 设置电机Motor_IN-为输出pinMode(PIN_ADC2, INPUT);        // 设置声音传感器的ADC引脚为输入
}void loop() {int adcVal = analogRead(PIN_ADC2); // 读取声音传感器的ADC值if (adcVal > 600) {  // 根据阈值判断声音强度digitalWrite(PIN_LED, HIGH); // 点亮LEDdigitalWrite(PIN_Motorla, HIGH); // 电机正转,风扇启动digitalWrite(PIN_Motorlb, LOW);delay(5000);  // 延时5秒,风扇持续转动} else {digitalWrite(PIN_LED, LOW);  // 熄灭LEDdigitalWrite(PIN_Motorla, LOW); // 停止电机转动digitalWrite(PIN_Motorlb, LOW);}
}
//**********************************************************************************
代码解析
  1. 读取声音传感器:使用 analogRead(PIN_ADC2) 读取声音传感器的模拟输出值,返回0到1023之间的数字值。
  2. 判断声音强度:设置阈值(600),当声音强度超过阈值时,LED点亮并且电机开始转动。
  3. LED控制:通过 digitalWrite(PIN_LED, HIGH)LOW 控制Pico内置LED的状态,反馈风扇是否启动。

六、测试与实验现象

  1. 上传代码

    • 将代码上传到树莓派Pico。
    • 确保声音传感器与Pico正确连接,电机模块和LED按图连接。
  2. 实验现象

    • 正常情况下,当周围环境的声音强度较低时,风扇停止旋转,LED熄灭。
    • 当对声音传感器进行拍手或产生较大声音时,声音强度超过设定阈值,风扇开始转动,LED点亮。
    • 风扇在5秒后自动停止,并熄灭LED,进入待机状态。

七、总结与扩展

通过本项目,您不仅学会了如何使用声音传感器与树莓派Pico进行声音感应,还实现了一个基本的声控风扇系统。该项目具有很好的扩展性,可以与其他传感器结合,实现更复杂的智能控制。

扩展建议
  1. 声音识别:除了声音强度,还可以结合语音识别模块,实现基于特定指令的风扇控制。
  2. 多风扇控制:通过多路PWM控制多个风扇,形成更复杂的环境控制系统。
  3. 结合云平台:将数据上传到云平台,通过手机或其他设备远程控制风扇状态。

通过这个项目,您不仅学习了如何搭建声控设备的基本流程,还为将来更多嵌入式应用的开发打下了坚实的基础。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com