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

用 Arduino Uno 和 1Sheeld 构建 4x4x4 LED 立方体 - 互动音乐可视化项目

元器件清单

元器件数量备注
Android 设备1运行 1Sheeld App 的智能手机
220Ω 电阻16列控制限流电阻
LED 灯 (通用)64构建 4x4x4 立方体
Arduino UNO1主控板
1Sheeld 扩展板1连接手机与 Arduino
跳线20连接立方体与控制板
焊接工具1电烙铁、焊锡等

项目简介

这是一个令人惊叹的 4x4x4 LED 立方体,通过 1Sheeld 和 Arduino Uno 与智能手机连接。利用手机麦克风捕捉声音,让音乐控制 LED 立方体的灯光效果,实现声光同步的互动体验。

用 Arduino Uno 和 1Sheeld 构建 4x4x4 LED 立方体 - 互动音乐可视化项目
用 Arduino Uno 和 1Sheeld 构建 4x4x4 LED 立方体 - 互动音乐可视化项目
用 Arduino Uno 和 1Sheeld 构建 4x4x4 LED 立方体 - 互动音乐可视化项目
用 Arduino Uno 和 1Sheeld 构建 4x4x4 LED 立方体 - 互动音乐可视化项目

立方体构建指南

请参考 Instructables 教程 的步骤 3、4、5 进行立方体焊接组装。需要具备基本的焊接技能。注意:该教程中的元器件清单仅供参考,实际所需元件请以本项目清单为准。

工作原理

若为每个 LED 单独引线控制阳极,显然不切实际。解决方案是将立方体分为 4 层,每层包含 16 个 LED:

点亮特定 LED 时,只需给该层提供低电平 (GND),给该列提供高电平 (5V)。通过快速扫描各层,利用视觉暂留效应实现全立方体控制。

接线说明

组装完成后,你将得到 16 个列控制引脚和 4 个层控制引脚:

接线完成后上传代码,通过 1Sheeld App 连接手机即可运行。1Sheeld 入门教程可帮助初学者快速上手。

核心代码

/* 使用 1Sheeld 和 Arduino Uno 控制 4x4x4 LED 矩阵,通过手机麦克风实现声控
 * 电路:64 个 LED 组成 4x4x4 立方体,连接 1Sheeld 和 Arduino
 * 列控制引脚:数字引脚 0-13、模拟引脚 A4、A5
 * 层控制引脚:模拟引脚 A0-A3
 * 作者:Hassan Ibrahim */
#define CUSTOM_SETTINGS
#define INCLUDE_PUSH_BUTTON_SHIELD
#define INCLUDE_MIC_SHIELD
#include 

// 定义列引脚
int col[16] = {13,12,11,10,9,8,7,6,5,4,3,2,1,0,A4,A5};
// 定义层引脚(A0 最底层,A3 最顶层)
int layer[4] = {A0, A1, A2, A3};
int counter;

void setup() {
  OneSheeld.begin();
  Serial.begin(115200);
  // 初始化所有引脚为输出
  for (int i=0; i<16; i++) pinMode(col[i], OUTPUT);
  for (int i=0; i<4; i++) pinMode(layer[i], OUTPUT);
}

void loop() {
  // 所有列拉高 (5V)
  for (int i=0; i<16; i++) digitalWrite(col[i], HIGH);
  delay(30);

  // 根据麦克风音量控制各层拉低 (GND)
  // 阈值需根据手机麦克风灵敏度校准
  int micVal = Mic.getValue();
  if (micVal > 70)  { digitalWrite(layer[0], LOW); delay(50); } else digitalWrite(layer[0], HIGH);
  if (micVal > 76)  { digitalWrite(layer[1], LOW); delay(50); } else digitalWrite(layer[1], HIGH);
  if (micVal > 82)  { digitalWrite(layer[2], LOW); delay(50); } else digitalWrite(layer[2], HIGH);
  if (micVal > 88)  { digitalWrite(layer[3], LOW); delay(50); } else digitalWrite(layer[3], HIGH);
}

原理图

用 Arduino Uno 和 1Sheeld 构建 4x4x4 LED 立方体 - 互动音乐可视化项目

提示:原理图中未画出列控制电阻,实际焊接时务必串联 220Ω 电阻保护 LED 和驱动引脚。

制造工艺

  1. 树莓派 + Arduino UNO + 三星 SAMI 极速构建火灾检测系统
  2. 自制LUMAZOID:基于Arduino的音乐可视化灯光控制器
  3. Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
  4. 自制 Arduino 伊斯兰祷告时间实时时钟
  5. DHT11 温湿度传感器项目:LED 指示与压电蜂鸣器报警
  6. 基于 1Sheeld 与 Arduino 的盲聋人士沟通辅助系统
  7. Unopad:基于 Arduino 的无缝 Ableton Live MIDI 控制器
  8. Arduino + DHT11 + 以太网盾板温湿度数据记录仪
  9. Arduino + HC-05 蓝牙控制 LED:MIT App Inventor 手机 App 开发全攻略
  10. 自制简易红外避障传感器:IR LED + 光电二极管 + Arduino
  11. Windows 10 Cortana 蓝牙控制 Arduino LED:UWP 应用开发全流程
  12. Arduino Uno驱动MAX7219级联8×8 LED矩阵:从入门到动画显示