当前位置:网站首页>【遥控器开发基础教程5】疯壳·开源编队无人机-SPI(2.4G 双机通信)
【遥控器开发基础教程5】疯壳·开源编队无人机-SPI(2.4G 双机通信)
2022-08-03 00:03:00 【efans_Mike】
COCOFLY教程
——疯壳无人机·系列
SPI(2.4G 双机通信)
图1
一、NRF24L01
1.1 NRF24L01 简介
NRF24L01 是由NORDIC 生产的工作在 2.4GHz~2.5GHz 的ISM 频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。
NRF24L01 的输出功率频道选择和协议的设置均可以通过 SPI 接口进行设置,因此,其具有极高的兼容性,几乎可以连接到各种单片机芯片,并完成无线数据传送工作。除此之外,NRF24L01 的功耗也非常的低,当工作在发射模式下发射功率为 0dBm 时电流消耗仅为 11.3mA ,接收模式时为 12.3mA,掉电模式和待机模式下电流消耗更低。所以 NRF24L01 可以广泛地应用在无线键鼠、无线门禁、无线电台、智能工业设备、玩具等场合。
如下表所示列举了 NRF24L01 的特性参数。
表1
如下图所示为 NRF24L01 芯片实物图
图2
二、2.4G 双机通信
2.1 NRF24L01 使用方法
NRF24L01 是以包的形式进行发送的,具体的包格式如下表所示。
表2
NRF24L01 在通信前需要进行一系列的参数配置,而在配置其参数时,NRF24L01 必须工作待机模式,即 CE 脚拉低。在发送模式下的配置流程如下表所示。
表3
配置为接收模式的流程如下表所示。
表4
配置完后就是发送和接收的处理了,发送的流程如下表所示。
表5
接收流程如下表所示。
表6
三、2.4G 双机通信实验
2.4G 双机通信实验涉及到遥控器端和飞控端,两者的 2.4G 通道均设置为
110。首先配置遥控器端的左摇杆的按键为外部中断模式,一旦按下做摇杆按键, 就发送“Remoter”这个字符串到飞控上,飞控接收到后,把 LED 航情灯进行闪烁,然后再向遥控器回发“Airplane”这个字符串,遥控收到后,闪烁电源指示灯。无论是遥控器还是飞控使用 NRF24L01 均使用到了 STM32 的硬件 SPI,不同的是遥控器使用的是 SPI2,而飞控使用的是 SPI1。STM32 的 SPI 配置方法可以参考飞控开发基础《SPI(六轴传感器数据获取)》。
3.1遥控器端
本次实验中遥控器端触发无线数据的发送是通过外部中断实现的,具体的外
部中断配置可以参考《遥控器开发实战-中断》。在该中断中向飞控发送“Remoter” 字符串,具体代码如下图所示。
图3
遥控器端的 NRF24L01 的初始化代码如下图所示。
图4
遥控器端的接收处理是在主循环中轮询实现的,收到飞控发来的信息后,电源指示灯闪烁,具体代码如下图所示。
图5
3.2飞控端
飞控端的无线数据接收在主循环中实现,接收到遥控器发送的信息后,电源指示灯闪烁,且向遥控端回发“Airplane”,具体代码如下图所示。
图6
飞控端的 NRF24L01 的初始化代码如下。
图7
3.3实验现象
把遥控器端代码下载到遥控器内、飞控端代码下载到飞控内。上电,此时按下遥控器的左摇杆按键,可见飞控四个电机底部的 LED 航情灯闪烁,然后遥控的电源指示灯也闪烁。这就意味着飞控收到了来自遥控器端的信息并且回发了信息给遥控器,且遥控器也收到了来自飞控端的回发信息。如下图所示为飞控航情灯以及遥控左按键及电源指示灯。
图8
更多完整学习资料和对应开源套件,请登陆官网:“疯壳”
如需定制开发,请通过官网“疯壳”网页底部的“联系我们”进行联系
边栏推荐
猜你喜欢
js基础知识整理之 —— 全局作用域
Mock工具之Moco使用教程
麒麟信安邀您抢先看 | openEuler 志高远,开源汇智创未来-开放原子全球开源峰会欧拉分论坛最详细议程出炉
GoLang 使用 goroutine 停止的几种办法
2022 开放原子全球开源峰会 | 麒麟信安携手openEuler助力开源产业繁荣发展
牛客网剑指offer刷题练习之链表中环的入口结点
风电场运营实践 | 麒麟信安助力国华投资山东公司集控中心实现安全智慧化运营
开源聚力,共创未来 | 麒麟信安祝贺openKylin首个体验版正式发布!
简单聊聊MySQL中的六种日志
为了面试阿里,熬夜肝完这份软件测试笔记后,Offer终于到手了
随机推荐
minio 单机版安装
北路智控上市首日破发:公司市值59亿 募资15.6亿
用了TCP协议,就一定不会丢包吗?
定了!8月起,网易将为本号粉丝提供数据分析培训,费用全免!
Database auditing - an essential part of network security
如何快速对接淘宝开放平台API接口(淘宝店铺订单明文接口,淘宝店铺商品上传接口,淘宝店铺订单交易接口)
php提示Array to string conversion
关于地图GIS开发事项的一次实践整理(上)
MySQL的多表查询(1)
优秀论文以及思路分析02
2022中国眼博会,山东眼健康展,视力矫正仪器展,护眼产品展
线性DP
alibaba数据同步组件canal的实践整理
Nacos配置中心之事件订阅
GoLang 使用 goroutine 停止的几种办法
7.29
DownMusic总结记录
新公链时代的跨链安全性解决方案
RollBack Rx Professional RMC 安装教程
十年架构五年生活-05第一次出差