30分钟内使用手机控制四轴飞行器(ESP8266 + A7105 + Blynk App for iOS/Android)

本文介绍了如何在30分钟内使用手机、ESP8266模块、A7105无线收发器和Blynk App实现四轴飞行器的远程控制。教程涵盖了从设置Blynk应用到硬件连接、项目配置、编写上传代码,最后成功控制飞行器的全过程。所需技能包括基本焊接和固件上传。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



很久以来,我就想做类似的项目了。但是手机集成工作的复杂性让我感到害怕。而且如果以后我有新的想法,也很难再重新利用这个项目。

现在,有了Blynk,这一切变得易如反掌:)

因此,我花了一个晚上,完成了这个项目。我希望大家会对这个项目感兴趣。

为了让这个项目正常工作,你需要:

1. 硬件 

  • 四轴飞行器(无需调整飞行器)

  • ESP8266 模组(ESP-07,ESP-12或者类似的开发板)

  • USB <-> TTL串口转换器(3.3V)

  • 面包板 + 跳线

  • Amic A7105无线收发器模组

2. 软件


3. 技能

  • 可能需要进行简单的焊接(取决于你使用的硬件)

  • 将固件上传至 ESP8266

    [good example here]

参考资料和致谢

· Hubsan X4 协议破解:http://www.rcgroups.com/forums/showthread.php?t=1... 

· ESP8266 脚位对应关系:http://esp8266.ru/esp8266-pin-register-strapping/

· 原始的 Arduino 库+ A7105 引脚分配表:https://github.com/napsternxg/coptermanager-arduin...

· 这份非常有用的指导性文件:http://www.instructables.com/id/Easy-Android-contr...


好的,让我们开始吧!

第一步:设置 Blynk 应用程序



每次我使用 Blynk 的时候,它都会让我想起三录仪。


     Tricoder: multifunction hand-held device used for sensor scanning, data analysis, and recording data.


Blynk 带有不同的部件(比如按钮、滑动装置、显示装置)。

你可以执行你想要执行的动作。这是一个通用遥控器,也可以显示和绘制数据。

下面是如何开始的一些简单步骤:

1. 安装 Blynk 应用程序:

  1. Android

  2. iOS
      (iOS 系统的软件目前还没有操纵杆配置,但在未来两周内将添加该配置)

2. 创建 Blynk 账户。
    按下登入界面的“创建账户”按钮。

3. 将 Blynk 库安装到Arduino IDE中:https://github.com/blynkkk/blynk-library/releases(如果你忘记如何安装 Arduino 库的话:请  点击这里

(可选步骤)

你可以安装本地 Blynk 服务器,以获得最佳操控性能和响应。点击这里阅读更多关于这方面的内容: https://github.com/blynkkk/blynk-server/blob/mast...

顺便说一下,我们现在是通过 BT 4.0 BLE 、随后通过WiFi添加直接连接,以清除服务器连接(专门为类似情况设置)。

第二步:用导线连接 A7105 和 ESP8266



ESP8266 and A7105 的运行电压都是3.3V,我们无需使用任何变压器,直接将它们连接起来即可。

顺便说一下,这也是我选择使用 ESP8266的原因之一。另外一个原因就很明显了: ESP8266 带有WiFi连接功能。:)

你可能需要焊接少数几条导线或者使用实验板确保连接稳定。

第三步:配置 Blynk 项目


1. 创建一个新项目,选择 ESP8266

2. 按下按钮,发送认证令牌到你的邮箱

3. 添加Button部件

    将其命名为“Bind”并连接到虚拟管脚1。

    设定模式为“Switch”

4. 添加另外一个Button部件

    将其命名为“Lights”并连接到虚拟管脚6。

    设定模式为“Switch”

5. 添加两个操纵杆部件,安装图示内容配置

    提示:你可以通过改变参数值来控制灵敏度/移位。

第四步:编写代码&上传固件

我会帮你剩下一些时间:这是一个草图,你可以按照这个草图给你的设备编写程序:)

事实上,我花了好几个小时向 ESP8266 上移植和修复原始的coptermanager,每次coptermanager不能正常工作或者崩溃的时候我都百思不得其解^_^

但一旦我成功地让 ESP8266 和 Hubsan 一起工作,让 Hubsan X4 和 Blynk 交互就是一件易如反掌的事情了

不到15分钟!
Everything I needed was to map commands of the coptermanager to the Blynk Virtual Pins:

现在我要做的就是把commands of the coptermanagerBlynk Virtual Pins


V1 - COPTER_BIND      Binds and returns the copter ID
V2 - COPTER_THROTTLE  (range 0x00 - 0xFF)  throttle (top/down)
V3 - COPTER_RUDDER    (range 0x34 - 0xCC)  rudder (rotate left/right)
V4 - COPTER_AILERON   (range 0x45 - 0xC3)  aileron (drift left/right)
V5 - COPTER_ELEVATOR  (range 0x3E - 0xBC)  elevator (forward/backward)
v6 - COPTER_LED       (1 or 0)  enable/disable LEDs


