admin管理员组

文章数量:1530017

这个项目主要实现K210智能垃圾识别,舵机开关盖,红外对管检测垃圾桶余量

04.11

由于整个项目最困难的部分就是K210智能垃圾识别,所以先从此开始,整个流程简单来说就是获取垃圾照片,改变照片参数,进行标签标注,上传网站/在软件上进行模型训练,将模型等文件烧录进K210,参考的资料有

1.【[教程]从0自制模型,实现多物体识别(以k210多数字识别举例)】 https://www.bilibili/video/BV13G411V7jd/?share_source=copy_web&vd_source=8abf7d8345d6055626942236f107b20d
视频简介有用到的所有软件及工具的资料,可以直接跟着做
2. http://t.csdnimg/Uq9pu
这篇文章有文字版的制作流程,可以做参考资料更好的了解k210的使用流程

1视频是用maixhub网站进行的模型训练,2文章是用的Mx-yolov3软件进行的本地模型训练,2需要下载的东西多,操作也更困难,推荐看视频为主,文章做参考

3.http://t.csdnimg/nxwYQ
这是利用爬虫在网站上获取垃圾照片

4.垃圾照片的百度网盘资源,将垃圾分为四大类,40小类,每小类400以上照片,百度网盘资源还在上传,等下次更新再附上资源
链接:https://pan.baidu/s/11xd5rN26Vd0H6IEtxru2Lg?pwd=8mia
提取码:8mia
我试着将俩小类垃圾牙签和竹筷做好标注,并训练了模型,但是准确率太低,感觉是训练集环境过于杂乱或者训练集太少的原因
5.决定用K210拍照获取训练集,需要准备的工具:一张支持SPI通信的FAT32格式的SD卡(最好买sipeed官方的SD卡,一定要确保能SPI通信),以及Maixpy IDE软件,用K210拍照并存储在SD卡中的代码链接:https://pan.baidu/s/1Irgg7YdG7AIVTyWFPyXtnA?pwd=q72t
提取码:q72t

可以选择用K210连接电脑运行代码,也可以选择将代码保存到K210内做为启动程序(操作步骤在上图)

6.打算先完成K210与STM32的串口通信,下面代码为K210向STM32发每隔一秒递增的数据(原文指路:http://t.csdnimg/DzAHq)

# Untitled - By: User - 周日 423 2023
import time #延时函数
from machine import UART #串口库函数
from fpioa_manager import fm # GPIO重定向函数

fm.register(18, fm.fpioa.UART1_TX, force=True)
uart_A = UART(UART.UART1, 115200, 8, 0, 1, timeout=1000, read_buf_len=4096)


def sending_data(x,y,z):
    FH = bytearray([0x2C,0x12,x,y,z,0x5B]) #将x,y,z数据存入FH这个数组中
    uart_A.write(FH); #使用串口发送数据,将这个数据包发送出去

Cx = 0
Cy = 0
Cz = 0

while True:

    Cx+=1;
    Cy+=1;
    Cz+=1;
    sending_data(Cx,Cy,Cz)
    print("Cx:",Cx,"Cy",Cy,"Cz:",Cz)
    time.sleep_ms(1000)

K210要向STM32传递的数据是垃圾识别的标签以及识别的准确率,STM32接收数据后要能将标签以及准确率在OLED上显示出来
串口通信传递的是数据字(8位或9位),字符串能转换为1bit数据字吗?

本文标签: 垃圾桶智能