跳到主要内容

前期准备

垃圾分类采用的是特征分类识别,属于机器学习,其原理是通过让机器采样一些特定的图片,由机器学习的算法生成一套训练好的模型(训练模型的过程已经简化为自动进行,不需要我们应用层面进行操作),通过这套训练好的模型就能够让电脑通过摄像头辨认出那些已经有图片采样过的物体。

人工智能垃圾分类在Kittenblock的使用步骤大致可分为5步:

  1. 建立好垃圾名称和类别的数组列表,将类别作为列表名称,垃圾的名称作为列表里的元素
  2. 拍照采样物体图片,并给素材标定一个名称,这个名称要跟列表里的垃圾名称对应噢(关于采样非常简单,不需要深入到如何训练模型,只要拍摄物体即可,角度尽量不同,这保证机器学习尽可能提高识别率)
  3. 将训练过的物体再放置于摄像头下,可识别出物体返回标定的名称
  4. 通过判断返回的名称属于哪一类垃圾(即在哪个列表中)来制作逻辑,控制舵机打开对应的分类垃圾桶
  5. 为了下次使用,保存模型

资源包下载

📥点击下载

材料准备

你可以自备零件 或者 直接购买喵家淘宝的 AI人工智能 垃圾分拣学习套件,省心方便

  • Microbit主控板,USB数据线
  • 能量魔块十合一套装(能量魔块主控盒、电池盒、4xGeekservo灰舵机、乐高结构等等)
  • 垃圾分类垃圾桶 + 分类卡片。
  • 常见杜邦线4PIN以上(用于拉起垃圾盖的结构用)
  • USB摄像头和摄像头支架(用于识别种类卡片,不推荐用电脑自带摄像头的原因是,分离式的摄像头录入图片数据,调整USB摄像头为俯视状态录入会更方便些)

制作过程

钻孔

信息

购买套件的用户已无需钻孔,喵家以为你们钻完孔了

首先在垃圾盖钻一个小孔(你可以使用美工刀,我这里使用了小电钻),杜邦线恰好能穿过小孔即可。杜邦线在垃圾盖内侧需要使用AB胶进行粘贴(AB胶使用方法),或者使用热熔胶。同理另外三个垃圾盖按照相同的方法进行处理。
0116.png

安装拉线

首先将杜邦线的另外一头剪掉,我们用剩下的那部分从垃圾盖的内部穿出到外表面。垃圾盖内部,用热熔胶把杜邦线和垃圾盖粘在一起。用杜邦线穿过乐高摇臂零件的孔,不用打结或者打热熔胶,多穿几圈即可。很有友友这里不明白,为什么一定要使用硬硬的杜邦线,我用普通的绳子不行吗?起到拉起效果的时候,这两种材料是没有什么区别的。但当垃圾盖闭合的时候,因为垃圾盖比较轻,无法依靠自身重力把盖子合上。杜邦线本身材质比较硬。所以在舵机的带动下,杜邦线提供一定的推力,使垃圾盖合上。这里演示使用了热熔胶,你可以使用AB胶进行粘贴更方便。
0215.png
0313.png
282.png

粘贴舵机

舵机这里采用是能量魔块套件里的舵机。这个舵机的优势是尺寸方正,可以与乐高结构件结合。可惜是我们的垃圾桶是没有乐高孔,我们也是借助AB胶或者热熔胶枪把舵机粘贴垃圾桶的背后侧壁上。
在舵机的凹陷涂上均匀的一层AB胶水或者热熔胶(这里演示是用热熔胶),趁热把舵机粘贴到垃圾桶上。注意舵机的粘贴位置尽量保持一致。这样软件上的控制就可以保持四个都是一致了。
0513.png0710.png

电路连接

主控盒与电池盒结合,能量魔块的一个优点就是,它们既是电子模块,又是机械机构件,所以拼装的时候会显得十分紧凑而美观。电池盒的自锁开关记得打开,因为舵机的动力是由电池盒进行提供的。能量魔块的主控是Microibt,采用主流的主控板可以减少用户的学习成本。
1111.png
137.png
舵机接线:
舵机的线序是由黄红黑组成,恰好对应主控盒背后的黄红黑插针。注意不要插错。舵机我们这边是接S1-S4

  • 可回收物—>S1
  • 有害垃圾—>S2
  • 干垃圾 —>S3
  • 湿垃圾 —>S4
    信息

    请一定按照我的方式进行插接奥,方便程序的调试。

    147.png
    危险

    安装舵机摇臂之前,请一定先在kittenblock上写一个程序,确保舵机能动并且去到一个适合拼装不会卡位的角度,这方便于你后续的舵机开盖。不注意这一点会导致实际开盖的现象由于舵机角度不对而反复找问题。
    可以先跳转到

安装舵机摇臂

这个乐高摇臂也是能量魔块套装里面的乐高零件,取4个出来,安装到舵机的输出轴上
0810.png
099.png

手动模拟

我们手动模拟下舵机拉线,直接摆动乐高零件,检查垃圾盖是否能被正常拉起。
1011.png

完成基础准备

158.png

信息

完成了基础安装,下来我们就可以开始编程之旅了,由简单到复杂,开始学习制作一个AI分类垃圾桶。
请尽可能按照01~04的顺序进行,有助于理解

01垃圾桶的开启与关闭
02自定义函数
03交互式垃圾桶
04AI垃圾分类桶