对于 ECEN 2400 嵌入式系统应用的最终项目,Nayef、Luke 和我想创建一个复古游戏控制器,它利用无线通信,因为由于旧系统的硬件限制,大多数复古控制器都使用电线。
考虑到这一点,我们必须在 PC 上的模拟器上使用控制器,这样我们才能通过蓝牙进行通信。该控制器是使用 Sparkfun nRF52840 迷你分线板创建的。它有 5 个面部按钮,包括背面的 2 个侧面触发器。它通过 BLE 和 UART 与从机通信。拇指杆的 ADC 仍在进行中 为了与 PC 通信,我们必须对基于 arduino 的板(ESP32、Arduino Micro w/BLE 模块等)进行编程,以通过 BLE 与我们的 nRF 连接并破译从射频。通过 arduino 执行此操作,我们将能够利用已经与 PC 配合使用的库为其提供控制器输入
对于 PCB,我们使用 Autodesk 的 EAGLE 设计了完整的原理图和布局。我们希望它充当 nRF 的屏蔽层并让它从后部突出,这样我们就可以在外壳内访问微型 USB 和电池连接器。我们有一个非常简单的设计,因此创建 PCB 并不太难。我们必须包括 7 个按钮的支架、一个模拟摇杆,然后是 nRF 的接头。
为了调试某些项目,我们必须弄清楚如何正确连接到 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 版本似乎没有访问这些数据的权限。我们还能够使用这些应用程序来验证每次按下按钮的正确数据传输。
为了进一步创建一个功能齐全的系统,我们必须弄清楚如何通过 BLE 将我们的 nRF 连接到 arduino 板,并可能使用物理 UART 连接。现有的 arduino 库允许使用 Window 的内置 USB 控制器功能将来自 arduino 的数据作为控制器输入进行处理。此外,我们必须充分了解我们的 ADC,以便将我们的模拟输入分解为四个方向输入。一旦我们完成了所有这些,我们相信通过更多的调试和解决一些问题,这应该是一个可以在 PC 模拟器上玩复古游戏的控制器。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !