[求助]想做个无按键的电子琴,怎样实现?
2012-08-021.9万
AI 快速预览详细
本文介绍了如何使用七个超声波传感器制作无按键电子琴。项目中遇到了按下去声音延迟和音符重叠的问题,并通过调整超声波传感器的响应时间解决了这些问题。最终实现了流畅的演奏体验。
|
如题。 我用七个超声波,手挥舞弹电子琴,实测时按下去委久才出声,弹第二个音时第一个音还没有结束 。 |
|
如题。 我用七个超声波,手挥舞弹电子琴,实测时按下去委久才出声,弹第二个音时第一个音还没有结束 。 |
创作许可协议
本项目采用 None(不开放任何权利,保留所有权利) 进行许可。
创作许可协议
本项目采用 None(不开放任何权利,保留所有权利) 进行许可。
材料
模拟环境光线传感器(Arduino兼容)
×8只
Romeo 三合一Arduino兼容控制器×1块
模拟压电陶瓷震动传感器(Arduino兼容)×1只
程序如下:[code]int _ABVAR_5_F4;
int _ABVAR_3_D4;
int _ABVAR_8_B4;
int _ABVAR_6_G4;
int _ABVAR_4_E4;
int _ABVAR_7_A4;
int _ABVAR_1_threshold;
int _ABVAR_9_C5;
int _ABVAR_2_C4;
void setup()
{
_ABVAR_5_F4 = 0;
_ABVAR_6_G4 = 0;
_ABVAR_8_B4 = 0;
_ABVAR_9_C5 = 0;
_ABVAR_7_A4 = 0;
_ABVAR_3_D4 = 0;
_ABVAR_1_threshold = 0;
_ABVAR_4_E4 = 0;
_ABVAR_2_C4 = 0;
}
void loop()
{
_ABVAR_1_threshold = 950 ;
_ABVAR_2_C4 = 262 ;
_ABVAR_3_D4 = 294 ;
_ABVAR_4_E4 = 330 ;
_ABVAR_5_F4 = 349 ;
_ABVAR_6_G4 = 392 ;
_ABVAR_7_A4 = 440 ;
_ABVAR_8_B4 = 494 ;
_ABVAR_9_C5 = 523 ;
while ( true )
{
if (( ( analogRead(A0) ) > ( _ABVAR_1_threshold ) ))
{
tone(13, _ABVAR_2_C4, 100);
}
if (( ( analogRead(A1) ) > ( _ABVAR_1_threshold ) ))
{
tone(13, _ABVAR_3_D4, 100);
}
if (( ( analogRead(A2) ) > ( _ABVAR_1_threshold ) ))
{
tone(13, _ABVAR_4_E4, 100);
}
if (( ( analogRead(A3) ) > ( _ABVAR_1_threshold ) ))
{
tone(13, _ABVAR_5_F4, 100);
}
if (( ( analogRead(A4) ) > ( _ABVAR_1_threshold ) ))
{
tone(13, _ABVAR_6_G4, 100);
}
if (( ( analogRead(A5) ) > ( _ABVAR_1_threshold ) ))
{
tone(13, _ABVAR_7_A4, 100);
}
if (( ( analogRead(A6) ) > ( _ABVAR_1_threshold ) ))
{
tone(13, _ABVAR_8_B4, 100);
}
if (( ( analogRead(A7) ) > ( _ABVAR_1_threshold ) ))
{
tone(13, _ABVAR_9_C5, 100);
}
delay( 90 );
}
}
[/code]
看过这个视频,用一个根据距离能实现弹各个音,但也不能弹曲子。