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

用 Arduino UNO 自制迷你钢琴 — 图文教程

元件与材料

Arduino UNO×1
面包板 (通用)×1
按键开关 12mm (SparkFun)×7
跳线 (通用)×1
蜂鸣器×1

所需工具

项目步骤

步骤 1:准备材料

用 Arduino UNO 自制迷你钢琴 — 图文教程

步骤 2:电路连接

用 Arduino UNO 自制迷你钢琴 — 图文教程

步骤 3:上传代码

需安装 Tone 库 (GitHub 下载),不会安装第三方库请参考 Arduino 官网指南。下载附件 Arduino_Piano.rar,解压后用 Arduino IDE 打开 Arduino_Piano.ino 并上传。

用 Arduino UNO 自制迷你钢琴 — 图文教程

步骤 4:开始演奏

按下按键即可发出对应音符。音准可在代码中修改音符频率值调整。代码内置多种音阶,取消注释即可切换,也可自定义音阶。欢迎分享你的成品照片/视频!

原理说明

代码利用 tone() 函数在蜂鸣器上产生方波,按键按下时持续发声,松开停止。内置 LED (引脚 13) 作为指示灯同步闪烁。

完整代码

// Arduino Piano
/* Visit the Channel for more interesting projects https://www.youtube.com/channel/UCks-9JSnVb22dlqtMgPjrlg */
#define T_C 262
#define T_D 294
#define T_E 330
#define T_F 349
#define T_G 392
#define T_A 440
#define T_B 493

const int C = 10;
const int D = 9;
const int E = 8;
const int F = 7;
const int G = 6;
const int A = 5;
const int B = 4;
const int Buzz = 11;
const int LED = 13;

void setup() {
  pinMode(LED, OUTPUT);
  pinMode(C, INPUT); digitalWrite(C, HIGH);
  pinMode(D, INPUT); digitalWrite(D, HIGH);
  pinMode(E, INPUT); digitalWrite(E, HIGH);
  pinMode(F, INPUT); digitalWrite(F, HIGH);
  pinMode(G, INPUT); digitalWrite(G, HIGH);
  pinMode(A, INPUT); digitalWrite(A, HIGH);
  pinMode(B, INPUT); digitalWrite(B, HIGH);
  digitalWrite(LED, LOW);
}

void loop() {
  while (digitalRead(C) == LOW) { tone(Buzz, T_C); digitalWrite(LED, HIGH); }
  while (digitalRead(D) == LOW) { tone(Buzz, T_D); digitalWrite(LED, HIGH); }
  while (digitalRead(E) == LOW) { tone(Buzz, T_E); digitalWrite(LED, HIGH); }
  while (digitalRead(F) == LOW) { tone(Buzz, T_F); digitalWrite(LED, HIGH); }
  while (digitalRead(G) == LOW) { tone(Buzz, T_G); digitalWrite(LED, HIGH); }
  while (digitalRead(A) == LOW) { tone(Buzz, T_A); digitalWrite(LED, HIGH); }
  while (digitalRead(B) == LOW) { tone(Buzz, T_B); digitalWrite(LED, HIGH); }
  noTone(Buzz);
  digitalWrite(LED, LOW);
}

项目仓库

https://github.com/Rahul24-06/Mini-Piano

原理图

视频中已详细讲解接线,请参考视频。

用 Arduino UNO 自制迷你钢琴 — 图文教程

制造工艺

  1. 打造安全的 Arduino RFID 门锁——分步指南
  2. Arduino 数字骰子:LCD 显示随机点数的电子骰子
  3. 用 Arduino 制作便携电容触控钢琴:分步指南
  4. DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
  5. Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
  6. 打造功能完整的 Arduino 驱动 3D 打印机械臂:分步指南
  7. DIY Arduino 加湿器控制器:继电器安全控制高压电路
  8. 用 Arduino Pro Mini 与 DS1302 RTC 打造精准七段数码管时钟
  9. PiBot:Arduino驱动的88键钢琴机器人,精准演奏MIDI乐曲
  10. Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
  11. DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
  12. Arduino入门教程01:开始你的第一个项目