树莓派多旋翼无人机制作:遥控器读数
一、简单认识遥控器
接下来我们要了解的是摇控器,你如果对摇控器有一定了解的话可能听说过“日本手”和“美国手”这两种不同的摇控器。其实它们并没有什么本质差别。假设我们的四轴已经可以成功的飞行,我们需要摇控器上的一个控制杆可以控制四个电机的整体转数,也就是人们常说的“油门”。当然,油门这个词用在四轴上可能不太贴切,它的作用就是控制电机转数,可快,可慢,而所谓的“日本手”摇控器是油门在右侧,“美国手”摇控器的油门则在左侧:
![](/assets/blank.gif)
wiringPiSetup();
pinMode(15, INPUT);
void driver_ctl_LR()
{//高电平开始struct timeval start;//高电平结束struct timeval end;int s = 0;int f = 0;//循环接收信号while (1){s = 0;f = 0;do{//读取引脚的值int lr = digitalRead(15);//如果是高电平则计时开始if (lr == 1 && s == 0){gettimeofday(&start, NULL);s = 1;}//如果已经开始计时,并且读到低电平,说明信号读取结束if (s == 1 && lr == 0){//高电平结束(低电平)gettimeofday(&end, NULL);//计算高电平持续时间long timer = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_usec - start.tv_usec);//得到PWM信号做出相应动作engine_lr_pwm(timer);break;}//超时检测if (s == 0 && lr == 0){if (f == 0){gettimeofday(&start, NULL);f = 1;}//如果持续低电平if (f == 1){//如果低电平持续时间超过1秒,跳出gettimeofday(&end, NULL);long timer = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_usec - start.tv_usec);if (timer > 1000000){break;}}}}while (1);}
}
//设置摇控器3个通道到GPIO为输入引脚
pinMode(15, INPUT);
pinMode(16, INPUT);
pinMode(1, INPUT);//注册摇控器3个通道的引脚变化中断
wiringPiISR(15, INT_EDGE_BOTH, &controller_ctl_pwm_fb);
wiringPiISR(16, INT_EDGE_BOTH, &controller_ctl_pwm_fb);
wiringPiISR(1, INT_EDGE_BOTH, &controller_ctl_pwm_fb);void controller_ctl_pwm_fb()
{//处理功能
}
void controller_ctl_pwm_lr()
{//处理功能
}
void controller_ctl_pwm_pw()
{//处理功能
}
void controller_ctl_pwm_fb()
{//读取电平信号s32 value = digitalRead(15);//如果是高电平if (value){//计时开始gettimeofday(&ctl_pwm->timer_start, NULL);return;}//如果是低电平,计时结束gettimeofday(&ctl_pwm->timer_end, NULL);//计算高电平时长,即pwm占空比timer = (ctl_pwm->timer_end.tv_sec - ctl_pwm->timer_start.tv_sec) * 1000000 + (ctl_pwm->timer_end.tv_usec - ctl_pwm->timer_start.tv_usec);
}
欢迎关注公众号:编程外星人
树莓派多旋翼无人机制作:遥控器读数相关推荐
- 人工智能六旋翼无人机制作直播间,开贴!!!!!!!!
最近想做一个无人机,把人工智能应用到无人机上,希望可以做出完全自主飞行的无人机 这篇是开贴,以后的每一贴都会写出无人机的制作过程和进展,还有遇到的问题! 自己组装了一个F550无人机 上面这几张图片是 ...
- 人工智能六旋翼无人机制作直播间(第一波)
下面是超声波高度的数据 下面这个是光流模组的数据位置 刚开始起飞的时候会有一点漂移,用遥控器微调的按钮调一调就好了,起飞后,差不多稳定了,直接进入悬停模式,上面的视频就是最后的效果了. 超声波传感器没 ...
- 基于MiniFly魔改的共轴双旋翼无人机
基于MiniFly魔改的共轴双旋翼无人机 共轴双旋翼无人机结构设计 共轴双旋翼无人机的工作原理与飞行动作 共轴双旋翼无人机的系统方案 共轴双旋翼无人机的总体设计 共轴双旋翼无人机飞控设计 共轴双旋翼无 ...
- 基于STM32的四旋翼无人机项目(二):MPU6050姿态解算(含上位机3D姿态显示教学)
前言:本文为手把手教学飞控核心知识点之一的姿态解算--MPU6050 姿态解算(飞控专栏第2篇).项目中飞行器使用 MPU6050 传感器对飞行器的姿态进行解算(四元数方法),搭配设计的卡尔曼滤波器与 ...
- 六旋翼无人机动力学建模与仿真搭建
本文主要研究六旋翼无人机的动力.运动学建模及可视化仿真,相对以前常用的四旋翼稳定性更高,灵动性更强. 本课题主要利用MATLAB.UG软件对六旋翼无人机进行建模及仿真操作,研究六旋翼无人机的垂直起降姿 ...
- 四旋翼无人机硬件,飞控,基站,NX
四旋翼无人机硬件 一 总览 四旋翼无人机的硬件组成:无刷电机(4个):电子调速器(简称电调,4个,常见有好盈.中特威.新西达等品牌):螺旋桨(4个,需要2个正浆,2个反浆):飞控:电池(11.1v航模 ...
- 无人机基础知识:多旋翼无人机系统基本组成
无人机基础知识:多旋翼无人机系统基本组成 多旋翼无人机基本组成 机械系统 动力系统 直流无刷电机 电子调速器 Li-Po电池 螺旋桨 飞行控制系统 无人机(Unmanned Aerial Vehicl ...
- 无人机基础知识:多旋翼无人机飞行原理及飞行模式
无人机基础知识:多旋翼无人机飞行原理及飞行模式 力的来源 飞行原理 横滚运动 俯仰运动 偏航运动 升降运动 无人机的控制模式 纯手动模式 姿态模式 定高模式 悬停模式 其它模式 在此篇博客分析了 无人 ...
- 02 四旋翼无人机的组成与拼装(上)
02 四旋翼无人机的组成与拼装(上) 目录 1 总体介绍 2 布局设计 2.1 机身布局 2.1.1 交叉形 2.1.2 环形 - 比较少 2.1.3 可折叠交叉形 2.2 旋翼安装 2.2.1 常规 ...
最新文章
- .net framework 注册到IIS上
- 定义ComboBox(下拉列表)组件垂直滚动条的样式。
- Web前端开发笔记——第二章 HTML语言 第十一节 语义标签
- scikit_learn中fit()/transform()/fit_transform()区别和联系
- 一统江湖的大前端(4)shell.js——穿上马甲我照样认识你
- Android程序员重头学Synchronized
- 2021年一月文章导读
- PCA(主成分分析)和FA(因子分析)区别
- LoRa协议在Arduino上的应用——原理及代码分析(二)
- 计算机专业及相关知识测试,计算机知识及测验考试.doc
- 数字化营销转型,你的企业准备好了吗?
- ubuntu 校准时间_ubuntu server自动校正时间 | 学步园
- 数独程序matlab,Matlab 求解数独的程序
- opencv python教程简书_OpenCV-Python教程:57.图像修复
- Uable to attach or mount volumes: unmounted volumes=[xxxx], unattached volumes=[xxxx]: timed out wa
- Java专题 基础篇--判断(三元表达式,switch等) +个税计算案例
- SpringBoot 优雅的读取yml(yml规范篇)
- 英语不好,Oracle OCP或MySQL OCP考试也能拿80分的高分
- 一、分布式关系型数据库 DRDS介绍
- 微信小程序开店怎么做?