首页 » 科学 » 试玩系列 | 大年夜疆TT无人机编程初体验教你对它随心所欲_无人机_所示

试玩系列 | 大年夜疆TT无人机编程初体验教你对它随心所欲_无人机_所示

落叶飘零 2025-01-21 17:47:40 0

扫一扫用手机浏览

文章目录 [+]

先放个项目演示视频镇帖:

https://www.bilibili.com/video/BV1rD4y1R7eo

试玩系列 | 大年夜疆TT无人机编程初体验教你对它随心所欲_无人机_所示 试玩系列 | 大年夜疆TT无人机编程初体验教你对它随心所欲_无人机_所示 科学

认识我的朋友,大概都知道,我是一个“运气爆棚”的人,常常能“捡”到一些好玩的东西。
这不,前两天在家门口“捡”到一架大疆 RoboMaster Tello Talent TT 教诲无人机(下文简称:TT 无人机或 TT),是基于大疆 Tello EDU 无人机升级而来的新产品,可以用第三方软件进行编程掌握,那还不赶紧来试玩一下!

试玩系列 | 大年夜疆TT无人机编程初体验教你对它随心所欲_无人机_所示 试玩系列 | 大年夜疆TT无人机编程初体验教你对它随心所欲_无人机_所示 科学
(图片来自网络侵删)

TT 无人机先容

为了对这款 TT 无人机进行编程掌握,我专门查(抄)阅(袭)了大疆官网对它的先容和干系资料。

TT 无人机是大疆首款拥抱开源的教诲无人机 ,为了使该款无人机能够更加符合开源精神和青少年科技创新教诲核心,让海内里小学师生有更极致的传授教化体验,大疆与 DFRobot 互助,将 Mind+ 图形化编程软件与 TT 无人机深度结合,使得 TT 无人机更加为虎傅翼。
通过丰富的软硬件拓展性,可以实现例如环境感知、人脸识别、自动跟随、手势识别、手掌掌握、多机协同、人工智能等各种运用。

那么 TT 无人机是如何做到拥抱开源的呢?

基于 ESP32 掌握器的 TT 扩展模块:TT 无人机在大疆原有的产品 Tello EDU 无人机的根本之上,新增了一个开源掌握器。
它是一款基于 ESP32 芯片的主控板,基于 ESP32 强大的开源生态,可以让 TT 无人机同时支持 Arduino、microPython、图形化等编程环境。
同时借助 ESP32 强大的 WiFi、蓝牙连接功能,具备强大的通信能力。

集成多种可编程传感器/模块:搭载 RGB 全彩 LED 灯、8×8 红/蓝双色 LED 点阵屏、ToF 红外测距传感器等,可以实现如灯光掌握、图案动画显示、智能避障等多种编程效果。

转接拓展板,支持第三方传感器:为了让用户可以连接更多的开源硬件,实现更加丰富的创意,TT 无人机供应了一个 2×7 PIN 2.54mm 间距的直插封装接口,支持 I2C 、SPI 、UART 、GPIO 多种编程协议,并供应 5V/3.3V 电源接口。

开放的 RoboMaster SDK:借助全新的 RoboMaster SDK 以及视频流数据,可以轻松支持多种可编程传感器接口,机器视觉、深度学习等人工智能前沿科技也得以走进中小学教室。

编程掌握框架

如果须要实现对 TT 无人机进行掌握,有两种思路:

1、直接掌握:TT 无人机实在就类似大疆 Tello 无人机,它有自己的翱翔掌握器,它通过获取飞机自身的陀螺仪等传感器信息,来掌握飞机的四个空心杯电机,从而实现掌握飞机的物理运动。
来自手机 App 或手柄的掌握指令,可以直接发送到 TT 无人机的掌握器,并且通过掌握器进一步变成翱翔指令;而无人机的一些信息,比如电量、当前高度等,也可以通过掌握器直接发送出来。

