使用VC# 2008速成版编写程序——C# 驱动库函数手册
本手册的函数及参数说明以C# 驱动库为例进行说明,关于C# 语言的编程说明请参考相关书籍。
参数类型说明
int:整形参数,如:100,0,-20
string:字符串参数,如:”开”,”关”
string args:字符串形式逗号分隔的参数,如:”1, 10, 2,-10”
直流电机
函数/作用 | 参数/返回值/说明 |
---|---|
SetMotor(int port, int speed) 设置指定端口的直流电机的速度 直流电机的端口有效范围为1~30。 速度有效范围如下: 普通直流电机-100 ~ 0 ~+100, 10倍精度直流电机 -1000 ~ 0 ~ +1000 速度值为正时正转,为负时反转。直流电机的正反转还与直流电机是否设置为“反转电机”有关。 |
参数 int port:直流电机端口 int speed:直流电机速度 返回值 无 示例 SetMotor(1, 10) 设置端口1的直流电机的速度为10,正转 SetMotor(2, -10) 设置端口2的直流电机的速度为-10,反转 |
SetMotors(int port1, int speed1, int port2, int speed 2, …, int portN, int speedN) 设置多个直流电机的速度 |
参数 int port1, int speed1:第1组直流电机端口及速度 int port2, int speed2:第2组直流电机端口及速度 int portN, int speedN:第N组直流电机端口及速度 参数中的port 与speed必须成对出现 返回值 无 示例 SetMotors(1, 10, 2, -10) 设置端口1、2的直流电机的速度分别为10、-10 |
StopMotors(int port1, int port2, …, int portN) 停止指定端口的一个或多个直流电机 |
参数 int port1:第1个直流电机端口 int port2:第2个直流电机端口 int portN:第N个直流电机端口 返回值 无 示例 StopMotors(1,2) 停止端口1、2的直流电机 |
StopAllMotor() 停止所有直流电机 |
参数 无 返回值 无 示例 StopAllMotor() 停止所有直流电机 |
伺服电机
函数/作用 | 参数/返回值/说明 |
---|---|
SetJoint(int port, int deg) 设置指定端口的伺服电机的角度 端口有效范围为91~120 角度的有效范围为-180 ~ 0 ~ +179,设置的角度值小于-180时,自动调整为-180, 设置的角度值大小179时,自动调整为179。 |
参数 int port:伺服电机端口 int deg:伺服电机角度 返回值 无 示例 SetJoint(91, 45) 设置端口91的伺服电机驱动到45度 |
SetJoints(int port1, int deg1, int port2, int deg2, …, int portN, int degN) 设置多个伺服电机的角度 |
参数 int port1, int deg1:第1组伺服电机的端口与角度 int port2, int deg2:第2组伺服电机的端口与角度 int portN, int degN:第N组伺服电机的端口与角度 参数中的port 与deg必须成对出现 返回值 无 示例 SetJoints(91, 45, 92, -90) 设置端口91、92的伺服电机的角度分别为45、-90度 |
SetJointsSimStep(int stepDeg, int time, int port1, int deg1, int port2, int deg2, …, int portN, int degN) 设置多个伺服电机以指定的步进量、指定的间隔时间,驱动到目标角度 此函数自动将一个或多个伺服电机以相同的步进,相同的步进间隔时间同时驱动 同时驱动多个伺服电机时,目标角度与当前角度的角度差小的伺服电机先到达目标角度,角度差的伺服电机后到达目标角度。 |
参数 int stepDeg:每次驱动的步进角度 int time:每两次步进之间的间隔时间,单位毫秒,有效的时间为>10ms int port1, int deg1:第1组伺服电机的端口及目标角度 int port2,int deg2:第2组伺服电机的端口及目标角度 int portN,int degN:第N组伺服电机的端口及目标角度 参数中的port与deg必须成对出现 返回值 无 示例 SetJointsSimStep(10, 100, 91, 45, 92, -90) 以每次10度的步进量,每次间隔100ms,将端口91、92的伺服电机的角度分别驱动到45、-90度 |
SetJointsSimTime(int time, int port1, int deg1, int port2, int deg2, …, int portN, int degN) 设置多个伺服电机在指定的总时间内驱动到目标角度 此函数自动将一个或多个伺服电机在指定的总时间内平滑地、基本同时驱动到目标角度 同时驱动多个伺服电机时,目标角度与当前角度的角度差小的伺服电机转动速度较慢,角度差大的伺服电机转动速度较快,最终同时到达各自的目标角度 |
参数 int time:驱动到目标角度的总时间,单位毫秒 int port1, int deg1:第1组伺服电机的端口及目标角度 int port2, int deg2:第2组伺服电机的端口及目标角度 int portN, int degN:第N组伺服电机的端口及目标角度 参数中的port与deg必须成对出现 返回值 无 示例 SetJointsSimTime(1000, 91, 45, 92, -90) 在1秒钟的总时间内,将91、92端口的伺服分别驱动到45、-90度 |
屏幕输出
函数/作用 | 参数/返回值/说明 |
---|---|
Print(string value) 将参数的值、内容以字符串形式输出到程序运行窗口 |
参数 string value:任何可用于显示的字符串、变量名、具有返回的函数等 返回值 无 示例 Print(“Hell World!”) 在屏幕上显示”Hello World!” Print(GetDist(31)) 在屏幕上显示31端口的距离传感器的返回值 |
延时与时间
函数/作用 | 参数/返回值/说明 |
---|---|
Sleep(int time) 使程序在此处等待指定的时间 |
参数 int time:等待的时间,单位毫秒(ms) 返回值 无 示例 Sleep(1500) 使程序在此处等待1.5秒 |
StartTime() 开始系统计时,或重新开始计时 |
参数 无 返回值 无 示例 StartTime() 开始计时 |
GetTime() 获取从上次开始系统计时到现在经过的时间,单位毫秒 获取时间之前必须调用一次StartTime(),否则其返回值无意义 |
参数 无 返回值 int time:从上次开始系统计时到现在经过的时间,单位毫秒 示例 StartTime() … int time = GetTime() time的值为经过的时间,单位毫秒 |
传感器设置
函数/作用 | 参数/返回值/说明 |
---|---|
SetValue(int port, int value) 设置传感器的工作参数 目前仅针对“障碍传感器”有效,设置其它传感器无作用 |
参数 int port:障碍传感器的端口 int value:障碍传感器的检测距离,有效值为0~500,参数小于0时自动调整为0,大于500时自动调整为500 返回值 无 示例 SetValue(91, 200) 设置91端口的障碍传感器的检测距离为200 |
滑杆驱动
函数/作用 | 参数/返回值/说明 |
---|---|
SetPrismatic(int port, int pos) 驱动滑杆上的滑块运行到指定的位置 端口有效范围为91~120 位置有效范围为0至不同滑杆的最远位置 |
参数 int port:滑杆的端口 int pos:滑块的位置 返回值 无 示例 SetPrismatic(91, 35) 设置91端口的滑杆移动到35的位置 |
SetPrismatic(string args) 驱动多个滑杆的滑块运行到指定的位置 |
参数 string args:字符串型式逗号分隔的滑杆参数,形式为”int port1, int pos1, int port2, int pos2, …, int portN, int posN” 参数中 的port与pos必须成对出现 返回值 无 示例 SetPrismatics(“91, 5, 92, 10”) 设置端口91、91的滑杆的滑块分别运行到5、10的位置 |
SetPrismatics(string args, int time) 驱动多个滑杆的滑块在指定的时间内运行到指定的位置 滑杆的滑块在指定的时间内平滑地运行到指定的位置 |
参数 string args:字符串型式逗号分隔的滑杆参数,形式为”int port1, int pos1, int port2, int pos2, …, int portN, int posN” 参数中 的port与pos必须成对出现 int time:滑杆的滑块运行到指定位置的时间 返回值 无 示例 SetPrismatics(“91, 5, 92, 10”, 2000) 设置端口91、91的滑杆的滑块在2秒钟内分别运行到5、10的位置 |
弹射驱动
函数/作用 | 参数/返回值/说明 |
---|---|
TanShe(int port1, int force1, int port2, int force2, …, int portN, int forceN) 驱动指定端口的弹射模块的弹射力 |
参数 int port1, int force1:第1组弹射模块的端口及力参数 int port2, int force2:第2组弹射模块的端口及力参数 int portN, int forceN:第N组弹射模块的端口及力参数 返回值 无 示例 TanShe(121, 1000, 122, 500) 设置端口为121、122的弹射模块的弹射力分别为1000、500。 |
画笔驱动
函数/作用 | 参数/返回值/说明 |
---|---|
PenStartWrite(int port) 设置画笔进入画点或者画线状态 |
参数 int port:画笔端口 返回值 无 示例 PenStartWrite(91) 设置91端口的画笔进入画点或者画线状态。 |
PenStopWrite(int port) 设置画笔停止画 |
参数 int port:画笔端口 返回值 无 示例 PenStopWrite(91) 设置91端口的画笔停止画点或者画线。 |
SetPenSize(int port, int size) 设置指定端口的画笔的尺寸 |
参数 int port:画笔端口 int size:画笔尺寸 返回值 无 示例 SetPenSize(91, 5) 设置91端口的画笔的尺寸为5。 |
SetPenColor(int port, “r, g, b”) 设置指定端口的画笔的RGB颜色 |
参数 int port:画笔端口 string r,g,b:字符串型逗号分隔的RGB颜色,形式为”r, g, b” 返回值 无 示例 SetPenColor(91, “255, 0, 0”) 设置91端口的画笔颜色为RGB(255,0,0),即红色。 |
LED设置
函数/作用 | 参数/返回值/说明 |
---|---|
SetLED(int port, string state, string color) 设置指定端口的LED的状态及颜色 |
参数 int port:LED端口 string state:LED状态,”开”,”关”,状态为”开”时,可选颜色,状态为”关”时颜色为黑 string color:颜色,7种可选:”红”, ”橙”, ”黄”, ”绿”, ”蓝”, ”靛”, ”紫” 返回值 无 示例 SetLED(3, “关”) 设置3号端口的LED状态为关闭 SetLED(3, “开”, “红”) 设置3号端口的LED状态为开,颜色为红色 |
传感器
函数/作用 | 参数/返回值/说明 |
---|---|
GetDist(int port) 获取指定端口的距离传感器与物体的距离 距离传感器的的返回值为0~3000 |
参数 int port:距离传感器端口 返回值 int dist:距离传感器与物体的距离 示例 int dist = GetDist(31) 获取31端口的距离传感器与物体的距离 |
GetObst(int port) 获取指定端口的障碍传感器是否检测到障碍 检测到障碍时返回1,未检测到障碍时返回0 |
参数 int port:障碍传感器端口 返回值 int obst:障碍传感器是否在其检测范围内检测到障碍物 示例 int obst = GetObst(31) 获取31端口的障碍传感器是否检测到障碍 |
GetGray(int port) 获取指定端口的灰度传感器检测到的灰度值 灰度传感器的返回值为检测到的颜色的灰度值,范围为0~255。 注:场景中物体并不是所有物体都能检测到灰度值,不能被检测的物体的灰度值为0 |
参数 int port:灰度传感器端口 返回值 int gray:灰度传感器检测到的颜色的灰度值0~255 示例 int gray = GetGray(31) 获取31端口的灰度传感器检测到的灰度值 |
GetLight(int port) 获取指定端口的光线传感器检测到光线强度 |
参数 int port:光线传感器端口 返回值 int light:光线传感器检测到的光线强度 示例 int light = GetLight(31) 获取31端口的光线传感器检测到的光线强度 |
GetTouch(int port) 获取指定端口的接触传感器是否接触到物体 接触传感器的返回值为接触到物体时返回1,未接触到物体时返回0 |
参数 int port:接触传感器端口 返回值 int touch:接触传感器是否接触到物体 示例 int touch = GetTouch(31) 获取31端口的接触伟感器是否接触到物体 |
GetCompass(int port) 获取指定端口的指南针传感器的角度 指南针传感器检测其+Z轴与场景正北方向的夹角,返回值范围为0~359 |
参数 int port:指南针传感器端口 返回值 int dir:指南针传感器的角度 示例 int dir = GetCompass(31) 获取31端口的指南针伟感器的角度 |
GetHeight(int port) 获取指定端口的海拔高度计的海拔 |
参数 int port:海拔高度计端口 返回值 int height:海拔高度计的海拔 示例 int height = GetHeight(31) 获取31端口的海拔高度计的海拔 |
GetLightSignal(int port) 获取指定端口的红外探测器的红外强度 |
参数 int port:红外传感器端口 返回值 int lightSignal:红外传感器检测到的红外强度示例 int lightSignal = GetLightSignal(31) 获取31端口的红外传感器的红外强度 |
GetJoint(int port) 获取指定端口的伺服电机的当前角度 |
参数 int port:伺服电机端口 返回值 int deg:伺服电机当前角度 示例 int deg = GetJoint(91) 获取91端口的伺服电机的当前角度 |
GetHostBattery(71) 获取主机电池电量 |
参数 int port:主机电池电量端口,必须为71 返回值 int hostBattery:主机电池电量 示例 int hostBattery = GetHostBattery(71) 获取主机电池电量 |