"); //-->
OPENMV是一个开源、低成本、功能强大的机器视觉模块。以STM32F767为核心,集成了OV7725摄像头芯片,在小巧的硬件模块上,用C语言高效地实现了核心机器视觉算法,提供Python编程接口。开发者、电子发烧友以及智能设备开发商都可以用Python语言使用OPENMV提供的机器视觉功能,为自己的产品和发明增加有特色的竞争力。
OPENMV上的机器视觉算法包括寻找色块、眼球跟踪、边缘检测、标志跟踪等。可以用来实现非法入侵检测、产品的残次品筛选、跟踪固定的标记物等。使用者仅需要写一些简单的Python代码,即可轻松的完成各种机器视觉相关的任务。小巧的设计,使得OPENMV可以用到很多创意的产品上。比如,可以给机器人提供周边环境感知能力;给智能车增加视觉巡线功能;甚至,可以给工厂产品线增加残次品筛选功能等。
COCOFLY上的无人机视觉模组采用的就是OPENMV,其实物图如下图所示。

其中OPENMV的Python代码已经写好提供给用户,如果用户需要修改的话,也可以修改使用,目前OPENMV串口发出的视觉数据的协议框架如下表所示。
帧头(2 Bytes) | 功能字(1Byte) | 长度(1Byte) | 数据(nBytes) | 和校验(1Byte) |
0xAA 0xAA | 0xXX | 0xXX | 0xXX... | 0xXX |
其中帧头是固定为两个字节:0xAA、0xAA;功能字为一个字节;长度为数据的长度,也为一个字节;数据位n个字节;和校验为一个字节,即帧头开始相加到最后一个字节,保留低8位。
视觉模组的接收数据,即模式设置的协议框架如下表所示。
帧头(2 Bytes) | 功能字(1Byte) | 长度(1Byte) | Mode(1Byte) | 和校验(1Byte) |
0xAA 0xAF | 0xF1 | 0xXX | 0xXX... | 0xXX |
其中帧头是固定为两个字节:0xAA、0xAF;功能字为0xF1;长度为数据的长度,也为一个字节;Mode,即OPENMV的模式设置,为1个字节;和校验为一个字节,即帧头开始相加到最后一个字节,保留低8位。
该数据的协议用户均可自定义,详情可以看配套的OPENMV的Python源码,OPENMV的具体使用方式可以查看OPENMV官网。
二、串口视觉数据获取实验串口视觉数据获取实验使用STM32的串口1即UART1与视觉模组相连,串口2即UART2,通过USB转串口模块连接电脑,把串口1获取到的视觉数据通过串口2传输到电脑端的串口调试助手显示出来。做该实验的时候需要把视觉模组接到USART1,把光流模组暂时取下,并且把USB转串口的线接到光流接口处。
串口1和串口2的配置可以参考《串口(基础收发)》和《串口(光流数据获取)》两节,配置代码(通过调用官方库)。
代码编写的思路如下表所示:
代码思路
1 | 管脚配置 | 1、定义结构体; 2、使能时钟; 3、填充结构体; 4、装载结构体。 |
2 | 串口配置 | 1、定义结构体; 2、使能时钟; 3、填充结构体; 4、装载结构体; 5、开启中断; 6、使能串口。 |
3 | 中断优先级管理 | 1、定义结构体; 2、填充结构体; 3、装载结构体。 |
4 | 逻辑处理 | 1、等待接收以及发送数据。 |
串口2初始化代码如下:

这里注意要把串口的发送也配置好,这样才能把数据发送到电脑。
串口1接收到视觉模组的数据就转发到串口2,串口1的中断函数代码如下。

设置串口1的波特率为1115200,串口2的波特率也设置为115200,代码如下:

保存、编译、下载代码,确保串口1接上了视觉模组,然后再把串口2接上USB转串口模块,最后接到电脑的USB端口,如下图所示:

然后在把USB转串模块插到电脑的USB口,打开电脑端的串口调试助手,找到对应的COM口(前提是安装了USB转串口驱动),设置波特率为115200,打开,可以看到串口在不断打印视觉模组发送的数据,如下图所示。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
利用AIC1783的充电流程图
對著流星許願
三菱FX系列PLC教程 26 —— FX系列的步进指令
荷兰扩大半导体出口管制范围 商务部回应:坚决反对
消息称台积电拒绝代工三星 Exynos 处理器
利用MAX712/MAX713的温度控制典型电路
数字电视标准概述
三菱FX系列PLC教程 29 —— FX系列的步进指令应用
实用英文小词典
曝台积电拒绝代工三星Exynos处理器:理由是怕泄密
三菱FX系列PLC教程 28 —— FX系列的BCD变换指令
【科技和移动性亮点】Aeva发布高分辨率4D激光雷达传感器,推动自动驾驶发展
MAX713在线性模式下的应用电路
机构:预计到2026年医疗行业对生成式人工智能的投资将增加两倍
AICl783组成框图
中国企业优化云原生投资的三大策略
Arm计划涨价300%:考虑提供完整芯片设计
三菱FX系列PLC教程 30 —— FX系列的BIN码变换指令
【科技和移动性亮点】德州仪器发布全新汽车芯片
由LTC4058构成的充电电路
.o与.a文件
Wolfspeed得州厂关闭并挂牌出售
千兆比以太网交换机设备技术规范
对标英特尔AMD!英伟达将于今年Q4推出旗下首款AI PC芯片
winML3.0 窗口的一个问题(急)
请问大家在作嵌入式系统设计时,对高速信号与BGA是如何解决的?
全面理解非易失存储器(Flash,EPROM,EEPROM)
软件消除器 v12(程序匠人)
什麼樣的好!
三菱FX系列PLC教程 27 —— FX系列的编程软件的应用