🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 函数目录 [TOC] *** ## 初始化函数 **功能**:将控制器初始化为UNO-S或UNO-R控制器 **说明**:库文件包含,必须添加. Arduino函数初始化,_VsrCtrl.Init(); **UNO-S控制器** **mixly编程**: >![](https://img.kancloud.cn/fe/fb/fefb456eb7318953334aed69db4864b3_240x70.png) **arduino-IDE编程函数**: >``` >#include "ZtVsr.h" >void setup(){ >_VsrCtrl.Init(DEVICE_TYPE_S); >} >void loop(){ >} >``` **UNO-R控制器** **mixly编程**: >![](https://img.kancloud.cn/c3/cb/c3cb8dff4c0c63fa511fb4b7e80bda93_363x102.png) **arduino-IDE编程函数**: >``` >#include "ZtVsr.h" >void setup(){ >_VsrCtrl.Init(DEVICE_TYPE_R); >} >void loop(){ >} >``` ## IO输出引脚操作(UNO-S,UNO-R) **功能**:控制单片机的IO口为输出模式,并置位为高/低电平; **mixly编程** >![](https://img.kancloud.cn/71/6c/716c9bb7b55099452cb9d1fc1684f89f_321x45.png) **arduino-IDE编程函数**: >``` >digital_VSR_Write(uint8_t pin,uint8_t val); >``` **说明**:参数pin为引脚号码,参数val为0/1高低电平信号; *** ## IO输入引脚读取操作(UNO-S,UNO-R) **功能**:将单片机IO作为输入引脚,并读取其输入状态为高/低; **mixly编程**: >![](https://img.kancloud.cn/e9/d5/e9d5795e741d5025cfc4a716803d0690_218x46.png) **arduino-IDE编程函数**: >``` >digital_VSR_Read(uint8_t pin); >``` **说明**:输入为引脚号,返回值为0低电平,1高电平; *** ## 软IO中断操作(UNO-S,UNO-R) ### 功能解释 **功能**:该组操作函数为(1)开启某IO引脚为输入状态并检测中断,(2)、当该IO引脚发生中断自动执行某函数,(3)、打开/关闭某IO引脚中断功能; **mixly编程**: >![](https://img.kancloud.cn/6f/11/6f11abf9d0cb290b6f9eb7d414fbcedb_480x334.png) **arduino-IDE编程函数**: >``` >//开启软中断 >digital_VSR_InterruptEnable(uint8_t pin); //开启pin引脚中断; >//配置软中断函数 >//参数pin输入引脚号,VSR_AttachPinInterrupt_fun_0回调函数指针, >//软中断触发方式参数CHANGE 突变触发、FALLING 下降沿触发,RISING上升沿触发 >digital_VSR_AttachInterrupt( uint8_t pin ,VSR_AttachPinInterrupt_fun_0,RISING);; >//当中断响应时候,调用中断回调函数: >void VSR_AttachPinInterrupt_fun_0() { >//中断执行的子函数; >}; >//关闭中断 >digital_VSR_InterruptDisable(0);//关闭该引脚中断响应; >``` ### 代码示例 **mixly图形化程序**: >![](https://img.kancloud.cn/de/9d/de9d9895fd2b7738224dad6eed683c3f_404x184.png) **翻译IDE函数**: >``` >//定义中断回调函数 >void VSR_AttachPinInterrupt_fun_0() { > Float32_Write(0,0); >} >void setup(){ > _VsrCtrl.Init(DEVICE_TYPE_R); > pinMode(0, INPUT); > digital_VSR_InterruptEnable(0); > digital_VSR_AttachInterrupt(0,VSR_AttachPinInterrupt_fun_0,RISING); >} >``` **说明**:设置引脚0为中断响应,设置为上升沿中断,当发生引脚0上升沿则执行: Float32_Write(0,0) 函数 *** ## 模拟量输出控制(UNO-S,UNO-R) **功能**:控制单片机寄存器模拟量输出至虚拟模型,如操作速度、大小等变量控制; **mixly编程** >![](https://img.kancloud.cn/34/32/3432d071ad85a4bf90a9aff231ce1bec_338x47.png) **arduino-IDE编程函数** >``` >Float32_Write(0,50); >``` **说明**:设置通道寄存器float32-0输出值为50; *** ## 模拟量输入读取(UNO-S,UNO-R) **功能**:读取虚拟世界的模拟量反馈,如旋钮开关,坐标数据等; **mixly编程** >![](https://img.kancloud.cn/49/65/49650f3e0b264c48bbd2a2f6d633a968_237x44.png) **arduino-IDE编程函数** >``` >Float32_Read(0); >``` **说明**:读取通道float32-0的寄存器的值,并返回值; *** ## 字符串文本输出(UNO-S,UNO-R) **功能:**输出字符串文本至虚拟工厂; **mixly编程** >![](https://img.kancloud.cn/a5/67/a567bf88702f8b5245029d45d2e44e5c_290x44.png) **arduino-IDE编程函数** >``` >Text_Write("hello"); >``` **说明**:输出hello文本至虚拟工厂; *** ## 虚拟伺服电机速度控制(UNO-S) **功能**:设置某M电机的转动速度值为当前值,0~100; **mixly编程** >![](https://img.kancloud.cn/1a/61/1a6165f9ff9b8649fb918add9fe2f22f_311x51.png) **arduino-IDE编程函数** >``` >Set_ServoSpeed(0,0); >``` **说明**:输入电机编号0~7,输入电机速度为0~100; *** ## 虚拟伺服电机位置控制(UNO-S) **功能**:设置某M电机要达到的执行位置,输入值为浮点数float32; **mixly编程** >![](https://img.kancloud.cn/7f/5f/7f5f2674c944afc2f018db9a16f94314_322x45.png) **arduino-IDE编程函数** >``` >Set\_ServoPos(0,0); >``` **说明**:输入电机编号0~7,电机要执行达到的位置值pos(float32); *** ## 读取虚拟电机位置值(UNO-S) **功能**:读取某M电机当前的位置坐标值; **mixly编程** >![](https://img.kancloud.cn/71/0e/710eede4418f50e3abf6dc448cc13081_221x31.png) **arduino-IDE编程函数** >``` >Get_ServoPos(0); >``` **说明**:输入电机编号0~7,返回该电机目前虚拟位置pos的值(float32); *** ## 等待电机执行完成上一个动作(UNO-S) **功能**:阻塞线程,等待该M电机执行并达到目标位置pos点; **mixly编程**: >![](https://img.kancloud.cn/69/83/6983c0f6a11ed149d7f504cc619cc574_244x37.png) **arduino-IDE编程函数**: >``` >WaitFinish_ServoPos(0); >``` **说明**:等待电机0执行到位置点才会执行接下来的代码动作; *** :-: 分界线,以下为工业机器人操作指令,对UNO-R有效 *** ## 设置四轴码垛机器人运行速度(UNO-R) **功能**:设置四轴码垛类型机器人的运行速度值; **mixly编程**: >![](https://img.kancloud.cn/48/d7/48d763f97196451cdf97b45334222375_291x44.png) **arduino-IDE编程函数**: >``` >Set_R4Speed(0); >``` **说明**:设置工业机器人的速度值0~100之间; *** ## 四轴码垛机器人单轴动作(UNO-R) **功能**:设置四轴码垛机器人某一个关节轴运行到某一点动作; **mixly编程**: >![](https://img.kancloud.cn/c4/b5/c4b5ffeb4970920e20936f9d765d3745_378x45.png) **arduino-IDE编程函数**: >``` >Set_R4Pos(0,0); >``` **说明**:输入1为第几轴即0~3,输入2为位置坐标值float32; *** ## 四轴码垛机器人本体动作(UNO-R) **功能**:设置四轴码垛机器人四个轴联动运行到某一个姿态点; **mixly编程**: >![](https://img.kancloud.cn/61/63/6163decfa0b30528ac66b5eda05a1d0c_660x45.png) **arduino-IDE编程函数**: >``` >Set_R4Pos(0,0,0,0); >``` **说明**:输入值为1轴,2轴,3轴,4轴各个轴要达到的目标点; *** ## 获取四轴码垛机器人某轴的位置值(UNO-R) **功能**:获取该机器人某一个轴的位置角度值; **mixly编程**: >![](https://img.kancloud.cn/35/76/35760e7d35144f0f99342c2ca51b87e7_310x31.png) **arduino-IDE编程函数**: >``` >Get_R4Pos(0); >``` **说明**:返回值为该关节的角度值; *** ## 等待四轴码垛机器人上一个动作执行完毕(UNO-R) **功能**:等待该动作完全执行完毕,才进行下面的代码运行(中断除外); **mixly编程**: >![](https://img.kancloud.cn/3b/57/3b57ad67c769ff13e1d33d53e8caf0c5_227x35.png) **arduino-IDE编程函数**: >``` >WaitFinish_R4() >``` **说明**:阻塞线程等待四轴码垛机器人上一个动作执行完毕。 *** ## 设置Scara机器人运行速度(UNO-R) **功能**:设置Scara类型机器人的运行速度值; **mixly编程**: >![](https://img.kancloud.cn/c6/43/c643972a0f4edeae0ec79113fabbd57c_352x46.png) **arduino-IDE编程函数**: >``` >Set_ScaraSpeed(0); >``` **说明**:设置工业机器人的速度值0~100之间; *** ## Scara机器人单轴动作(UNO-R) **功能**:设置Scara机器人某一个关节轴运行到某一点动作; **mixly编程**: >![](https://img.kancloud.cn/0f/28/0f28c8043720d038479c1ad3b82d7b18_441x47.png) **arduino-IDE编程函数**: >``` >Set_ScaraPos(0,0); >``` **说明**:输入1为第几轴即0~3,输入2为位置坐标值float32; *** ## Scara机器人整体动作(UNO-R) **功能**:设置Scara机器人四个轴联动运行到某一个姿态点; **mixly编程**: >![](https://img.kancloud.cn/f2/af/f2af91462b35092454cf6f38efd699b1_642x40.png) **arduino-IDE编程函数**: >``` >Set_ScaraPos(0,0,0,0); >``` **说明**:输入值为1轴,2轴,3轴,4轴各个轴要达到的目标点; *** ## 获取Scara机器人某轴的位置值(UNO-R) **功能**:获取该机器人某一个轴的位置角度值; **mixly编程**: >![](https://img.kancloud.cn/bc/42/bc4234b8327b31d47db86e7b079f3b35_370x35.png) **arduino-IDE编程函数**: >``` >Get_ScaraPos(0); >``` **说明**:返回值为该关节的角度值; *** ## 等待Scara机器人上一个动作执行完毕(UNO-R) **功能**:等待该动作完全执行完毕,才进行下面的代码运行(中断除外); **mixly编程**: >![](https://img.kancloud.cn/b0/7e/b07ebd7dbf972fd957c81d56775bfb9d_316x41.png) **arduino-IDE编程函数**: >``` >WaitFinish_Scara() >```