舵机控制编程

优快云话题挑战赛第2期
参赛话题:学习笔记

博客写作背景----项目中解决的问题

最近遇到一个使用Arduino Uno单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。为啥用labview呢,因为LabVIEW是NI的数据采集创新软件产品,其全称是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench),是一种基于图形语言(Graphics Language,图形化编程语言)的测试系统软件开发平台。LabVIEW并不局限于虚拟仪器的开发,它的作用是为大型复杂测试系统提供通用的软件开发平台。目前,LabVIEW已经成为测试领域应用最广泛和最有前途的软件开发平台之一。

下面是我最近写程序的一些知识,进行了部分的整理,发出来和大家一起分享,也方便我以后查找自己的编程过程。

(1)编程知识点–舵机控制编程
利用LIAT函数库通过LabVIEW和Arduino Uno控制板实现对单个舵机转动角度的控制。

(2)硬件连接
将9g舵机的电源线分别接至Arduino Uno控制板上的5V和GND引脚上,信号线接至数字引脚D2上,如图1所示。
在这里插入图片描述

(3)程序设计
本例修改自LabVIEW Interface for Arduino函数库中的示例,位于函数选板“函数”→"Arduino"→"Example"→"Servo Example",修改后的LabVIEW前面板和程序框图如图2和图3所示。
在这里插入图片描述
在这里插入图片描述

LabVIEW程序首先通过设置的串口号与Arduino Uno控制板建立连接,然后调用Servo函数库中的Set Number of Servo和Configure Servo函数节点以设置舵机的数目为1和舵机的连接引脚,接着进入While循环并不断调用Servo Write Angle和Servo Read Angle函数节点先向舵机写入转动的角度值,并读取舵机当前的角度值。最后,断开与Arduino Uno控制板的连接。

点击运行按钮,LabVIEW程序开始执行,通过调节设置角度的旋钮,可以看到舵机随着角度的改变而转动,同时,当前角度值也随着舵机的转动而实时改变。

多个舵机的控制
将两个9g舵机的电源线分别接至Arduino Uno控制板上的5V和GND引脚上,信号线分别接至数字引脚D2和D3上.

修改LabVIEW Interface for Arduino函数库中的示例,位于函数选板“函数”→"Arduino"→"Example"→"Servo Example",修改后的LabVIEW前面板和程序框图如图1和图1所示。
在这里插入图片描述
在这里插入图片描述

LabVIEW程序首先通过设置的串口号与Arduino Uno控制板建立连接,然后调用Servo函数库中的Set Number of Servo和Configure Servo函数节点以设置舵机的数目为2和每个舵机所连接的引脚,接着进入While循环并不断调用Servo Write Angle和Servo Read Angle函数节点向指定舵机写入转动的角度值,并读取出指定舵机当前的角度值。最后,断开与Arduino Uno控制板的连接。

点击运行按钮,LabVIEW程序开始执行,通过舵机1和舵机2的调节设置角度旋钮,可以看到舵机1和舵机2随着角度的改变而转动,同时,舵机1和舵机2的当前角度值也随着舵机1和舵机2的转动而实时改变。

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr Robot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值