2、间接掌握:间接掌握实在便是通过 TT 扩展模块实现的。
TT 扩展模块对无人机的掌握,实在也像手机 App、手柄一样,是通过向 TT 无人机的掌握器发送掌握指令来实现的。
而这个详细的通信过程,则是由 TT 无人机的机载 Micro USB 接口通过串口通讯的办法来实现。
那么就可以通过对 TT 扩展模块进行编程,获取第三方软件或者各种开源硬件与传感器的干系信息,然后间接去掌握 TT 无人机。

以是,TT 扩展相称于附着在 TT 无人机之上的外部大脑。
它不仅拓展 了 TT 无人机本身的感知能力,还丰富了 TT 无人机的功能性。
我们可以通过向 TT 扩展模块烧写自己的程序,来使 TT 无人机组合体完成仅仅依赖 TT 无人机本身难以完成的繁芜翱翔任务。
同时比较手动遥控掌握,借助程序的掌握,我们可以完成更加精确的掌握指令。

试飞小任务

先容了那么多,接下来我们就开始对 TT 无人机进行编程,来完成一个试飞小任务吧。

大疆官方的资料中,先容了 TT 无人机可以通过 Tello App 和定制版 GameSir 小鸡手柄 T1D 进行遥控。
既然是一款拥抱开源的教诲无人机,我当然要对 TT 无人机为所欲为了,为何不自己设计一个 DIY 版的手机遥控器呢:想加什么功能就加什么功能,比如后续可以增加显示各种外接传感器的数据的功能;想怎么玩就怎么玩,比如可以通过编程,实现更加繁芜的绝技动作。

既然有了官方支持的遥控器,为什么还要自己再设计一个遥控器呢?缘故原由如下:

如果利用 Tello App 进行遥控,就不能利用编程功能,更不用说集成第三方传感器了,那 TT 无人机跟普通的 Tello 无人机就没有差异了。
如果利用 GameSir 手柄进行遥控,虽然可以进行编程以及添加第三方传感器,但是目前大疆官方只供应了 Arduino 代码版的编程示例,并没有图形化版本的示例程序,不适宜大部分中小学生进行学习。

那么,我将如何实现 DIY 遥控器呢?

为了更加方便大家上手,我将利用 Mind+ 图形化编程环境,通过大略的积木式拖拽,就可以完成丰富的功能;试玩过程中,为了降落硬件本钱,我将仅利用手机,通过 Blynk 物联网平台来实现 DIY 遥控器的设计与制作。
Blynk 物联网平台是一个非常大略好用的物联网开拓平台,几分钟之内就可以为你的物联网项目创建一个手机 App。

为了实现这个项目,我升级了之前设计的 Mind+ 版的 Blynk 用户库,以使它支持 TT 无人机的编程。
学会了本项目的编程事理之后,除了可以自己设计手机 App 来掌握大疆无人机之外,你也可以设计实体版的硬件遥控手柄。

关于 Mind+ 软件的利用教程,由于篇幅限定,请参考 Mind+ 官方教程。

关于 Blynk 的入门教程,请参考我的另一本书:《物联网,So Easy!
——基于 Blynk 平台的 IoT 项目实践》。

Blynk 项目设置

作为可能是第一款 TT 无人机的 DIY 版手机遥控器,我要把这个遥控器设计成什么样子呢?为了方便操控,以及利用体验的统一,这里我参考了 Tello App 的外不雅观,设计了一个简化版的操控界面。

先来看一下官方的 Tello App 版遥控器:除了起飞 / 降落功能之外,Tello App 最主要的组件便是无人机翱翔掌握了,它采取了 2 个摇杆,来实现无人机的各种运动状态,如下图所示:

其余,我们也可以在这个 App 顶部状态栏中看到无人机的一些状态信息,比如电量、蓝牙、速率、高度等,如下图所示:

我根据 Tello App 的主界面,设计了简化版的 Blynk 遥控器界面,如下图所示:

由于 Blynk App 的限定,不支持自动横屏显示,以是当我们横屏操控时,显示的笔墨就变成竖直状态了,但是这丝毫不影相应用。

Mind+程序设计

设计完遥控器界面之后,就开始编程了。
打开 Mind+ 软件,切换到上传模式,同时在扩展中选择主控板为 RoboMaster TT(ESP32),如下图所示:

