# MelodyOfTheRainbow
智创大赛主程序。详细内容见博客:[智创大赛设计:彩虹的旋律](https://swkfk.top/jump/RainbowPiano)
## 代码组织结构
- `RainbowPiano.ino`:程序入口,调度整个流程
- `ModuleStart.h`:通过宏定义控制各个模块的启动,方便调试
- `PinHandler.h` `PinHandler.cpp`:负责处理引脚初始化
- `TcsHandler.h` `TcsHandler.cpp`:负责处理色彩识别
- `PianoHandler.h` `PianoHandler.cpp`:负责处理钢琴触摸信号以及指示 LED 及背光 LED 的控制
- `BuzzerHandler.h` `BuzzerHandler.cpp`:负责蜂鸣器的控制
- `Utils.h` `Utils.cpp`:包含一些工具函数,如 RGB 色值转换、按钮状态读取、带电关机处理等
- `libMH_TCS34725.h` `libMH_TCS34725.cpp`:第三方库,读取色彩识别信号
- `libTTP229.h` `libTTP229.cpp`:修改过的第三方库,负责处理钢琴触摸
## 项目介绍
作品集三种功能于一体,既能通过手动演奏钢琴模块发声,又能读取屏幕上显示的色块合成乐音,同时,还可以在读取屏幕色彩变化的同时,亮起钢琴模块上相应的指示灯,以辅助用户演奏。
## 项目功能介绍
### 弹奏模式
由用户进行弹奏,并根据不同的音符呈现不同的光彩。
### 自动播放模式
通过乐曲识别模块读取印有不同颜色的滚动纸带,或者滚动播放不同颜色的手机画面,将颜色转化为音符,并通过蜂鸣器播放出来。
### 指导弹奏模式
同“自动播放模式”一样,需要识别乐曲,但并不是直接播放,而是亮起不同的 LED 指示灯,指导用户进行弹奏。
### 带电开关机器
同时按下三个按钮,可以触发关机,所有灯光、蜂鸣器与触摸板等将失去作用。再次同时按下三个按钮,可以自动开机。
奔强的程序
- 粉丝: 1025
- 资源: 2750
最新资源
- C语言-leetcode题解之28-implement-strstr.c
- C语言-leetcode题解之27-remove-element.c
- C语言-leetcode题解之26-remove-duplicates-from-sorted-array.c
- C语言-leetcode题解之24-swap-nodes-in-pairs.c
- C语言-leetcode题解之22-generate-parentheses.c
- C语言-leetcode题解之21-merge-two-sorted-lists.c
- java-leetcode题解之Online Stock Span.java
- java-leetcode题解之Online Majority Element In Subarray.java
- java-leetcode题解之Odd Even Jump.java
- 计算机毕业设计:python+爬虫+cnki网站爬
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