J20航模遥控器开源项目系列教程(二)使用说明 | 遥控器制作完成了,怎么用?

我们的开源宗旨:自由 协调 开放 合作 共享
拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~
和一群志同道合的人,做自己所热爱的事!
项目开源地址:https://github.com/Cai-Zi/STM32_RC_Transmitter
QQ交流群:1091996634 【密码:J20】
1. 遥控器控制面板各按钮和遥杆说明

2. 菜单操作逻辑

3. 遥杆校准
由于不同的遥杆的回中值和遥杆范围不一样,所以在初次使用时,应先校准遥杆的范围!
校准方法如下:
(1)按下旋转编码器的按钮,由主界面进入菜单列表;

(2)顺时针或者逆时针拧动旋转编码器的旋钮,直到行程校准一栏被选中;

(3)此时,先不要着急按下【确定】键,应先使两个遥杆都处于中立位置,包括油门!
因为一旦进入校准界面,程序会首先获取各个通道的中立值,如果你的某个通道不处于回中状态,那么会导致校准失败,输出的PWM信号是非线性的!
(4)按下旋转编码器的按钮,或者按【确定】键,进入校准界面;
校准界面的第一列数字是通道的最小值,第2列数字是遥杆的最大值。事实上,这两列数字显示的是ADC的采样值,因为STM32F103C8T6是12位ADC,所以数值范围是0~4095(2的12次方)

(5)最后,最大限度地拨动各个遥杆方向,让遥控器感知你的遥杆边界。
你将会看到第一列数字会逐渐变小,第二列数字会逐渐变大,直到所有数字都不再变化,那么校准就完成了!
按【返回】键,或者【home】键,回到主界面即可。
4. 通道正反
有初学者疑惑,通道正反是什么作用?
通俗来讲,就是当你发现拨动遥杆,但是飞机的偏转方向和你想要的方向恰好相反,这个时候就要调整通道的正反了。
此外,由于是自己制作的遥控器,可能会把电位器的GND和VCC接反,比如油门通道向上拨,应该输出最大油门,而实际却输出了最小油门,这个时候可以通过调整通道正反来校正回来,而不用拆焊电位器的接线!
设置通道正反的方法如下:
(1)按下旋转编码器的按钮,由主界面进入菜单列表;

(2)顺时针或者逆时针拧动旋转编码器的旋钮,直到通道正反一栏被选中;

(3) 按下旋转编码器的按钮,或者按【确定】键,进入通道正反设置界面;

(4)菜单默认选中通道1,此时按【数值-】或者【数值+】键,即可设置通道1的正反;
设置通道2-4的正反,需要顺时针或者逆时针拧动旋转编码器的旋钮,直到该通道一栏被选中,再按【数值-】或者【数值+】键即可。
按【返回】键,或者【home】键,回到主界面。
5. 通道微调
在飞行时,你可能会发现,遥杆处于回中状态,但是飞机会渐渐朝某个方向偏,这个时候就要用到微调功能了。
5.1 方法一
如果飞机正在空中飞行,你可以使用6个微调按键对偏转的那个通道进行调整。调整时确保OLED屏幕显示的是主界面,否则六个按键操作的是菜单,而不是微调功能

5.2 方法二
如果你的飞机静止放置在地面,你需要对舵面进行调整。除了方法一,还可以在菜单栏里找到通道微调,点击确定按键,可对每个通道的数值进行调整。这个方法的好处在于,有数值一目了然。
设置方法如下:
(1)按下旋转编码器的按钮,由主界面进入菜单列表;

(2) 按下旋转编码器的按钮,或者按【确定】键,进入通道微调界面;

(3)菜单默认选中通道1,此时按【数值-】或者【数值+】键,即可设置通道1的微调;
可以试试短按和长按有什么区别喔~(笔者的得意之处)
设置通道2-4的微调,需要顺时针或者逆时针拧动旋转编码器的旋钮,直到该通道一栏被选中,再按【数值-】或者【数值+】键即可。
按【返回】键,或者【home】键,回到主界面。
彩蛋
可以试试在菜单列表时,长按旋转编码器的按钮会有什么效果哈~
有任何问题欢迎在评论区留言哦
写在最后
首先感谢项目中所有的贡献者!(截止2020.08.01)
* 蔡子CaiZi(B站up主) https://space.bilibili.com/349576976
* A-XIN;
* 小何;
* ZL_Studio(B站up主)https://space.bilibili.com/364251289
* 王天天@WangTiantian139 https://wangtiantian139.github.io/
* 刘桶桶;
* 简繁;
* 王博;
* 与非门;
* Talons;
* 大米粥;
* P a S S ||;特别感谢正点原子提供的STM32例程和开源社区http://www.openedv.com/
由于笔者学业繁忙,时间有限,无法投入过多的精力,所以欢迎更多学有余力的模友,加入到项目的开发和维护工作中哈,现在基础的程序框架已经搭建完成,剩下的要做的就是填充、优化和扩展了,有意愿的模友加群后请私聊群主喔~
QQ交流群:1091996634 【密码:J20】
本文欢迎转载,请注明出处哈~

