ESP32 MicroPython项目实践开发教程
文章平均质量分 85
基于ESP32使用MicroPython语言开发智能小车项目实践教程
物联网程序猿
1、多年的智能家居,智慧酒店、智能安防、及大型公共场所智能控制经验;
2、在工作中积累了多年的RS485总线、dmx512、zigbee、wifi、Nb-Iot、4G、网络相关通信协议。
3、业余时间研究一些新的技术,以为不再年轻的自己留下曾经拼搏的痕迹。
展开
-
ESP32 MicroPython 小车摄像头目标追踪⑮
根据小车的AI颜色识别红色识别返回的信息,计算出目标图像在前方的左边还是右边和中间,如果图像在中间则小车前进且使用超声波测量前方的距离,测量到前方距离如果小于设定的值(20cm)时,小车停止前进。如果图像目标在左边或者右边,小车将向相应的方向转向并直行寻找目标。放置小车到地面,小车自动左右转动超声波模块以便寻找红色目标。程序代码可以在资料包目录“\智能小车mpy例程\综合实验\07-小车摄像头目标追踪”main.py 找到。技术支持抖音:易驱达Easy Drive Coming。原创 2024-02-22 08:43:17 · 605 阅读 · 0 评论 -
ESP32 MicroPython 小车红外自动寻迹与避障⑭
小车控制舵机转动到中间位置,读取前方距离。本次实验和上个红外寻迹实验类似,他们不同的是检测黑色线方式不一样,本次实验使用摄像头AI颜色识别黑线功能,实现对赛道黑线寻迹行走功能。上传代码文件main.py到小车内部存储后,关闭电源再次打开,把小车放到赛道上,黑线位于小车中间,小车自动根据黑线轨迹行走。上传好代码到小车内部存储后,重启电源放到赛道上,黑线位于小车中间即可实现黑线跟随。本实验需要用到黑线赛道地图,小车使用红外识别黑线功能,进行黑线赛道识别跟随。使用小车AI摄像头识别颜色功能,实现赛道黑线寻迹功。原创 2024-01-22 08:42:36 · 1524 阅读 · 0 评论 -
ESP32 MicroPython WEB蓝牙红外遥控小车⑬
按下遥控器的“+”加号时控制小车前进,“-”减号时小车后退,“向左”时小车左转,“向右”时小车右转,“播放”按钮时小车停止。使用小车显示屏显示蓝牙连接情况,开启蓝牙名称为“yqd-car”,并设置连接到小车蓝牙后接收数据回调函数,在回调函数里面我们APP软件发送控制小车的前进、后退、左转和右转去控制小车。搜索到小车蓝牙名称“yqd-car”后,点击名称进行连接,连接成功后小车显示平显示连接成功。使用小车顶板的红外接收传感器进行解码红外遥控的值,将接收到的值进行控制小车前进、后退、左转和右转。原创 2023-12-02 08:41:44 · 1413 阅读 · 0 评论 -
ESP32 MicroPython 颜色及二维码识别⑫
cam.OV2640(frame=2) ,构建颜色识别模型参数为设置识别红色ai.colorDetection( color = ai.COLOR_RED,displayType=1)。运行程序后摄像头对准下面二维码,二维码信息为“hello mycar”,识别到后在显示屏显示出识别内容,并且在调试界面打印出识别结果。对于学习颜色识别模式(ai.COLOR_STUDY),需要先将摄像头对准要识别的颜色,进行学习,学习成功后即可完成特定颜色识别。使用摄像头的AI颜色识别模型,识别红色。并在显示屏显示出图像。原创 2023-11-23 08:33:44 · 487 阅读 · 1 评论 -
ESP32 MicroPython 人脸检测⑪
运行程序后,长按按键等待绿色LED亮后松开按键,进入录入人脸信息,摄像头对准要录入的人脸,录入成功后,系统自动返回录入成功对应的ID,且退出录入模式,进入识别人脸模式。运行程序,等待显示屏出现摄像头画面后,使用摄像头对准打开的猫脸图片进行识别,识别到后会在猫脸绘制出矩形方框。可以在显示屏看到摄像头拍摄画面,摄像头对准人脸检测,识别到人脸后打印出人脸特征坐标。通过按键控制录入人脸信息,录入成功后调试窗口打印出录入的ID,摄像头采集图像并识别录入的人脸,检测到在屏幕显示出ID。人脸识别功能可应用在考勤机上。原创 2023-11-22 08:44:37 · 459 阅读 · 1 评论 -
ESP32 MicroPython AI摄像头应用⑩
对于AI功能我们已经移植好MicroPython的库到小车固件,内置有6种模型,分别是:移动检测、人脸识别、人脸检测、猫脸检测、颜色识别、二维码识别。编写程序后点击运行,稍等几秒钟后可以看到LCD显示屏显示图像,在软件调试界面有数据不断打印。使用摄像头采集图像并在LCD显示屏显示,启动AI移动检测模型检测并读取检测到的变化像素大小,如果变化的像素超过检测阈值,图像显示会在左上角显示出绿色实心矩形。移动检测用于检测摄像头区域物体变化,使用移动检测可以作为物体闯入监控,下面实验我们来学习移动检测的使用。原创 2023-11-21 08:42:35 · 436 阅读 · 0 评论 -
ESP32 MicroPython wifi的使用⑨
配置好服务端软件后,我们修改代码wlan.connect(‘yqdxc’, ‘123456789’)里面的’yqdxc’修改为自己的路由器WIFI名称,'123456789’修改为WIFI对应的密码。运行代码后,我们在NetAssist软件界面可以看到数据接收框看到有小车连接信息,输入发送字符串后,点击发送,可以看到小车的接收到的数据显示在屏幕上,同时看到软件接收到小车发送的“hello car”数据。主要应用在远程控制,数据传输和图像传输等方向。技术支持抖音:易驱达Easy Drive Coming。原创 2023-11-20 08:38:03 · 657 阅读 · 1 评论 -
ESP32 MicroPython 图像采集及拍照功能的使用⑧
编写好程序后运行代码,可以在显示屏显示图像,调整好角度按下按键,可以看到小车内部文件系统保存好照片,pic+文件命为数值+.jpg形式,如下图拍摄完成后我们复位下小车,再次连接到thonny软件可以看到拍摄的4张图片,我们点击任意一张上传到电脑目录下,再打开下载的图片即可看到我们拍摄的图像。小车配有摄像头,可以使用摄像头实现拍照、图像显示、图像识别等功能。小车已经内置有我们专门移植的摄像头驱动库函数,使用摄像头库函数可以实现我们想要的功能。编写好代码后,运行程序可以看到摄像头采集的图像显示。原创 2023-11-20 08:37:02 · 1082 阅读 · 1 评论 -
ESP32 MicroPython 蜂鸣器及传感器的使用⑦
编写好代码,点击运行程序后,在显示屏显示了温度、湿度,我们向顶部传感器吹一口气可以看到温度和湿度都变化。我们小车顶板配置有温湿度、空气质量、火焰、光敏传感器,下面我们来学习如何去读取他们,方便我们后面做应用时方便使用。学习使用使用定义函数关键字def,调用另一函数内的“使用方法”,6.3章节myCar.buzzer(freq)读取小车顶板温湿度、空气质量、红外遥控解码、光照强度、火焰传感器数据。并且在显示屏上显示出来。保存好参考代码后,执行运行程序可以听到蜂鸣器演奏《两只老虎》的乐谱。原创 2023-11-19 13:25:39 · 418 阅读 · 1 评论 -
ESP32 MicroPython UART及小车类构造函数实验⑥
保存好参考代码后,执行运行程序可以看到小车开始以50的速度前进2秒后,再后退2秒、右转2秒、左转2秒最后停止。在上面我们可以知道小车控制的构造函数和使用方法,下面我们开始编写Python代码来控制小车转动。技术支持抖音:易驱达Easy Drive Coming。控制小车的前进、后退、左转、右转。原创 2023-11-18 08:45:38 · 265 阅读 · 1 评论 -
ESP32 MicroPython LCD显示实验⑤
连接小车到Thonny软件后,在文件窗口找到小车的资料包切换到“智能小车mpy例程\基础实验\05-LCD显示屏”目录下,可以看到有一个pic目录,里面已经保存有两张jpg图片,我们需要把这个文件夹上传到MicroPython设备里面。小车配有2.0寸的TFT彩屏,内置有中文GBK字库,可以显示中英文、符号、图片(jpg或者bmp格式)以及自定义的几何图形。显示中文字符、英文字符后,开始每隔3秒循环显示两张图片。本次实验在LCD显示屏上显示文字字符后,循环3秒显示两张图片。1 - 竖屏240 * 320。原创 2023-11-18 08:45:08 · 334 阅读 · 1 评论 -
ESP32 MicroPython点亮LED灯④
在前面我们已经学习了Python语言的基础,我们的智能小车已经内置好了MicroPython固件,内置有我们编写的丰富的库文件,方便调用,可以轻松实现我们想要的功能。在我们编写好代码保存为main.py文件后,在Thonny点击运行后即看到小车的绿色LED闪烁。也可以把main.py文件保存到小车内部flash,这样可以在小车可以脱离软件运行界面直接执行程序。小车控制板有一颗绿色的LED灯,我们通过MicroPython代码来控制控制这个LED灯亮灭。实验中使用到的MicroPython构造函数如下。原创 2023-11-17 08:48:36 · 288 阅读 · 1 评论 -
ESP32 MicroPython基础知识速学③
一般我们要执行Python可以在Window系统安装Python解析器,也可以在我们的小车主控芯片上执行Python程序,后续就让我们通过智能小车和大家一起学习Micropython编程吧。程序里面可以增加一些我们注释的内容,方便我们读程序,注释的文本不参与程序的运行。在编程开发中,我们经常使用到赋值运算,比如计算a=2+2,或者对一个对象进行赋值,a=”hello”+ “hi”等运算。Python的按位运算符是对存储的bit为进行操作的,他们的运算对象是二进制的格式进行运算的。原创 2023-11-16 09:04:56 · 293 阅读 · 2 评论 -
ESP32 MicroPython设备与Thonny的连接②
连接后可以在Shell命令窗口查看小车的MicroPython固件信息,左下角可以看到“MicroPython设备”的文件夹,里面默认有boot.py文件,到这里我们就可以在智能小车上愉快的玩耍MicroPython了。打开Thonny软件,在上面工具栏点击–>“新文件”–>“保存文件”在弹出保存选项中,选择保存到“MicroPython设备”在弹出的窗口中对我们新建的文件命名(我们命名为lab.py,使用者可随意命名),要注意添加后缀“.py”技术支持抖音:易驱达Easy Drive Coming。原创 2023-11-16 09:02:10 · 605 阅读 · 4 评论 -
ESP32 MicroPython的介绍与环境搭建①
智能小车,一直以来是电子开发者使用MCU的多种资源开发的第一款高集成作品。无论是大学电赛还是毕业论文,都能看到智能小车的身影。从基本的51到功能强大的STM32,开发者在C语言的加持下,已将智能小车功能开发到几近完美。但C语言开发有一定难度,想要高度集成功能更是难上加难,即使有一些开源程序,但也只有一些固定功能,想要发散和增加功能仍需不少功夫,所以很多开发者或望而却步,或半途而止。MicroPython经过优化是可以在微控制器上实现 Python语言运行的,包括Python标准库的一小部分。原创 2023-11-16 09:01:06 · 1016 阅读 · 2 评论