×

nRF52840 BLE控制器

消耗积分:0 | 格式:zip | 大小:0.46 MB | 2022-12-13

分享资料个

描述

概括

对于 ECEN 2400 嵌入式系统应用的最终项目,Nayef、Luke 和我想创建一个复古游戏控制器,它利用无线通信,因为由于旧系统的硬件限制,大多数复古控制器都使用电线。

考虑到这一点,我们必须在 PC 上的模拟器上使用控制器,这样我们才能通过蓝牙进行通信。该控制器是使用 Sparkfun nRF52840 迷你分线板创建的。它有 5 个面部按钮,包括背面的 2 个侧面触发器。它通过 BLE 和 UART 与从机通信。拇指杆的 ADC 仍在进行中 为了与 PC 通信,我们必须对基于 arduino 的板(ESP32、Arduino Micro w/BLE 模块等)进行编程,以通过 BLE 与我们的 nRF 连接并破译从射频。通过 arduino 执行此操作,我们将能够利用已经与 PC 配合使用的库为其提供控制器输入

功能框图

pYYBAGOX0k6AF6CwAABC0wqiLRY674.jpg
 

接线图

pYYBAGOX0lGAe7-QAAA8FMWsQPM224.jpg
 

引脚排列

poYBAGOX0lWAGRsKAAEoNOgxlUE227.png
 

PCB设计

对于 PCB,我们使用 Autodesk 的 EAGLE 设计了完整的原理图和布局。我们希望它充当 nRF 的屏蔽层并让它从后部突出,这样我们就可以在外壳内访问微型 USB 和电池连接器。我们有一个非常简单的设计,因此创建 PCB 并不太难。我们必须包括 7 个按钮的支架、一个模拟摇杆,然后是 nRF 的接头。

pYYBAGOX0liAPLv-AAC0U_2sToE388.png
 
poYBAGOX0lyAaAMMAAK9MTnEBX4091.png
 
 
 
 
poYBAGOX0rmAOvoeABKrBsSWZQk030.jpg
 
1 / 2
 

机械外壳

poYBAGOX0ruAKO0BAABoidnUWTo664.png
 
pYYBAGOX0r-AZSrZAACqk3lvPd0623.png
 

调试

为了调试某些项目,我们必须弄清楚如何正确连接到 ARM 芯片,因为我们使用的 nRF 没有内置的调试功能。这将我们引向J-Link EDU 迷你编程器通过包含几个 VS Code 扩展,我们终于能够像使用 MSP432 在 Code Composer Studio 上进行调试一样对其进行调试。

我们完全调试的一个部分是 UART。为了确定我们是否正确地将 UART 字符串写入 TX 引脚,Nayef 为每个按钮和方向输入创建了几个测试用例,我们稍后将它们正确地转换为我们的按钮中断处理程序。我们还使用 nRF Connect 和 nRF Toolbox 等几个北欧应用程序验证了这些发现。在 nRF Connect 中,我们能够获取我们各自的板地址,这些地址是直接连接到用于 PC 集成的 arduino 板所需的。我们不得不使用 android 版本来获取这个,因为 iOS 版本似乎没有访问这些数据的权限。我们还能够使用这些应用程序来验证每次按下按钮的正确数据传输。

 
 
 
poYBAGOX0sSAGSqvAAH7E_BkxkQ066.png
 
1 / 3
 

下一步是什么

为了进一步创建一个功能齐全的系统,我们必须弄清楚如何通过 BLE 将我们的 nRF 连接到 arduino 板,并可能使用物理 UART 连接。现有的 arduino 库允许使用 Window 的内置 USB 控制器功能将来自 arduino 的数据作为控制器输入进行处理。此外,我们必须充分了解我们的 ADC,以便将我们的模拟输入分解为四个方向输入。一旦我们完成了所有这些,我们相信通过更多的调试和解决一些问题,这应该是一个可以在 PC 模拟器上玩复古游戏的控制器。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !