Arduino无人机四轴飞行器(esp8266)

这篇具有很好参考价值的文章主要介绍了Arduino无人机四轴飞行器(esp8266)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

想要更多项目私wo!!!

一、电路设计

 硬件组成:   

  • Arduini Nan
  • ESP8266
  • MPU6050 模块
  • 有刷电机
  • 螺旋桨
  • 电池包
  • Si2302场效应管
  • 无人机架

ESP8266模块

        为了与无人机通信,我们需要蓝牙或WIFI连接,所以我们使用ESP8266 Wi-Fi模块,因为它有内置的Wi-Fi,我们可以使用它进行通信。

ESP8266开源、互动、可编程、低成本、简单、智能、最低成本的Wi-Fi硬件。

至于无人机的飞行范围。测试已经得到了范围大约是70米,使用三星手机充当WiFi热点和远程控制器。

MPU6050

        MPU6050 IMU,一个低成本的设备,包含陀螺仪和加速计。

我们将使用MPU-6050和ESP8266模块来做一个无人机。

二、效果图

arduino无人机,Arduino,无人机,嵌入式硬件

arduino无人机,Arduino,无人机,嵌入式硬件

 

arduino无人机,Arduino,无人机,嵌入式硬件

arduino无人机,Arduino,无人机,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-529690.html

三、部分代码

#include<Wire.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
WiFiUDP UDP;
char packet[4];
//IPAddress local_IP(192, 168, 203, 158);
//IPAddress gateway(192, 168, 1, 158);
//IPAddress subnet(255, 255, 0, 0);
//_________________________________________//  
int ESCout_1 ,ESCout_2 ,ESCout_3 ,ESCout_4;
int input_PITCH = 50;
int input_ROLL = 50;
int input_YAW = 50;
volatile int input_THROTTLE = 0;
int Mode = 0;

boolean wall_car_init = false;
boolean set_motor_const_speed = false;
int8_t target_axis=0;
int8_t target_dirr=0;
boolean wheal_state = false;

uint8_t pwm_stops;
int arr[] = {20,10,20,10};
volatile int order[] = {0,0,0,0}; //volatile key
int temp_arr[] = {0,0,0,0};
int pulldown_time_temp[] = {0,0,0,0,0};
int pulldown_time[] = {0,0,0,0,0};
volatile int pulldown_time_temp_loop[] = {0,0,0,0,0}; //volatile key
uint8_t pin[] = {14,12,13,15};
int i,j,temp_i,temp;
boolean orderState1,orderState2,orderState3,orderState4,Timer_Init;

int16_t gyro_x, gyro_y, gyro_z, acc_x, acc_y, acc_z, temperature, acc_total_vector;
float angle_pitch, angle_roll,angle_yaw,prev_roll,prev_pitch,prev_yaw;
boolean set_gyro_angles;
float angle_roll_acc, angle_pitch_acc;
float angle_pitch_output, angle_roll_output, angle_yaw_output;
long Time, timePrev;
float elapsedTime,P_factor;
float acceleration_x,acceleration_y,acceleration_z;
long gyro_x_cal, gyro_y_cal, gyro_z_cal;
float pitch_PID,roll_PID,yaw_PID;
float roll_error, roll_previous_error, pitch_error, pitch_previous_error, yaw_error, yaw_previous_error;
float roll_pid_p, roll_pid_d, roll_pid_i, pitch_pid_p, pitch_pid_i, pitch_pid_d, yaw_pid_p, yaw_pid_i, yaw_pid_d;
float roll_desired_angle, pitch_desired_angle, yaw_desired_angle; 
double twoX_kp=5;      //5
double twoX_ki=0.003;   //0.003   
double twoX_kd=1.4;     //1.4
double yaw_kp=8;      //5
double yaw_ki=0;  //0.005
double yaw_kd=4;      //2.8



void ICACHE_RAM_ATTR PWM_callback() {
  switch (pwm_stops){
    case 0:
      pulldown_time_temp[0] = pulldown_time_temp_loop[0];
      pulldown_time_temp[1] = pulldown_time_temp_loop[1];
      pulldown_time_temp[2] = pulldown_time_temp_loop[2];
      pulldown_time_temp[3] = pulldown_time_temp_loop[3];
      pulldown_time_temp[4] = pulldown_time_temp_loop[4];
      pwm_stops = 1;
      if(input_THROTTLE!=0){GPOS = (1 << 14);GPOS = (1 << 12);GPOS = (1 << 15);GPOS = (1 << 13);}
      timer1_write(80*pulldown_time_temp[0]);
      break;
    case 1:
      pwm_stops = 2;
      GPOC = (1 << pin[order[0]]);
      timer1_write(80*pulldown_time_temp[1]);
      break;   
    case 2:
      pwm_stops = 3;
      GPOC = (1 << pin[order[1]]);
      timer1_write(80*pulldown_time_temp[2]);
      break;
    case 3:
      pwm_stops = 4;
      GPOC = (1 << pin[order[2]]);
      timer1_write(80*pulldown_time_temp[3]);
      break;
    case 4:
      pwm_stops = 0;
      GPOC = (1 << pin[order[3]]);
      timer1_write(80*pulldown_time_temp[4]);
      break;             
  }
}

