K210自动驾驶

K210自动驾驶一、硬件连接二、代码解析三、主要函数四、K210烧录程序五、实验现象

一、硬件连接

K210视觉模块MSPM0G3507
5V5V
GNDGND
RXTX2
TXRX2

实物连接图

image-removebg-preview

原理图

image-20251029164049976

image-20251029164030395

image-20251029164356332

K210协议

实验例程开始符长度例程编号例程组数据量x分隔符y分隔符w分隔符h分隔符校验位结束符
颜色识别$XX01BB04XXX,XXX,XXX,XXX,XX#

控制流程图

开始
K210学习阈值成功
KEY1是否按下
单片机解析数据并控制小车做出反馈
小车静止

 

二、代码解析

bsp_k210_use.c

k210部分源码

三、主要函数

APP_K210X_Line_PID

函数原型void APP_K210X_Line_PID(void)
功能描述基于 K210 摄像头反馈的巡线 PID 控制函数:计算黑线在摄像头画面中的位置偏差(以屏幕中间 160 为基准,结合偏移量和目标区域参数),调用 APP_K210X_PID_Calc 得到转向控制量,通过 Motion_Ctrl 控制小车运动(直线速度为 K210X_SPEED)
输入参数
返回值

BSP_Loop

函数原型void BSP_Loop(void)
功能描述主循环函数:检测按键短按事件切换 g_key_flag 状态。当 g_key_flag 为 0 时,停止电机、重置电机 PID;为 1 时,执行 APP_K210X_Line_PID 进行摄像头巡线控制
输入参数
返回值

四、K210烧录程序

下载打开CanMV IDE后,我们需要先将本节课程提供的k210源码将follow_line.py拖到CanMV IDE打开,然后连接IDE

image-20251029180540342

IDE连接成功后现象如下

image-20251029181342135

我们这里以follow_line.py为例,打开上方菜单栏的工具->保存当前打开的脚本为(main.py)到CanMV Cam

image-20251029205906069

image-20251029181630720

这里Yes/No都可以选择。出现以下状态就是写入成功了。

image-20251029181701230

五、实验现象

烧录程序后,打开电源开关,等待系统初始化完成后,LCD显示摄像头画面,并且屏幕中间有一个白色的方框,请将要识别的颜色放到白色方框内,等待白色方框变绿则开始采集颜色,采集完成绿框消失,开始运行程序。学习颜色学习成功后,按下开发板上的KEY1,小车就会开始巡线行驶,注意需要学习成功才能按下KEY1,否则需要根据环境调节直方图分位值。