基于LabVIEW和arduino的虚拟电子琴-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7902|回复: 8

基于LabVIEW和arduino的虚拟电子琴

[复制链接]
发表于 2013-6-10 02:14 | 显示全部楼层 |阅读模式

虚拟电子琴

虚拟电子琴

======================================
很多人说不会LabVIEW,其实LabVIEW是一种很简单的可视化编程语言。
这个虚拟电子琴说白了就是LabVIEW和arduino的串口通信,下面附上LabVIEW程序截图

界面

界面

这个是界面,当然,一些控件的美化是需要自己去完成的,大神们可以忽略我的美工了,工科男审美就是个渣渣。。。

程序

程序

程序也很简单,不知道大家看不看得清。。。===================================================
再来说说arduino这边的事儿
元件:无源蜂鸣器1个,杜邦线2根(公母)
程序:
int val;
#define NOTE_D1 294
#define NOTE_D2 330
#define NOTE_D3 350
#define NOTE_D4 393
#define NOTE_D5 441
#define NOTE_D6 495
#define NOTE_D7 556
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  val=Serial.read();
  if(val=='1')
  {
    Serial.println("1");
    tone(7,NOTE_D1,250);
  }
  if(val=='2')
  {
    Serial.println("2");
    tone(7,NOTE_D2,250);
  }
  if(val=='3')
  {
    Serial.println("3");
    tone(7,NOTE_D3,250);
  }
  if(val=='4')
  {
    Serial.println("4");
    tone(7,NOTE_D4,250);
  }
  if(val=='5')
  {
    Serial.println("5");
    tone(7,NOTE_D5,250);
  }
if(val=='6')
  {
    Serial.println("6");
    tone(7,NOTE_D6,250);
  }  
  if(val=='7')
  {
    Serial.println("7");
    tone(7,NOTE_D7,250);
  }
}

============================================

============================================
现在遇到一个问题,希望大神们能够帮助我解决
现实中弹钢琴很多时候都是几个键一起按下的,但是现在在自己做的电子琴中如何实现?
先谢过大神,等待回复Ing...
程序.JPG
发表于 2013-6-10 03:10 | 显示全部楼层
用蜂鸣器+tone函数,无法实现同时按下效果,混音估计要定时器单独调了
发表于 2013-6-10 14:41 | 显示全部楼层
不错~
 楼主| 发表于 2013-6-10 15:41 | 显示全部楼层
奈何col 发表于 2013-6-10 03:10
用蜂鸣器+tone函数,无法实现同时按下效果,混音估计要定时器单独调了

哎,确实这个问题有点小头疼,定时器怎么调?求大神指点
发表于 2013-6-10 18:22 | 显示全部楼层
请问楼主使用的LabVIEW和VISA的版本、电脑操作系统,谢谢!
 楼主| 发表于 2013-6-11 17:17 | 显示全部楼层
nust_奔跑 发表于 2013-6-10 18:22
请问楼主使用的LabVIEW和VISA的版本、电脑操作系统,谢谢!

LabVIEW2011,VISA我忘了,之前装的。WIN7旗舰
发表于 2013-6-11 17:22 | 显示全部楼层
情谊永恒1992 发表于 2013-6-11 17:17
LabVIEW2011,VISA我忘了,之前装的。WIN7旗舰

我的LabVIEW只能和Leonardo串口通信~
2560和UNO却不行~
 楼主| 发表于 2013-6-11 18:28 | 显示全部楼层
nust_奔跑 发表于 2013-6-11 17:22
我的LabVIEW只能和Leonardo串口通信~
2560和UNO却不行~

额,我用UNO可以的啊。但一开始就是找不到端口,后来问了度年下了个什么东西装了一下就好了。。。
发表于 2013-6-11 18:58 | 显示全部楼层
情谊永恒1992 发表于 2013-6-11 18:28
额,我用UNO可以的啊。但一开始就是找不到端口,后来问了度年下了个什么东西装了一下就好了。。。 ...

找到原因了~
我每次串口操作的最后都会关闭串口~
删除关闭串口就正常了~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-29 06:51 , Processed in 0.206193 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表