把稳,本项目中利用的 Mind+ 软件版本为 v1.6.5 RC2.0,随着软件升级,未来部分界面与功能可能进行改版,请根据实际情形调度修正。

然后在用户库中导入 Blynk 扩展库,如下图所示:

接下来就正式开始编程。
首先是 TT 无人机干系的初始化设置与 Blynk 根本设置:开启无人机翱翔掌握,设置 Blynk 为蓝牙 BLE 连接模式(方便室外无 WiFi 场景也能利用),将蓝牙名称命名为 RMTT (TT 无人机英文缩写)。
初始化完成后在点阵屏显示 TT 标志,然后在循环实行中运行 Blynk 干系的进程。

接着定时将 TT 无人机的一些传感器信息发送到 Blynk App 中进行显示,紧张包括电量、速率、TOF 测距(前方间隔)、高度等。

然后是翱翔掌握干系的程序。
TT 无人机在 Mind+ 中的底层 SDK 供应了两种掌握模式:壅塞式与非壅塞式。
本项目中利用的最新的 Mind+ v1.6.5 RC2.0 版本中,图形化指令调用的是壅塞式模式的 SDK。
由于 Blynk 须要与做事器“时候”保持通信,以是壅塞式模式与 Blynk 一起利用时,会导致 Blynk 与做事器的通信中断。
以是本项目中的翱翔掌握,我们通过直接发送 SDK 掌握命令的办法来实现非壅塞式的掌握办法。
通过查阅 TT 无人机的官方 SDK 手册,我们可以很随意马虎得到不同翱翔状态对应的指令,如下图所示:

其余 TT 扩展模块与 TT 无人机主体之间的通信是通过串口1 进行的,以是编程时只要让 TT 扩展模块通过串口1 向 TT 无人机主体发送指令即可。
举个例子,如果要掌握 TT 无人机自动起飞,只要发送 [TELLO] takeoff 指令即可;如果要掌握 TT 无人机向右飞 30 cm,只要发送 [TELLO] right 30 即可。
对应的图形化指令如下:

理解了 TT 无人机 SDK 指令的发送办法之后,我们就可以正式对 TT 无人机进行翱翔掌握了。

首先是一键起飞与降落。
Blynk App 中 V0 编号按钮,代表起飞掌握;V1 编号按钮代表降落。
起飞和降落的时候,显示相应的向上和乡下箭头,起到提示浸染。
程序如下图所示:

接着是左摇杆的编程。
左摇杆紧张用来掌握 TT 无人机的向上(U:up)、向下(D:down)、顺时针旋转(大 C:ccw)、逆时针旋转(小 c:cw)。
进行相应的翱翔任务时,在点阵屏中显示相应的提示信息。
程序如下图所示:

右摇杆的编程也是类似道理。
右摇杆紧张用来掌握 TT 无人机的向前(F:forward)、向后(B:back)、向左(L:left)、向右(R:right)。
同样也要在点阵屏中显示相应的提示信息。
程序如下图所示:

末了我们再增加一个安全防护方法:当 TT 无人机与手机遥控失落去连接时(TT 拓展失落去连接或者 Blynk 失落去连接),让它自动降落,同时点阵屏显示 E(Error)提醒用户,担保安全。
程序如下图所示:

以上便是本项目的完全设计过程,由于篇幅限定,只设计了一个大略的程序。
完全的程序如下图所示,你也可以对该程序进行修正,添加更加酷炫的功能或者翱翔绝技。

效果演示

上传程序到 TT 扩展模块,一起到户外去试飞一下吧。
演示视频可回到文章开头查看。

总结

本次试飞体验教程到这里就结束了,总体来说,结合大疆完善的飞控技能,和 Mind+ 大略的编程体验,只须要通过大略的图形化指令拖拽,发送干系的翱翔指令,就可以完成繁芜的翱翔运动掌握,上手这款 TT 无人机还是非常随意马虎的。
当然本文只是探索了 TT 无人机很大略的一部分功能,后面有韶光,我将为大家解锁 TT 无人机更多好玩的创意。

相关文章