OTTO机器人是一个开源外壳,硬件和软件的桌面机器人项目,非常适合新手研究和拓展。
我一直希望找一个合适的项目入手研究机器人,这种项目最好是软硬件都开源的,可以随着自己的想法无限的扩展和私人订制,做为初学者,我希望这个项目简简单单并且容易入手,最好能够学习尽可能多的传感器,最好支持更多的平台,比如arduino,esp8266,esp32,stm32,51等,这样可以通过一个项目学习到更多知识,最好能通过视觉,听觉,说话,运动能力并与人交互,无意间在github发现OTTO。经过初步的研究, 虽然没有视觉和语音,但可以通过esp32,离线语音等拓展实现一些简单的对话,感觉这个项目很适合练手。
这个项目很早就开源了,经过了非常多的迭代。最原始的版本由一个arduino芯片和四个舵机加一个超声波传感器组成,这对于初学者非常友好。通过简简单单的学习,就可以掌握arduino初步的开发知识,以及舵机控制和超声波雷达的应用知识,最主要的是掌握用舵机模拟机器人行走和其他动作。
后来的迭代中,有大佬又给机器人添加了手臂,添加了声音传感器,触摸传感器,手机蓝牙操控,离线语音等功能,全部掌握,就可以制作了一个功能还算不错的桌面机器人。当然,原始版本只支持arduino,而arduino的缺陷也很明显,内存和rom很小,当你的代码过多时,你就要考虑是吃鱼还是选择熊掌了。所幸这并不是一个问题,OTTO发展到现在,经过各路大佬的努力,他已经不限于arduino平台,esp32,stm32都可以,这使得我们可以通过切换到更强的芯片上来拓展他。
otto的核心就是一块arduino nano和四个舵机,初入手的可以从这个入手只购买arduno,四个舵机和外壳。想美观一些的话,可以加个超声波,需要买一个外壳或者打印一个外壳,外壳一般二十块左右,四个舵机十块出头,arduino加上拓板十块出头,超声波二三块,整体五十块不到。这样可以做一个会自已运行跳舞的机器人,完成了这一步,差不多就可以了,不会代码的需要下载别人定义好动作的,懂代码的可以自己定义各种有趣的动作和动作组合。
后面如果想要控制,需要自己购买蓝牙模块,然后可以通过手机app控制。还可以添加无源蜂鸣器,这样机器会发一些简单的声音,添加oled屏或者led灯屏,这样可以做一些简单的表情动作增加趣味性。语音可以使用离线语音,替代掉蓝牙,实现语音控制,两者本质是一样的,arduino固件完全一样,只不会使用语音模块的串口替代下蓝牙的串口和arduino通信。
这是我组装的arduino,使用asrpro语音控制芯片,也可以使用蓝牙,蓝牙模块最好使用经典蓝牙或者双模,我网上下载的app只支持经典的,hc05或者06,jdy31b双模也可以,hc的相对比较贵,听说出口的,可能质量比较好,用起来差不多。外壳有老式的,不带手臂的,也可以买新工带手臂的,价格差不多,老式的壳有些小,我的电池装不进去,max7219点阵屏也只能放外面。
代码: GitHub - blogercn/OTTO-DIY---app: OTTO DIY app created for bluetooth conectivity 也可以使用下面的代码: https://github.com/blogercn/OttoDIY_Vbot/tree/master 代码里有个android app,手机蓝牙可以使用,功能有超声波,无源蜂鸣器,声音传感器,max7219点阵模块,蓝牙等,不需要修改代码,把有的元件插上就行,没的空着不影响使用。添加离线语音并不需要修改固件,只是把蓝牙手机发送的指令使用语音模块发出来就行了。隔天把我自己写的蓝牙测试app传上去。 下面是蓝牙或者语音的串口控制指令,M是移动和跳舞指令,H是综合指令,可以既有动作,也带屏和声音,S是音乐指令,可以播放一些声音,手机或者语音模块通过串口把这些指令发给arduino就可以了, +CONNECTING<<FC:02:96:A8:A0:97
CONNECTED
S J 4 S M 1 1000 S S M 2 1000 S S M 3 1000 S S M 4 1000 S M 8 1000 S M 19 1000 S M 12 1000 S M 6 1000 S M 20 1000 S M 14 1000 S M 17 1000 S M 15 1000 S M 11 1000 S M 5 1000 S M 9 1000 S L 111000000000000000000000000000000 H 2 H 1 H 6 H 4 H 12 H 7 H 10 H 11 H 3 H 8 H 9 H 13 H 5 K 1 S K 14 S K 3 S K 4 S K 5 S K 6 S K 7 S K 8 S K 9 S K 10 S K 11 S K 12 S