基于树莓派Pico和声音传感器实现声控风扇的技术分享

声音传感器作为一种能够感应环境声音的模块,在物联网和智能家居中有着广泛应用。本项目结合树莓派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); // 点亮LED
    digitalWrite(PIN_Motorla, HIGH); // 电机正转,风扇启动
    digitalWrite(PIN_Motorlb, LOW);
    delay(5000);  // 延时5秒,风扇持续转动
  } else {
    digitalWrite(PIN_LED, LOW);  // 熄灭LED
    digitalWrite(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. 结合云平台:将数据上传到云平台,通过手机或其他设备远程控制风扇状态。

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

相关推荐
沐欣工作室_lvyiyi15 小时前
基于单片机的盲人智能水杯(论文+源码)
单片机·嵌入式硬件·物联网·毕业设计·智能水杯
大河qu1 天前
HCIP-IoT 真题详解(章节D),嵌入式基础与南向开发 /Part1
物联网·传感器·liteos·华为云物联网认证·hcip-iot·nb-iot芯片
沐欣工作室_lvyiyi1 天前
基于物联网的个人健康管理系统(论文+源码)
单片机·物联网·毕业设计·健康管理
大翻哥哥1 天前
Python 2025:嵌入式系统与物联网(IoT)开发新趋势
物联网
大有数据可视化1 天前
告别传统监控:基于Unity+IoT打造沉浸式数字孪生车间
物联网·unity·游戏引擎
无垠的广袤1 天前
【LattePanda Mu 开发套件】AI 图像识别网页服务器
服务器·人工智能·python·单片机·嵌入式硬件·物联网
中科岩创2 天前
某机场工程道桥工程5号下穿通道基坑自动化监测
大数据·人工智能·物联网
ManThink Technology2 天前
无需布线,还能供电?RS-485转LoRaWAN DTU开启物联网部署新纪元
物联网
RFID舜识物联网2 天前
NFC技术如何破解电子制造领域的效率瓶颈与追溯难题
大数据·人工智能·嵌入式硬件·物联网·安全·制造
物联网软硬件开发-轨物科技2 天前
【轨物方案】变频器物联网软硬件一站式解决方案
物联网