舵机控制编程

简介: 舵机控制编程

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

最近遇到一个使用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所示。


11a1b3c03ea94c6db0654ea6ff61ec8b.png


(3)程序设计

本例修改自LabVIEW Interface for Arduino函数库中的示例,位于函数选板“函数”→"Arduino"→"Example"→"Servo Example",修改后的LabVIEW前面板和程序框图如图2和图3所示。


a6191c14aedb4ccbaa07552241f126b1.png

18c3cd9130044221ac34a39b06619e10.png


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所示。


577d6a0d6dfb49c19611c5fc125d3dda.png577b7f9099334170a19d97a4b90ecff1.png


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的转动而实时改变。


目录
相关文章
|
7月前
串口通信如何控制步进电机转动?
串口通信如何控制步进电机转动?
113 3
|
7月前
|
传感器 编解码 算法
2021-07-20LabVIEW编程LabVIEW开发 控制Dantec 激光多普勒测试仪LDV例程与相关资料
2021-07-20LabVIEW编程LabVIEW开发 控制Dantec 激光多普勒测试仪LDV例程与相关资料
42 0
|
传感器 机器人
舵机内部结及工作原理浅析
舵机内部结及工作原理浅析
190 2
第五章:单片机控制
第五章:单片机控制
77 0
|
JavaScript BI
5 控制转移指令【微机原理】
5 控制转移指令【微机原理】
95 0
LabVIEW控制Arduino实现舵机联控(基础篇—9)
本篇博文将通过LabVIEW和Arduino Uno控制板实现对单个和多个舵机转动角度的控制。
|
算法
基于labview上位机控制的6自由度机械臂
基于labview上位机控制的6自由度机械臂
270 0
舵机应该如果选择?讲讲模拟舵机,数字舵机和总线舵机的区别
舵机应该如果选择?讲讲模拟舵机,数字舵机和总线舵机的区别
1130 0
LabVIEW控制Arduino实现示波器(基础篇—7)
利用LIAT中的模拟采样函数库,通过Arduino Uno控制板上的模拟输入端口采集模拟信号,并上传至LabVIEW界面上显示波形,实现一个简易示波器的功能。
STM32智能小车控制舵机转向
STM32智能小车控制舵机转向
288 0