编码小虫虫——CodeBug 评测
前言
什么?代码Bug?No No No,此 bug 非彼 bug。所谓编程从娃娃抓起,对于儿童来说要避免抽象和枯燥,CodeBug 团队于是设计了 CodeBug 这么一个虫虫外形的可爱的可编程可穿戴设备,目的是给任何年龄的人提供一个简单方便又有趣的学习编程的平台。
CodeBug 提供 5x5 的点阵显示,触摸输入,I2C、SPI和UART扩展端口,以及钮扣电池供电,方便开发简单的交互作品,以及容易集成到玩具中;使用浏览器在线开发,方便易得;使用多彩方块拖拽方式编程,使得儿童也方便上手。
开箱
包装正面一个大大的图形化电路板,然后是产品名以及官网网址,并将产品的理念“有趣,容易的编程”印制于其上:
背面是一些产品特性介绍:
打开,里面就是虫虫的窝了:
合格证和图文并茂的上手指南,板子和电池(应该还有数据线的,被小编吃掉了):
主要板载资源
主控芯片PIC18F25K50参数简表
扩展附件
官网配备了若干用于扩展的附件,就像搭积木一样,同时IDE上也做了相应仿真模块和功能代码块,可以方便地接插扩展,以及方便地写代码控制。
1. 外壳
有红黑两种
2. 彩色五星环
九颗全彩LED可以分别控制
3. 发光小虫
其实就是单个的全彩LED
开发流程
一、浏览器打开官网在线 IDE 即可开始编程:http://www.codebug.org.uk/create/codebug。
可以看到有做多国语言支持,但目前还没有中文,语言选择列表左边有一个链接可以去申请帮助翻译,有识之士欢迎贡献。
不用注册即可使用,但注册后可以在线保存程序。
二、可以使用拖拽方式编程,也有 Python 和 JavaScript 方式,试了貌似只能看不能编辑。拖拽方块后,会自动生成另外两种语言的程序:
三、在线模拟功能是亮点,可以添加各种附件
并且在线模拟显示运行效果,当前运行的方块会有黄色边框高亮,并且有单步执行功能
四、提供针对 CodeBug 的专用点阵设置模块,可以方便的使用鼠标点出点阵图案,方便的设置动画效果,以及直接输入文字、字符串生成点阵,很方便使用
五、点击左边的 Download 下载按钮即可下载编译好的代码
六、在页面编译及下载代码的时候会弹出烧写指引:按住A按钮的时候接入USB,CodeBug 会显示为一个磁盘驱动器,把页面下载下来的代码复制到其中即完成代码烧写,然后按B按钮运行新代码
七、显示出来的磁盘驱动器截图,其中有一个 html 文件,双击会跳转到官网
功能测试
初次上电
出厂自带的演示是中心一个灯亮后,再一排灯亮从左扫到右,从下扫到上。用手按A、B按钮点阵则显示A和B字母:[!--empirenews.page--]
第一个程序
写代码
按住A按钮将CodeBug接到电脑USB上,然后松开可以看到左上角灯闪动,表示在烧写模式
电脑中可以看到一个CodeBug磁盘
于页面上点Download按钮后下载的文件复制到该磁盘中即可完成程序烧写
查看效果,和页面上的模拟完全一样(这是个gif,word文档里不会动)
试试文字
CodeBug内置了很方便的文字模块,不需要处理底层取字模什么的,直接输入文字就可以显示了,还可以设置动画效果。
如下测试循环左移动态显示字符串“21IC seesea/startnow”:
测试引脚输出
如下在3号引脚间隔0.5秒闪烁LED
测试引脚数字输入
据官方所说,可以触摸输入哦
测试引脚模拟输入
如下代码读取3号引脚的模拟输入值(0-255)缩放范围在 0-9,然后在点阵上显示出来。没有数字转字符的模块,懒得写if else,于是用了这个移动字符串显示的方式来显示变量值。其中最后一个方块获取字符宽度在实际程序中替换为数字5,否则编译失败,推测可能是程序大小超限了导致编译失败的
测试扩展端口使用I2C连接树莓派
参考官网说明进行操作:http://www.codebug.org.uk/learn/activity/62/raspberry-pi-controlled-codebug-with-i2c/
注意的是如果开启树莓派I2C没有生效,请参考上述网址中网友的备注,有一些细节官网说明没有提到。
然后树莓派中使用 python3 来执行如下代码:
import time
import codebug_i2c_tether
if __name__ == '__main__':
with codebug_i2c_tether.CodeBug() as codebug:
codebug.set_row(4, 0b11100)
codebug.set_row(3, 0b11000)
codebug.set_row(2, 0b10100)
codebug.set_row(1, 0b00010)
codebug.set_row(0, 0b00001)[!--empirenews.page--]
测试效果:
没有其它附件,就不做更多测试啦,IDE还有音乐和伺服电机相关的功能模块,反正照片也看不到效果,就留给大家去探索了
总结
1. 模块小巧,易于穿戴;固定孔很大,容易缝制到衣物或玩具上
2. 外观可爱,儿童容易接受
3. 引脚功能丰富,可输入或输出,可数字可模拟
4. 编程方便,烧写容易
5. 官方文档丰富,在线分享的代码也不少,官方博客也有很多创意分享
6. 虽然官方有出一些附件,但还是不够丰富
7. 5x5点阵有点小,显示内容受到限制。一直在想为啥不直接用一个8x8点阵模块而是用独立的 LED 来做成点阵呢,可能是用模块体积大更不美观的考虑吧?
参考资料
1. CodeBug官网:http://www.codebug.org.uk
2. CodeBug官方介绍:http://www.codebug.org.uk/whatiscodebug
3. CodeBug在线IDE:http://www.codebug.org.uk/create/codebug
4. CodeBug数据手册:http://www.codebug.org.uk/assets/extras/codebug_datasheet.pdf
5. CodeBug快速上手指南:http://www.codebug.org.uk/assets/extras/codebug_quick_start_guide.pdf
6. 主芯片PIC18F25K50官网介绍:http://www.microchip.com/wwwproducts/cn/PIC18F25K50
7. 主芯片PIC18F25K50数据手册:http://ww1.microchip.com/downloads/cn/DeviceDoc/cn559457.pdf





