2025年颜色代码识别在线(颜色代码识别在线生成)

颜色代码识别在线(颜色代码识别在线生成)有关 OPENMV 最大色块追踪及与 STM32 通信内容 详见 有关串口 DMA 传输的内容 详见 1 芯片 STM32F103C8T 2 IDE MDK Keil 软件 3 库文件 STM32F1xxHAL 库 OpenMV 识别追踪物体 并将坐标发送至 32 主控端 32 控制二维云台进行追踪

大家好,我是讯享网,很高兴认识大家。



有关OPENMV最大色块追踪及与STM32通信内容,详见

有关串口DMA传输的内容,详见

1、芯片: STM32F103C8T6

2、IDE: MDK-Keil软件

3、库文件:STM32F1xxHAL库

OpenMV识别追踪物体,并将坐标发送至32主控端,32控制二维云台进行追踪,并打印x,y坐标。

1、生成两路PWM波控制舵机

一路控制X轴,一路控制Y轴。

频率frequency = 72MHz / 24 / 60000 = 50Hz。


讯享网

2、控制定时器

控制周期设置为1ms,即每隔1ms对舵机发出控制指令

3、配置中断

配法不唯一,逻辑正确即可

前言引用的链接文章已做详细介绍,这里不再赘述,代码简介逻辑清晰,各位自行理解!

 

讯享网

1、stm32f1xx_it.c

串口DMA接收OpenMV数据函数,使用DMA接收不仅效率高,而且对数据的解析方式也更简单。想看更多DMA应用的详见

这里仅做串口DMA的简单使用教学,为缩小篇幅,下附代码并非stm32f1xx_it.c的全部代码,只是需要在这几个代码块中添加代码,望读者自行寻找添加。

串口DMA传输:USART2_IRQHandler为中断接收函数,每当USART2接收到数据后就会进入此函数进行数据解析判断,不需要经过CPU处理,大大提高了程序运行效率。

经过此函数后,接收到的字符串就会通过sscanf((const char *)rx_buffer, “%d %d”, &cx, &cy);  这句代码将OpenMV端发送的包含两个整型数的字符串提取出来,存储到cx,cy两个变量中。

讯享网

2、ptz.c

关键控制函数

void Tilt(void):总控制函数,将双向PID计算返回值限幅后,对定时器的CCR进行赋值。

int PID1(int current,int target):计算当前值与目标值的差值,并通过改变PID参数值计算所需的PWM占空比,实现最基础的PID函数功能。

 
3、main.c

下附部分关键代码,相信以大家的聪明才智一定可以移植!

讯享网

本人能力有限,代码未必是最优解,若有可改进之处望在评论区留言。

如有小伙伴想交流学习心得,欢迎加入群聊,群内不定期更新代码,以及提供本人博客所有源码

小讯
上一篇 2025-06-06 18:39
下一篇 2025-05-15 23:49

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/208337.html