J20航模遥控器开源项目系列教程(二)使用说明 | 遥控器制作完成了,怎么用?的更多相关文章
- J20航模遥控器开源项目系列教程(一)制作教程 | 基础版V1.0发布,从0到1
我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/C ...
- J20航模遥控器开源项目系列教程(五)| 制作STM32F0接收机,8路PWM输出,SBUS输出,PPM输出 | 加密狗无线化,畅玩飞行模拟器
我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J ...
- J20航模遥控器开源项目系列教程(七)PPM输出 | 关于按键版本和旋转编码器版本的兼容说明、布局建议 | 关于MINI版PCB的兼容说明
我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J ...
- J20航模遥控器开源项目系列教程(三)开发说明 | 想要自己改造程序,扩充功能,怎么实现?
我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/C ...
- J20航模遥控器开源项目系列教程(四)PCB打印 | 嘉立创PCB下单教程,5元顺丰包邮解君愁!
我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J ...
- J20航模遥控器开源项目系列教程(六)亚克力外壳制作
我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J ...
- Laravel大型项目系列教程(二)之用户管理
Laravel大型项目系列教程(二) 一.前言 本节教程将大概实现用户的注册.修改个人信息.管理用户功能. 二.Let's go 1.创建用户注册视图 $ php artisan generate:v ...
- ABP框架搭建项目系列教程基础版完结篇
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样 ...
- Laravel大型项目系列教程(三)之发表文章
Laravel大型项目系列教程(三)之发表文章 一.前言 上一节教程中完成了用户管理,这节教程将大概完成发表Markdown格式文章并展示的功能. 二.Let's go 1.数据库迁移 文章模块中我们 ...
随机推荐
- Spring Security 实战干货:理解AuthenticationManager
1. 前言 我们上一篇介绍了UsernamePasswordAuthenticationFilter的工作流程,留下了一个小小的伏笔,作为一个Servlet Filter应该存在一个doFilter实 ...
- 深入理解JVM(③)Java的锁优化
前言 从JDK5到JDK6HotSpot虚拟机开发团队花费了大量的资源实现了各种锁优化技术,如适应性自旋(Adaptive Spinning).锁消除(Lock Elimination).锁膨胀(Lo ...
- IDEA中项目的两种打包方式
本文主要介绍在IDEA中怎么打包,及可以用哪种方式打包. 若是有指正或补充的,欢迎留言~ ٩(●̮̃•)۶ 接下来进入正题: IDEA中打包需要先进行配置,so,我们先打开<abbr titl ...
- ✨Shell脚本实现Base64 加密解密
加密算法 # !/bin/bash # 全局变量 str="" base64_encode_string(){ # 源数据 source_string=$1 echo " ...
- AttributeError: module 'time' has no attribute 'clock'
在python3.8中flask项目运行报错: AttributeError: module 'time' has no attribute 'clock'解决方案 主要原因是因为python3.8中 ...
- 线程_进程间通信Queue合集
# Queue的工作原理 from multiprocessing import Queue q = Queue(3)#初始化一个Queue对象,最多可接收3条put消息 q.put("In ...
- PHP ignore_user_abort() 函数
实例 设置为 false(默认)- 与客户机断开会终止脚本的执行: <?phpignore_user_abort();?>高佣联盟 www.cgewang.com 上面代码的输出如下: 0 ...
- 痞子衡嵌入式:MCUXpresso IDE下使用J-Link下载算法在Flash调试注意事项(i.MXRT500为例)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下使用J-Link下载算法在Flash调试注意事项. 痞子衡前段时间写过一篇小文<为i.MXRT设计更 ...
- C/C++编程笔记:一张思维导图,带你总结C语言全部知识点!
很多小伙伴想要好好地学习一下C语言的知识,但是又不知道怎么学,应该学哪一些C语言的知识,笔者在网上看到了这一张C语言的比较完善的C语言的学习路线图,有兴趣的小伙伴可以保存起来哈! C语言是面向过程的, ...
- NOI Online 游戏 树形dp 广义容斥/二项式反演
LINK:游戏 还是过于弱鸡 没看出来是个二项式反演,虽然学过一遍 但印象不深刻. 二项式反演:有两种形式 一种是以恰好和至多的转换 一种是恰好和至少得转换. 设\(f_i\)表示至多的方案数 \(g ...