ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 函数目录 [TOC] *** ## Mixly For VSR Mixly For VSR是由VSR科技工厂和北京师范大学博士团队合作可以发的强大的图形化编程软件,通过图形化模块的方式像搭积木一样的搭出ArduinoIDE程序代码。 ![](https://img.kancloud.cn/ba/13/ba13739023384089e38b605ccd127e39_908x702.png) ## 初始化函数 **功能**:将控制器初始化为UNO-S或UNO-R控制器 **说明**:库文件包含,必须添加. 初始化函数,`_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() >``` **说明**:阻塞线程等待Scara机器人上一个动作执行完毕。