marcusdust / smart_piano

PC通过MIDI接口连接电钢琴,控制琴键上对应位置LED灯。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

智能钢琴

简介

智能钢琴包含一个带有gui的模拟钢琴软件,和一个stm32控制的ws2812b芯片灯带。灯带放在真实电钢琴键盘上,每个按键都有对应的灯。 stm32通过串口连在上位机上,电钢琴通过midi-usb接口连在上位机上。上位机程序载入乐谱后,需要按下的琴键上方对应的led灯会亮起,按下对应键后 灯熄灭,下一个需要按的键对应的灯亮起。 如果需要同时按多个键,则多个灯亮。

代码结构

目录pianobooster_usart_ws2812b下是改过的freepinao代码,会根据乐谱向上位机发送需要亮起的灯,并接受钢琴通过midi-usb接口发送 的按键信息,以此判断哪个灯该亮起。

目录ws2812b_success_with_usart是stm32单片机keil工程,通过串口接收上位机发送的亮灯信息,用dma控制ws2812b芯片,从而实现灯的亮暗和颜色变化。

软硬件环境

上位机:ubuntu系统下编过,其他系统未知。需安装keil。 硬件环境:ws2812灯带,stm32开发板。

About

PC通过MIDI接口连接电钢琴,控制琴键上对应位置LED灯。

License:GNU General Public License v3.0


Languages

Language:Makefile 39.7%Language:C++ 34.4%Language:C 20.0%Language:HTML 3.5%Language:CMake 1.5%Language:Assembly 0.6%Language:NSIS 0.1%Language:Roff 0.1%Language:Objective-C 0.1%Language:QMake 0.1%Language:Python 0.0%