KOI扩展
KOI是一款人工智能模块,具有机器学习、人脸检测等多种复合功能。当掌控板遇上KOI,你将多了许多新的玩法。
快速演示
这里是一个基本的机器学习物体分类的项目演示,该程序通过掌控板控制KOI运行分类算法,学习并对笔进行辨别;当KOI识别到目标物体后,将结果返回给掌控板通过if判断在掌控板屏幕显示对应的识别名称。
上面的演示视屏效果中的程序如下,我们通过这个程序让大家清晰了解掌控板配合KOI的编程思路,关注以下几个点:
- 掌控板接插方向:如果你使用的是Robotbit扩展板,请参考如图方向,掌控板屏幕朝向Robotbit电池方向,并记得打开电池电源开关
- KOI的接线引脚:KOI与掌控板的通讯采用串口,串口接线是最容易错的,请参照如下图
以这个方向看KOI,从上到下的接口名称依次为KOI的TX
、RX
、VCC
、GND
如图所示的接线用表格记录为
KOI | Robotbit(掌控板端) |
---|---|
TX | P2(RX) |
RX | P1(TX) |
VCC | 5V |
GND | GND |
P2为什么是掌控板的RX?那是由于串口引脚分为TX和RX,数据从设备A发送到设备B,所以TX需要接RX,反之亦然
- TX(Transmit):发送数据
- RX(Receive):接收数据
- 编程程序加载KOI扩展:KOI扩展是高级扩展,需要手动添加
KOI的初始化:掌控板在与KOI通讯前需要先设置自己的串口引脚,通过第2步中TX、RX的讲解,这里我们可以啪的一下很快将tx和rx的引脚确定下来。
编写功能程序:根据上面的演示视频,我们将程序拆解为以下2大部分来理解 | 初始化 |
- 连接KOI时,设置掌控板自身的TX和RX引脚
- 由于方便查看KOI效果,我们将KOI的屏幕方向设置会后置(前置和后置的理解跟手机拍照的理解一样)
- 因为要使用特征分类,需要先初始化特征提取器(能够将已经学习的分类清楚,所以这里叫做`重置特征提取器`)
编写功能逻辑
- 掌控板通过什么控制KOI?:
- 我们想通过按键A、B,以及A+B来分别控制KOI执行不同的动作
- 程序要实现什么效果?:
- 通过按键A来让KOI以自身屏幕的画面为素材学习一次,并命名为“pen”(此时镜头要对准笔);
- 通过按键B让KOI对一个没有笔的空背景进行学习,并命名为“nothing”,表示没有
- 此时A和B可能需要分别多运行几次,来收集多一些素材,提升识别成功率(就像人的记忆,多见几次就熟了)
- 通过按键A+B控制一个变量,这个变量在程序中如果为真
,那么掌控板便会不断发消息让KOI运行分类功能,将KOI识别返回的结果pen
或者nothing
打印在掌控板的屏幕上。
|
最后记得将这个程序上传到掌控板,查看运行效果。
FAQ问题解答
Q:KOI不受控?
可能由于串口初始化没有通过,请尝试拔掉USB线、关闭Robotbit电源,让作品完全断电后,重新打开Robotbit电源开关。