目录
一、介绍
相信很多小伙伴都和我一样,是个外行人但又喜欢动手制作一些创客小物件的。但很多人或多或少会遇到和我之前一样的问题,要么只会玩单片机,要么只懂机器视觉或者某个算法,而从来没有真正的将人工智能和单片机结合起来制作出一个实实在在的智能化小物件。
本次我制作的物品可以实时地通过YOLOv5算法检测目标,当视频中检测到目标时,LED灯管打开,当视频中没有目标时,LED灯管关闭。工作原理也很简单:摄像头实时检测画面中的物体,当有目标出现时,python作为上位机利用串口通信发送指令给单片机(arduino),单片机接收到指令之后会控制继电器的通断,来实现LED灯管的亮灭。
本次制作可能偏向于有一定机器视觉基础的小伙伴,最麻烦的地方也是视觉部分的调试,arduino部分和串口通信部分相对容易。
二、前期准备
主要有三个部分需要准备:机器视觉部分、串口通信部分、arduino部分
1.机器视觉部分
- YOLOv5所需环境和代码(代码本人可以提供,但是环境需要自己搭建,网上搜一下,有很多博主或者up主讲解的环境搭建的案例都很好),其实不一定非要是YOLOv5,任何算法或者是目标检测的算法可以,前提是要在python上实现的。(如果有需要,可以只需自己搭建个环境,我的视觉部分的代码可以提供给各位小伙伴。)
- 普通的USB连电脑的摄像头,或者笔记本自带的摄像头也可以
2.串口通信部分
主要就是串口通信部分的代码,这个代码是用在python上的。 使用这段代码之前需要在机器视觉的代码里安装一个包,且这个包必须要安装在自己的环境里面,如图1所示。(环境其实就是 图中所示的 (pytorch) E: )
图1
没有这段代码&