2012-8-2 16:26:21 [显示全部楼层]
12400浏览
查看: 12400|回复: 8

[求助] 想做个无按键的电子琴,怎样实现?

[复制链接]
如题。

我用七个超声波,手挥舞弹电子琴,实测时按下去委久才出声,弹第二个音时第一个音还没有结束 。

还可以  学徒
 楼主|

发表于 2012-8-2 16:43:57

http://v.youku.com/v_show/id_XMzM1Njk0NDAw.html

看过这个视频,用一个根据距离能实现弹各个音,但也不能弹曲子。
回复

使用道具 举报

mickey  NPC

发表于 2012-8-2 17:00:36

超声波测量范围太大,可以考虑用红外测距。
回复

使用道具 举报

还可以  学徒
 楼主|

发表于 2012-8-2 20:23:40

mickey 发表于 2012-8-2 17:00
超声波测量范围太大,可以考虑用红外测距。

是的,寻线传感 器都要好控制点。
回复

使用道具 举报

admin  管理员

发表于 2012-8-2 22:25:40

另外的原因是超声波刷新率太低。 你需要超过30hz的传感器 才能跟得手得动作。Sharp得红外会比较好用。循线得距离太短。
回复

使用道具 举报

Rockets  NPC

发表于 2012-8-3 14:54:35

一个用光敏电阻制作的电子琴,给你参考下
材料
模拟环境光线传感器(Arduino兼容)
×8只
Romeo 三合一Arduino兼容控制器×1块
模拟压电陶瓷震动传感器(Arduino兼容)×1只

程序如下:
  1. int _ABVAR_5_F4;
  2. int _ABVAR_3_D4;
  3. int _ABVAR_8_B4;
  4. int _ABVAR_6_G4;
  5. int _ABVAR_4_E4;[img][/img]
  6. int _ABVAR_7_A4;
  7. int _ABVAR_1_threshold;
  8. int _ABVAR_9_C5;
  9. int _ABVAR_2_C4;
  10. void setup()
  11. {
  12. _ABVAR_5_F4 = 0;
  13. _ABVAR_6_G4 = 0;
  14. _ABVAR_8_B4 = 0;
  15. _ABVAR_9_C5 = 0;
  16. _ABVAR_7_A4 = 0;
  17. _ABVAR_3_D4 = 0;
  18. _ABVAR_1_threshold = 0;
  19. _ABVAR_4_E4 = 0;
  20. _ABVAR_2_C4 = 0;
  21. }
  22. void loop()
  23. {
  24. _ABVAR_1_threshold = 950 ;
  25. _ABVAR_2_C4 = 262 ;
  26. _ABVAR_3_D4 = 294 ;
  27. _ABVAR_4_E4 = 330 ;
  28. _ABVAR_5_F4 = 349 ;
  29. _ABVAR_6_G4 = 392 ;
  30. _ABVAR_7_A4 = 440 ;
  31. _ABVAR_8_B4 = 494 ;
  32. _ABVAR_9_C5 = 523 ;
  33. while ( true )
  34. {
  35. if (( ( analogRead(A0) ) > ( _ABVAR_1_threshold ) ))
  36. {
  37. tone(13, _ABVAR_2_C4, 100);
  38. }
  39. if (( ( analogRead(A1) ) > ( _ABVAR_1_threshold ) ))
  40. {
  41. tone(13, _ABVAR_3_D4, 100);
  42. }
  43. if (( ( analogRead(A2) ) > ( _ABVAR_1_threshold ) ))
  44. {
  45. tone(13, _ABVAR_4_E4, 100);
  46. }
  47. if (( ( analogRead(A3) ) > ( _ABVAR_1_threshold ) ))
  48. {
  49. tone(13, _ABVAR_5_F4, 100);
  50. }
  51. if (( ( analogRead(A4) ) > ( _ABVAR_1_threshold ) ))
  52. {
  53. tone(13, _ABVAR_6_G4, 100);
  54. }
  55. if (( ( analogRead(A5) ) > ( _ABVAR_1_threshold ) ))
  56. {
  57. tone(13, _ABVAR_7_A4, 100);
  58. }
  59. if (( ( analogRead(A6) ) > ( _ABVAR_1_threshold ) ))
  60. {
  61. tone(13, _ABVAR_8_B4, 100);
  62. }
  63. if (( ( analogRead(A7) ) > ( _ABVAR_1_threshold ) ))
  64. {
  65. tone(13, _ABVAR_9_C5, 100);
  66. }
  67. delay( 90 );
  68. }
  69. }
复制代码
piano.jpg
回复

使用道具 举报

还可以  学徒
 楼主|

发表于 2012-8-5 17:52:15

Rockets 发表于 2012-8-3 14:54
一个用光敏电阻制作的电子琴,给你参考下
材料
模拟环境光线传感器(Arduino兼容)

谢谢,可否把声音传到功放通过音箱放出来。
回复

使用道具 举报

mickey  NPC

发表于 2012-8-7 15:27:21

可以的。
回复

使用道具 举报

Rockets  NPC

发表于 2012-8-7 22:05:51

可能需要一个功放模块吧。没有试过,可以试试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail