V1机器人循迹板说明
Posted gentleaves
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了V1机器人循迹板说明相关的知识,希望对你有一定的参考价值。
V1寻迹板使用说明
本寻迹板说明分寻迹板模块本身与上位机两部分
寻迹模块
尺寸
寻迹板用法
寻迹板拥有10个灰度传感器通道,其通道顺序定义如下图,从左往右依次为1-10通道。每个红外对管正上方有一个指示灯,用于指示其传感器的黑白线状态。板上丝印为UART的接口为寻迹板的串行接口,寻迹板的上位机调试以及单片机连接寻迹板都使用此串口。另外两边的IIC接口等待后续开发,暂时不用。寻迹板正常运行时,板上按键侧边的state指示灯会闪动。
寻迹板的阈值和参数调节主要依靠电脑端上位机来完成,上位机用法点这里。以下说明只针对已经通过上位机调节好参数的寻迹板连接单片机时的状态。
寻迹板使用的波特率为57600
,且不可更改,当单片机连接寻迹板的时候,可以设置的东西如下(所有收发的包均以7个字节为单位):
指令发送
指示灯设定 : 7B | 0e | 0关1开 | 00 | 00 | 校验和 | 7D
巡线值是否发送: 7B | 0d | 0关1开 | 00 | 00 | 校验和 | 7D
指令应答
指示灯设定 : 7B | 0e | 0关1开 | ‘O‘ | ‘K‘ | 校验和 | 7D
巡线值是否发送: 7B | 0d | 0关1开 | ‘O‘ | ‘K‘ | 校验和 | 7D
指令中的指示灯设定指令用于开关寻迹板上的10个指示灯,如果你不希望它在运行的时候闪来闪去的话可以关掉它,也可以使用上位机完成此项功能,不过为了防止寻迹板卡死的情况,此项功能是不可以断电保存的。也就是说如果你不喜欢它开指示灯的话,每次上电都要设置一下。
指令中的巡线值是否发送指令用于开关寻迹板自动发送巡线值的功能,为了保证寻迹板返回巡线值的实时性,在此设计成寻迹板自动向主机发送巡线值。关闭此功能的话,寻迹板就不会发了。同上,此项功能设置后断电不会保存。
寻迹板上电一开始会进行指示灯自检,10个指示灯轮流点亮,以方便人眼观察寻迹板是否有问题,然后就是正常运行了。
寻迹板正常运行时会以一定频率(大约100hz)发送当前寻迹板传感器下面的巡线值(0或者1) 其格式如下:
7B | 04 | 三个字节 | 校验和 | 7D
其中的(三个字节) 包含了巡线值,其规则如下:
每一路通道的巡线值均用0 1 表示,寻迹板通道数量为10,寻迹板内巡线值用一个uint16_t 变量表示,寻迹板有10个通道,在此使用了变量中的低10位,第n位的bit值就是第n通道的巡线值。例如,0000 0011 1111 1111
表示寻迹板下面全是黑线, 0000 0011 1110 0000
表示6-10通道为黑线。
假设以 0000 0098 7654 3210 为巡线值,则三个字节的内容依次为 0000 0098、0000 7654、0000 3210 即三个字节的高四位都是0,不是巡线值,只是占位用的,字节的低四位为有效的巡线值。
还不懂的话可以看下寻迹板上单片机的发送程序:
CommandStart();
CommandSend(0x04);
dat = (uint8_t)(line_state >> 8) & 0x0f; //发送高四位
CommandSend(dat);
con += dat;
dat = (uint8_t)(line_state >> 4) & 0x0f; //发送中四位
CommandSend(dat);
con += dat;
dat = (uint8_t)(line_state) & 0x0f; //发送低四位
CommandSend(dat);
con += dat;
CommandSend(con % 2); //发送校验位
CommandEnd();
校验位为和奇偶校验,除去包头包尾7B和7D
和校验位这三个字节,剩下四个字节转成10进制数加起来是奇数则校验位为0x01,偶数则为0x00。
示例程序:
/*为了防止和超限,最好转成整型再加*/
unsigned char command[5];
int sum = (int)command[0] +
(int)command[1] +
(int)command[2] +
(int)command[3];
command[4] = (char)(sum % 2);
上位机使用说明
软件界面介绍
上位机使用Java编写,软件界面设计,以及按钮意义都已在图中标明。
使用姿势
- 使用usb转串口模块,按照正确的接线顺序连接到寻迹板上,寻迹板放到带有黑白线的试验场地上,寻迹板需要与地面保持一定的高度,注意:本寻迹板不支持自适应高度。 调试时候的高度最好与实际安装时的高度一样。
- 在上位机上选择对应的串口并打开,打不开的话,请检查串口问题。
开启调试模式,点击按钮”DBUG_ONOFF“,下方会提示DEBUG状态,当显示
DEBUG mode open
时表示调试模式已开启,灰度值显示区域内显示每个通道的灰度值。使寻迹板保持高度不变,在场地上蹭来蹭去,保证每个通道都采集过黑线与白线的灰度值。
点击上位机上
SET_ALLCHANNEL
按钮,自动设定所有通道的阈值。如果有需要手动调整的话,可以拖动阈值设定区的拖动条。鼠标松开自动发送。 如果刚才的采样不准确,希望重新采样,点击CLEAR_MAX
按钮。然后重新进行步骤4。保存阈值,点击上位机左侧的
SAVE_ALL_VALUE
按钮,即断电保存数据设定完成。 就可以用了。
以上是关于V1机器人循迹板说明的主要内容,如果未能解决你的问题,请参考以下文章