P_LarT / 技术 / 我的第一个Labview和Arduino控制器的互动...

分享

   

我的第一个Labview和Arduino控制器的互动设计

2016-09-30  P_LarT

我这个设计用到了两个Arduino核心板,一个是Arduino Duemilanove 2009 ATMEGA328P 互动媒体 AVR单片机,一个是Arduino传感器扩展板V4 含RS485总线/无线数传/蓝牙串口接口。

 

它们的图片分别如下:

1、Arduino Duemilanove 2009 ATMEGA328P


 


 

2、Arduino传感器扩展板


 


 这两个电路板可以层叠在一起。

 

先不谈labview,看看我用一个电位器,通过PWM方法给一个LED调光。实验实景图。


 Arduino程序如下:

/* PWM方法给LED调光
 这个例子显示如何用analogRead()把电位计的电压值AD转换的数字量读到单片机,
 单片机再把AD转换的数字量正比换算成PWM的输出值,
 analogWrite()函数把PWM的输出值给LED调光*/
int potpin=0;//定义电位计相连的模拟接口0上 
int ledPin = 9;  //LED连在数字接口9上
float fadeValue;
void setup()
{
    pinMode(ledPin,OUTPUT);//设置LED接口为输出接口
    Serial.begin(9600);//连接到串行端口,波特率为9600
}
void loop()
{
    fadeValue=(float)analogRead(potpin)/1023*255;
    analogWrite(ledPin,int(fadeValue));
    Serial.println(int(fadeValue),DEC);
    delay(1000);   
}

 

然后,不用电位器调光,而是用上位机软件labview,在它的前面板上搞个滑动杆,通过移动滑块,来改变与下位机Arduino控制器相连的LED灯的亮度。

Labview与Arduino控制器是通过COM7串行通信的,波特率9600bps

Labview前面板图:

 

labview框图程序:

当然下位机Arduino控制器的程序与上面有电位器的程序有些不同,就是去掉了电位器的输入,加上了下位机读取上位机命令的部分。

 labview控制下的Arduino程序:

/* PWM方法给LED调光
 这个例子说明把上位机软件labview送来数字量直接给PWM的输出值,
 analogWrite()函数把PWM的输出值给LED调光*/


 

int ledPin = 9;  //LED连在数字接口9上
int fadeValue;
void setup()
{
    pinMode(ledPin,OUTPUT);//设置LED接口为输出接口
    Serial.begin(9600);//连接到串行端口,波特率为9600
}
void loop()
{
    fadeValue=Serial.read();
    analogWrite(ledPin,fadeValue);
    delay(100);   
}

 

本设计程序打包下载:

PWM调节LED光(labview).rar
 

我给大家推荐个国内外机器人热门网址大全:

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。

    来自: P_LarT > 《技术》

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多

    ×
    ×

    ¥.00

    微信或支付宝扫码支付:

    开通即同意《个图VIP服务协议》

    全部>>