本项目利用视觉检测人是否佩戴安全帽,如果未佩戴安全帽将记录下来,上传到onenet云平台,通过TCP协议图传到电脑实时图像,装置利用麦克拉姆轮便于移动,控制通过esp_now协议控制,低延迟控制。本项目利用solidworks设计了二维云台结构连接上maixduino视觉模块,用户通过按红外遥控让红外遥控接收器接收到后,二维云台能够进行两个自由度的运动,让视觉处理器能够运动去检测安全帽。用户通过按红外遥控让红外遥控接收器接收到,控制小车的前进后退,当视觉处理器识别到是否佩戴安全帽会显示在lcd显示屏、电脑显示屏,当识别到佩戴安全帽后会上传到onenet云平台,本项目所有器件构成都来自得捷商城,以及全部应用到上面。
ESP32-S3-DevKitC-1是一款入门级开发板,搭载Wi-Fi+BluetoothLE模组ESP32-S3-WROOM-1、ESP32-S3-WROOM-1U或ESP32-S3-WROOM-2。
ESP32-C3-LCDkit是一款基于ESP32-C3芯片和SPI接口显示屏的评估开发板,不仅通过旋转编码器开关实现屏幕交互,还具有音频播放和红外无线控制功能。由于ESP32-C3具有成本低、功耗低、性能强的特点,能够满足用户基本的GUI交互需求,其在小尺寸屏幕的应用场景中占据优势。
Maixduino开发板以M1Al模块作为核心单元,功能非常很强大,模块内置64位双核处理器芯片,拥有8M的片上SRAM,在Al机器视觉、听觉性能方便表现突出,内置多种硬件加速单元(KPU、FPU,FFT等),总算力最高可达1TOPS,可以方便地实现各类应用场景的机器视觉/听觉算法,也可以进行语音方向扫描和语音数据输出的前置处理工作。此外,开发板还配置了ESP32模块(WiFi+蓝牙一体),简单的操作即可轻松联网。
小车的基本运动控制的话主要是提供四路pwm加上8个GPIO引脚控制正反转
例如控制pwm和限幅:
voidMOTOR_PWM_Init(){ledcSetup(pwm_Channel_1,freq,resolution); //PWM通道一开启设置ledcAttachPin(PWM1,pwm_Channel_1); //PWM通道一和引脚PWMA关联ledcWrite(pwm_Channel_1,0); //PWM通道一占空比设置为零ledcSetup(pwm_Channel_2,freq,resolution);//PWM通道二开启设置ledcAttachPin(PWM2,pwm_Channel_2); //PWM通道二和引脚PWMB关联ledcWrite(pwm_Channel_2,0); //PWM通道二占空比设置为零//ledcSetup(pwm_Channel_3,freq,resolution);//PWM通道二开启设置ledcAttachPin(PWM3,pwm_Channel_3); //PWM通道二和引脚PWMB关联ledcWrite(pwm_Channel_3,0); //PWM通道二占空比设置为零ledcSetup(pwm_Channel_4,freq,resolution);//PWM通道二开启设置ledcAttachPin(PWM4,pwm_Channel_4); //PWM通道二和引脚PWMB关联ledcWrite(pwm_Channel_4,0); //PWM通道二占空比设置为零}二维云台设计软件使用的是solidworks,因为我是创维的3d打印机,所以使用的是创维的切片软件,在后面会提供stl文件。材料清单:
采集数据集可以用下面的代码,采集到的图像会保存到sd卡中,通过读卡器将图片导入maixhub在线标注即可:
例子如下:
整个项目将得捷购买的材料全部使用上了,锻炼了自己换板子,以及调试能力,最后实现了功能,本项目利用视觉检测人是否佩戴安全帽,如果未佩戴安全帽将记录下来,上传到onenet云平台,通过TCP协议图传到电脑实时图像,装置利用麦克拉姆轮便于移动,控制通过esp_now协议控制,低延迟控制。最后十分感谢得捷官方,得捷的工作人员。