1 手抛机改遥控的单片机硬件选型
我想做个手抛机改遥控的系统,看了b站相关视频觉得难度不太大,正适合自己的水平入手,同时也能提高单片机水平。
参考相关项目,我给这个系统设定了如下要求,控制1个电机,2个舵机。电机是飞机的主要动力,2个舵机分别控制方向舵和水平尾翼。现阶段主要实现能遥控并且飞起来就可以了。
说到遥控有很多方案,可以用ESP8266、ESP32、nrf24l01。
ESP8266、ESP32方案又可以细分,遥控端用手机APP实现或用另外的ESP8266、ESP32模块实现,APP需要android开发,另外模块集成度不好,如果自己设计射频感觉有难度。
nrf24l01方案需要购买模块需分别实现遥控端和接收端,且芯片是进口的,问题是模块集成度不好。后来发现国产芯领的XL2409合封了射频模块,集成度很好,但发现这个芯片的封装不适合个人焊接,遂放弃。但查看芯领官方淘宝店发现有XL2422单片机是sop16封装价格也不贵。
XL2422单片机本身MCU是基于PY32F002B外加射频模块,所以可以先在PY32F002B上熟悉基本硬件。为什么要在PY32F002B熟悉硬件,因为XL2422的SWD接口如果你复用其它功能会导致你下一次无法下载程序,除非你有官方的下载器,价格大约80多。
XL2409是基于PY32F030外加射频模块。PY32F030有DMA硬件,而PY32F002B没有DMA硬件,但2者都有定时器。定时器可以生成PWM信号控制舵机的角度和电机的转速。具有DMA硬件可以配合ADC模块使用,使编程高效。
目前把接收端的芯片定位XL2422,通过高级定时器TIM1的4个通道控制舵机和电机。目前4个通道刚好对应遥控的摇杆通道。
遥控端经多次思考和权衡我选用了MCU沁恒ch32v003f4p6。因为它有ADC、DMA和定时器,关键是价格便宜。虽然ADC位数只有10位,但也够用。射频选用XL2400P,价格0.65元。
沁恒单片机的开发环境的MounRiver Studio,开发环境不用自己搭建,只需安装IDE即可,可以说是开箱即用,不像mdk那么麻烦。
XL2422开发使用MDK开发,需要安装py32f00b的pack。
下一回讲解XL2422开发环境的搭建和测试
如何通过单片机用键盘玩Switch游戏?
TechWeb 文 / 新喀鸦
相信有很多朋友在入手Switch游戏机之前都是在玩电脑游戏,那么肯定有一部分玩家更习惯使用键盘而不是手柄操作。那么这时如何使用键盘玩Switch游戏呢?
首先,如果想直接将键盘连接在Switch游戏机或主机底座上是行不通的,那样直接连接的话键盘只能用于打字,不能用于游戏的操作。因为此时键盘和手柄按键之间缺乏映射关系,你在键盘上所按下的按键不能对应到手柄的按键上。而补全这种映射关系就能解决问题了,比如像市面上出售的“键鼠转换器”或者内置“键鼠转换器”功能的特殊键盘。但这两种产品价格上比较贵,而且功能上也很局限。
在这个局面下,单片机就成了一个很好的解决方案。单片机价格便宜,而且可以通过编程扩展很多功能。
第一步*选择合适的单片机开发板
单片机又称微控制器(MCU),是将单片机主机(CPU、内存和I/O接口)集成在一小块硅片上的微型机。具有三个优势(集成度高、可靠性高、性价比高)。
单片机开发板是一种非常适合单片机学习者以及单片机工程师使用的一种硬件,在开发板上除了单片机芯片以外,一般还会配有各种I/O接口、传感器、点阵显示屏等“外部硬件资源”。
而选择一款合适的单片机开发板,一是要看单片机芯片的各种技术指标,二是要看开发板配备的“外部硬件资源”。
单片机的技术指标一般可以重点看以下四个方面:
字长:例如8位、16位、32位
内存容量:例如8K、64K、16M
运算速度(时钟频率):例如6MHz、12MHz、24MHz
内存存取周期:例如:50nS 、70nS
“而外部硬件资源”则是看开发板提供的接口以及传感器等,比如在一些比较复杂的项目中会用到较多的输入输出引脚,那这种时候就需要选择引脚较多的单片机开发板。
另外在实际的单片机项目中,成本是一个非常重要的考量因素。在单片机选用时往往会优先选择性能勉强够用,但性价比很高的型号。
最终在本次项目中选用了Teensy++ 2.0单片机开发板。
第二步*连接单片机开发板
对于一款陌生的单片机开发板,最快了解它的方法就是去官网查相关资料,这些资料包括但不限于引脚定义、各引脚所能承受的最大电压。
其实也可以从论坛获取相关型号单片机开发板的使用经验,不过论坛上的信息有些会存在一些错误,需要注意甄别。
以上为Teensy++ 2.0单片机开发板的引脚定义图,我们可以按照图上的引脚定义将单片机开发板与下载器等设备连接起来。
连接结果如上图所示
第三步*自己编程或者寻找可用的开源代码
单片机芯片是需要程序和代码来实现功能的,所以我们需要自己开发或者寻找可用的开源代码。
如果不打算自己开发全部内容,准备使用开源程序的话。建议在一开始选择单片机开发板时就考虑相关问题,同样的程序在不同型号的单片机上可能效果会不同。所以这种情况在最初选择单片机时最好直接选择原开发者所采用的单片机型号或是兼容型号,以免未来调试过程中出现麻烦。
最终在本次项目中选用了“伊机控”这款开源程序,以此为基础进行相应开发。
第四步*学习相应的编程语法
如果以开源程序为基础进行开发,则需要仔细阅读开源程序的说明文档。这些程序中会详尽说明开源程序所构筑的特殊语法、函数等内容。
“伊机控”的“简单语法”可以分成6个部分,分别为:注释、输出、按键、摇杆、等待、循环。
熟悉编程的朋友可能注意到了,即使仅依靠这六种语法就已经能构筑出一些自动化操作的指令了。
而在进阶部分还有例如:常量、变量、条件分支、逻辑运算、栈操作等更为复杂的语法功能。
在一些游戏中会有一些重复性的操作,比如刷道具、刷精灵。在人工刷道具的时候,其实操作也就是反反复复那几种。而使用了单片机后,这种步骤则可以通过单片机自动进行了。
第五步*安装驱动并烧录程序
单片机的下载器其实是一个很古老的电子产品了,因此在很多电脑上是需要手动安装驱动的。很多新手明明连接没问题,但插上就是没反应,原因也在于此。没有驱动的话,下载器是不能正常工作的。
而对于单片机的烧录一般需要用到单片机厂商提供的程序,Teensy++ 2.0所用的就是teensy.exe进行烧录。
在完成烧录后我们就可以测试我们自己的代码功能了。
相关问答
pwm控制电机转速,怎样能够计算出电机的理论转速值呢?谢谢了?校准电调就是通过让电调可接受的pwm值区间去适应遥控器所发出的pwm区间。然后在说说,这个过程是怎么实现的,首先操作者推动遥控器摇杆,摇杆上面其实是一个电...
街霸2人机对战的时候,AI到底有没有在作弊?电脑无需蓄力街霸中有些人物的招数是需要蓄力一下才能打的出来的,比如古烈,他的手刀和脚刀,我们都需要往后或者往下拉着摇杆先蓄力一会才能放出来,但电脑可...
披萨盒怎么做娃娃机?要把披萨盒做成娃娃机需要一些工具和材料,以下是一个简单的实现方法:材料:1.披萨盒2.剪刀3.透明塑料薄膜(如保鲜膜)4.计算机主板或单片机5.电机6.电线...
减速电机工作原理 减速齿轮电机_汽配人问答[回答]减速电机一般就是普通的直流电机,只是在普通电机的前边加了一个齿轮减速器。你的这个电机就是个普通电机,那个电位器叫做摇杆电位器,电机的启动停止...
诸位前辈!我想咨询 西夏区货车雨刮器维修联系方式,雨刮器...[回答]中低挡车雨刮器电机是旋转输出,雨刮的往复靠曲柄摇杆机构来实施。中高挡,高挡车雨刮器电机是小于180度正反摆动输出,雨刮器电机正反摆动,摆动角度大...
谁清楚!值得推荐声乐表演培训,声乐表演服务体验如何??[回答]电钢琴、电子琴、电吉他、激光竖琴、电贝司。1、电钢琴电钢琴(Electronicalpiano),是一种电声乐器。它是二十世纪六七十年代兴起,八十年代至九十年...
麻烦大神们有谁能解答一下吗,实力厂家528电机哪家正规,528...减速电机一般就是普通的直流电机,只是在普通电机的前边加了一个齿轮减速器。你的这个电机就是个普通电机,那个电位器叫做摇杆电位器,电机的启动停止...
膜式煤气表的原理是什么?_土巴兔装修问答按如上电路示意图配置,就会输出如右图部分的电路波形S0、S1,单片机对这俩组波形进行判断,即可得出气表的工作状态。当S0,S1相继出现一个低脉冲时,判...