版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本节课讲解飞控如何与外设通信,如何添加新的外设驱动程序。我们将会使用一个由“星瞳科技”出品的“OpenMV4 H7版”模块对特殊图案进行图像识别,然后通过串口将图像识别结果发送给飞控,飞控接收并处理这些信息,为下一节课将要讲的使用OpenMV引导飞机飞行做准备。
硬件信息:
星瞳科技OpenMV4 H7版,主频400MHz,2M Flash,1M RAM。
一、OpenMV端程序
OpenMV端程序是在其官方例程“Find_apriltags.py”的基础上修改的,修改内容如下:
1、精简识别目标,只识别TAG16H5;
2、添加通过串口输出识别结果的功能;
from pyb import UART
uart = UART(3, 115200)
# 发送数据帧
def send_frame(cx, cy):
uart.writechar(0xA5)
uart.writechar(0x5A)
uart.writechar(cx)
uart.writechar(cy)
uart.writechar(cx + cy)
send_frame(tag.cx(), tag.cy())
二、Pixhawk与OpenMV硬件连线
1、Pixhawk给OpenMV提供5V电源;
2、OpenMV连接到Pixhawk的5个串口中的任何一个上面,TX和RX交叉。
四、APM端驱动编写
1、新建分支
2、添加驱动文件;
3、添加顶层调用;
4、添加Debug输出。
怒而飞,其翼若垂天之云!我是怒飞。