亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

声控 8 路 LED 灯光秀:Arduino 入门项目

元器件清单

元器件数量备注
Arduino UNO1主控板
全尺寸无焊面包板1用于电路搭建
5mm 红色 LED3
5mm 黄色 LED2
蓝绿色 LED2
220Ω 电阻8每个 LED 串联一个
SparkFun 声音检测模块(含排针)1模拟输出,灵敏度可调

所需软件

项目简介

这是一个适合初学者的 Arduino 声控灯光项目。通过声音传感器检测环境声音强度,控制 8 个不同颜色的 LED 依次点亮,形成类似频谱仪的视觉效果。项目代码简单易懂,适合初学者理解模拟信号读取、串口调试和条件判断等基础概念。

声控 8 路 LED 灯光秀:Arduino 入门项目
面包板接线实物图
声控 8 路 LED 灯光秀:Arduino 入门项目
完成后的实物效果

工作原理

声音检测模块输出模拟电压值(0-1023),Arduino 通过 A0 引脚读取该值。根据预设的阈值,依次点亮对应的 LED:声音越大,点亮的 LED 越多。每个 LED 的触发阈值可在代码中单独调整。声音传感器上的蓝色电位器可调节灵敏度。

声控 8 路 LED 灯光秀:Arduino 入门项目
串口监视器显示的声音传感器数值,用于确定阈值

核心代码

/* 
 * 声控 8 LED 灯光秀
 * 作者:Mantas Utka
 */
int ledPin[8] = {13, 12, 11, 10, 9, 8, 7, 6}; // 8 个 LED 引脚
int sensorPin = A0; // 声音传感器模拟输入引脚
int val = 0;        // 存储读取的模拟值
// 各 LED 触发阈值(可根据实际情况调整)
int threshold[8] = {127, 378, 505, 632, 759, 886, 980, 1000};

void setup() {
  for (int i = 0; i < 8; i++) {
    pinMode(ledPin[i], OUTPUT);
  }
  pinMode(sensorPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  val = analogRead(sensorPin);
  Serial.println(val); // 串口打印数值,便于调试阈值

  for (int i = 0; i < 8; i++) {
    if (val >= threshold[i]) {
      digitalWrite(ledPin[i], HIGH);
    } else {
      digitalWrite(ledPin[i], LOW);
    }
  }
}

代码优化说明

调试技巧

  1. 打开串口监视器(波特率 9600),观察安静环境下的基准值
  2. 拍手或播放音乐,观察数值变化范围
  3. 根据观察到的数值范围,修改 threshold 数组中的值
  4. 拧动声音传感器上的蓝色电位器调节灵敏度

制造工艺

  1. 木琴:从非洲古老起源到现代管弦乐完美
  2. 黑胶唱片LP制作的艺术与工艺
  3. 发光二极管:从诞生到百年寿命
  4. Arduino复刻“棺材舞”旋律:蜂鸣器+三色LED灯光秀完整教程
  5. 用 Arduino Mega 制作惊艳的 5×5×5 LED 光立方
  6. Arduino + HC-05 蓝牙控制 LED:MIT App Inventor 手机 App 开发全攻略
  7. 从零构建智能 Arduino 四足机器人:完整指南
  8. 使用 Arduino Nano 33 BLE Sense 实现音频数据传输
  9. 扬声器极性反转演示声波抵消实验
  10. LED vs 白炽灯工业照明:能效与 ROI 终极指南
  11. 英飞凌 NLM0011/NLM0010:NFC 使能无接触 LED 驱动编程
  12. 研究人员利用LED室内照明和智能手机捕获3D图像