445814907 发表于 2013-1-24 02:42:41

arduino 上位机测试实验 修改1

本帖最后由 445814907 于 2013-1-24 02:57 编辑

一直想用上位机控制arduino。计划用方案1用C++编,但是发现网上的视频大部分直接就教编串口调试助手这个软件,完全跟不上视频的步骤啊,方案2用labview软件,但是labview里面的串口例子也是串口调试助手这个例子啊,我总不能直接就用吧,G语言编的,看的我头大啊,这么改都不知道。最后的最后,我觉得与其把时间浪费在纯上位机的编程上,不如就是能达到我的要求,能和arduino通讯就好。
第一个图片是前面的设计,第二个图片是代码窗口,别看就这几句代码,好用就行啊,哈哈,我插上arduino,显示的是COM3,所以在
第一栏的代码框里Comm3.PortOpen = True,打开COM3口,
第二栏
Private Sub Command2_Click()
Comm3.Output = "a"
End Sub
使com3 发送数据a

第三栏
Private Sub Command3_Click()
Comm3.PortOpen = fase
End Sub
使com3 关闭

Private Sub Command4_Click()
Comm3.Output = "b"
End Sub
使com3 发送数据b

编完之后F5运行就可以了,这时要注意不能打开arduino的COM工具,
图片2是代码窗口的截图。

下面的是arduino的代码,我要实现的功能是点击上位机led按钮,arduino的led灯亮,点击led1按钮arduino的led1亮。思路就是串口发送"a", arduino 读到a,进行led 部分的工作。同理于“b”

int led=2;     //把LED连在Arduino数字端口2
int led1 = 3; //把LED连在Arduino数字端口3
//初始化
void setup() 
{
  Serial.begin(9600);  //启动串行通讯,波特率为9600b/s
  pinMode(led,OUTPUT);  
  pinMode(led1,OUTPUT);
  digitalWrite(led,HIGH);
  digitalWrite(led1,HIGH);
}
//主程序
void loop() 
{

    char val;//定义变量val,用于暂存上位机发送来的字符
  if(Serial.available()>0)//如果上位机发送来了字符
  {
    val=Serial.read(); //读取上位机发来的字符,并保存到val  
    Serial.println(val); //显示接受到的字符
    if(val=='a')//如果上位机发送字符'a',
    {
      digitalWrite(led,LOW); //点亮LED灯         
    }
    if(val=='b')//如果上位机发送字符'b',
    {
       digitalWrite(led1,LOW);//点亮LED1          
    }    
  }
  delay(100);//延时100ms
}

测试好用,第一次添加个附件,看看好不好用,哈哈。还有啊,大家要是想试试,看看把自己的arduino的改成COM3.试试好不好用啊,然后告诉我。我觉得应该能还用。水平太差,让大家见笑了啊。还有我的暴力改装arduino。在万用版的下面了,不想把钱花在那些扩展板上,自己动手丰衣足食啊,还有不会传视频啊,怎么传?大家教教我啊。。还的攒钱娶媳妇呢。哈哈







openmmoo 发表于 2013-1-24 12:27:17

太初级,不实用

swim 发表于 2013-1-24 22:33:04

哇哦,真人秀哦{:soso_e144:}

cjj208 发表于 2013-3-17 17:45:58

挺好的简单宜宜懂

天天向上/tp 发表于 2013-10-6 23:10:09

还是没看懂用什么写的

天天向上/tp 发表于 2013-10-6 23:12:56

求详细资料

耿一文 发表于 2013-10-30 17:14:56

最后到底用的什么呢?没有说清楚呀

MRYE 发表于 2014-8-16 10:34:05

我想是用Delphi做的上位机

pan628 发表于 2015-8-28 14:20:08

上位机是VB做的,我实验过了,能用,2个LED正极分别串两个1k电阻后接5v电源,负极分别接数字2,3口,
vb变量写得不够直观。

pan628 发表于 2015-8-28 23:17:12

pan628 发表于 2015-8-28 14:20
上位机是VB做的,我实验过了,能用,2个LED正极分别串两个1k电阻后接5v电源,负极分别接数字2,3口,
vb变 ...

mscomm做了什么设置,能把源码放上来吗?

pan628 发表于 2015-8-29 14:04:04

已经搞懂了,commport设置为3即可,谢谢。
页: [1]
查看完整版本: arduino 上位机测试实验 修改1