然后:

1. 在 Arduino IDE中打开提供的草图

2. 更新 Blynk 认证令牌(来自email),更新coptermanager.ino文件夹中的WiFi证书

3. 将它上传到你的 ESP8266中!


第五步:飞起来!


不管你信不信,这样就搞定啦:)

1. 给你的 ESP8266 上电,确保它连接到 Blynk 服务器。

2. 给你的Hubsan X4上电。

3. 轻按应用程序中的“Run”按钮(三角形,位于右上角)

4. 轻按“BIND”按钮。四轴飞行器上的灯此时应当停止闪烁。非常棒!

5. 使用第二个按钮尝试打开和关闭灯。哇哦!

6. 现在……小心地……把你的手指轻轻地放到这两个操纵杆上……

 

版权声明:

本译文仅用于学习和交流目的。非商业转载请注明译者、出处,并保留文章在译言的完整链接。

原文来源:http://www.instructables.com/

原文标题:Control quadcopter from your phone in 30 minutes! (ESP8266 + A7105 + Blynk App for iOS/Android)

原文地址:http://www.instructables.com/id/Control-quadcopter-from-your-phone-in-20-minutes-E/?ALLSTEPS




### ESP32无人机开发教程及飞控方案 #### 1. 开发环境准备 在基于ESP32的无人机开发中,首先需要搭建一个完整的开发环境。这包括硬件和软件两部分: - **硬件**:ESP32开发板、电机与电子调速器(ESC)、螺旋桨、锂电池以及遥控器等组件。 - **软件**:使用Arduino IDE或PlatformIO作为开发工具,这些工具支持ESP32的固件编写和上传[^1]。 #### 2. 硬件连接 硬件连接是整个项目的基础,具体步骤如下: - 将电机连接到ESC,确保信号线、地线和电源线正确连接。 - 将ESC的信号线连接到ESP32的GPIO引脚上,通常选择PWM输出引脚。 - 使用UART接口将ESP32与Wi-Fi模块连接,确保TX与RX正确对应[^2]。 #### 3. 固件开发 ESP32的固件开发涉及多个方面,主要包括以下内容: - **初始化配置**:在代码中初始化ESP32的GPIO引脚、UART通信以及PWM信号生成。 - **飞行控制算法**:通过集成MPU6050等传感器,实时获取无人机的姿态信息,并根据数据调整电机转速[^3]。 以下是固件开发的一个简化示例: ```cpp #include <Wire.h> #include <Adafruit_MPU6050.h> Adafruit_MPU6050 mpu; void setup() { Serial.begin(115200); Wire.begin(); if (!mpu.begin()) { Serial.println("Failed to find MPU6050 chip"); while (1) {} } mpu.setAccelerometerRange(MPU6050_ACCEL_RANGE_8_G); mpu.setGyroRange(MPU6050_GYRO_RANGE_500_DEG); } void loop() { sensors_event_t a, g, temp; mpu.getEvent(&a, &g, &temp); Serial.print("Acceleration X: "); Serial.print(a.acceleration.x); Serial.print(", Y: "); Serial.print(a.acceleration.y); Serial.print(", Z: "); Serial.println(a.acceleration.z); Serial.print("Rotation X: "); Serial.print(g.gyro.x); Serial.print(", Y: "); Serial.print(g.gyro.y); Serial.print(", Z: "); Serial.println(g.gyro.z); delay(100); } ``` 上述代码展示了如何初始化并读取MPU6050的数据[^3]。 #### 4. 飞控方案 飞控系统是无人机的核心,常见的飞控方案包括: - **开源飞控方案**:如DroneBridge for ESP32,这是一个经济且强大的远程通信工具,适用于DIY爱好者和专业开发者。 - **自定义飞控算法**:通过PID控制器调节无人机的姿态。例如,利用MPU6050获取的加速度和角速度数据,计算出无人机的倾斜角度,并通过调整电机转速来保持平衡。 #### 5. 控制与调试 为了实现对无人机的有效控制,可以采用以下方法: - **手机App控制**:开发一个简单的AndroidiOS应用,通过Wi-Fi发送指令给ESP32。 - **网页控制**:使用HTML表单发送指令到ESP32的Wi-Fi模块,从而实现远程控制[^2]。 #### 6. 常见问题与解决方案 - **无法连接Wi-Fi**:检查SSID和密码是否正确,确保Wi-Fi模块的配置无误。 - **电机不转动**:确认ESC与电机的连接,检查PWM信号设置是否正确。 - **控制延迟**:优化代码逻辑,减少不必要的计算;同时确保Wi-Fi信号稳定[^2]。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值