到了这里,关于Arduino无人机四轴飞行器(esp8266)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【无人机】四轴无人机的轨迹进行可视化和动画处理(Matlab代码实现)

     📋📋📋 本文目录如下: ⛳️⛳️⛳️ ​ 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 随着传感器检测技术、智能控制技术和材料技术的快速发展,四轴无人机及其配套系统的发展越来越成熟。无人机遥感系统具有成本低、易维护、效率高、时效性强及对环境要求低

    2024年02月14日
    浏览(50)
  • 飞控学习笔记-飞行器数学模型(2)

    十字型模型 模型仿真 反扭力 仿真

    2024年02月12日
    浏览(43)
  • 【四旋翼飞行器】【模拟悬链机器人的动态】设计和控制由两个四旋翼飞行器推动的缆绳研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 四旋翼飞

    2024年02月05日
    浏览(39)
  • 无人机飞行控制实验平台

    无人机在研制过程中需要不断地进行飞行测试,而测试的过程不是万无一失的,飞行过程中发生任何错误都有可能会导致无人机的损毁或破坏,更严重地甚至会造成外界伤害。 基于此我们推出了无人机的三旋转自由度 (3-DOF) 飞行平台测试系统,可以在横滚 (Roll)、俯仰 (Pitch

    2024年02月16日
    浏览(61)
  • SkyEye:助力飞行器状态控制系统仿真

    ​ 飞行器与常见的航天器一样,属于安全关键领域的大型复杂设备,对安全性、可靠性有着极高的要求。为保证稳定飞行,需要对目标对象进行实时跟踪,通过发出正确的修正偏差指令来操纵飞行器改变飞行姿态,因此对 飞行器状态控制系统 的研究极其重要。 飞行器状态控

    2024年03月09日
    浏览(62)
  • MATLAB - 四旋翼飞行器动力学方程

      本例演示了如何使用 Symbolic Math Toolbox™(符号数学工具箱)推导四旋翼飞行器的连续时间非线性模型。具体来说,本例讨论了 getQuadrotorDynamicsAndJacobian 脚本,该脚本可生成四旋翼状态函数及其雅各布函数。这些函数将在使用非线性模型预测控制(模型预测控制工具箱)控制

    2024年01月22日
    浏览(64)
  • 无人机飞行控制技术期末复习

    1.1.1、根据无人机尺寸和续航时间: 1.1.2、根据气动结构特征: 基本结构:机翼,机身,气动舵面,尾翼 优点:

    2024年01月16日
    浏览(94)
  • STM32无人机-四轴四元数姿态解算与卡尔曼滤波

    MPU6050是一种非常流行的空间运动传感器芯片,可以获取器件当前的三个加速度分量和三个旋转角速度。 什么是四元数 这部分很难,新手知道四元数的功能是将 6 轴传感器数据转化为三轴姿态角度数据即可。 四元数解算程序店家已经封装成一个函数,输入 MPU6050 数值,解算周

    2024年02月03日
    浏览(40)
  • 航拍飞行器经营商城小程序的作用是什么

    航拍人群越来越越多,一款靠谱的装备往往能达到预期效果,随着互联网信息传播度加深,也吸引了大批同样的爱好者加入航拍序列。 对航拍飞行器企业/经营商来说,市场增幅下也带来了不少商机,然在实际销售及客户赋能方面还是面临一些痛点。 通过【 雨科 】平台 搭建

    2024年02月07日
    浏览(44)
  • UE4罗技X56飞行器开发配置

    提示:使用罗技X56模拟器映射键盘输入 文章目录 前言 一、下载罗技X56驱动X56 H.O.T.A.S. 二、使用方法 1.使用UE4插件Windows Rawlnput 2.X56 H.O.T.A.S.配置文件 总结:以上两种方法都可以实现我们需要的效果,方法二对应键盘的映射,使用更简单 如下(示例):在U4中找到-插件-Window

    2024年02月09日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包