0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Arduino和NRF24L01制作PS2控制器

454398 ? 来源:wv ? 2019-09-27 11:04 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:收集材料

1 x有线PS2控制器(克隆)

1 x Arduino nano

1 x NRF24L01 + PA + LNA

1 x NRF24L01 +的插槽适配器模块板(或者您可以尝试使用arduino的3.3v直接为它供电,但要放一个电容器使电压更平滑)

2 x 16340锂离子电池

1 x USB锂电池充电器模块板

1 x拨动开关

1 x小直流电动机(可选)

1个L293D电动机驱动器(可选,仅当您添加了用于振动的直流电动机时)

步骤2:将Arduino示意为NRF24L01 +和PS2

如何使用Arduino和NRF24L01制作PS2控制器

您可以在此站点上找到有关如何将Arduino连接到PS2的更全面的说明。

要连接到NRF24L01 +,您可以指向

第3步:Shematic电源

第4步:注意,如果要添加电动机来模拟振动

如果要添加直流电动机,则需要添加电动机驱动器(例如:L293D)不要将其直接连接到arduino的引脚,因为它需要大量电流,可能会损坏arduino。最初,我想添加一个直流电动机,但是不幸的是我的电动机驱动器坏了,无法快速购买另一个,所以我放弃了该零件(尽管您可以在其中一张照片中看到,直流电动机仍然在那里)。/p》

如果您有兴趣添加电动机,请按以下步骤操作。

步骤5:将其放在一起

步骤6:

步骤7:

我并联了电池以提高电流强度,

步骤8:

步骤9:

第10步:

很遗憾,我无法在其中安装一些电子设备,在这里您可以看到一半的arduino和

步骤11:

步骤12:PS2控制器的代码

这是示例代码。我将Visual Studio 2017 Community Edition与Visual Micro一起使用,因为它比现有的Arduino IDE更好。无论如何,在此之前,您将需要以下库:PS2X和RF24

在代码中,您可能还会发现与BatteryCheck有关的内容,目前尚未使用。最初,我打算使用它来检查电池电量,因为我正在使用不受保护的电池,但是我无法使其正常运行。

我承认的代码本身距离优化还差得很远,如果可以的话,我将不胜感激。

第13步:这是我要处理的示例

第14步:

步骤15:即将添加

添加OLED屏幕

使其更加紧凑,在外部看不到任何电子零件

激活振动电机

尝试进一步扩展范围。目前,它只能穿过一堵墙,沿着房屋的射程只有20米左右。我没有在外面尝试过,也许可以上升到50米。

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

    关注

    114

    文章

    17252

    浏览量

    185433
  • nRF24L01
    +关注

    关注

    17

    文章

    331

    浏览量

    71436
  • Arduino
    +关注

    关注

    190

    文章

    6501

    浏览量

    193080
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SI24R1:答题卡方案芯片替代NRF24L01+

    的 LDO 电源,保证 1.9-3.6V 宽电源范围内稳定工作。PIN对PIN兼容替代NRF24L01+。Si24R1采用GFSK/FSK数字调制与解调技术。数据传输速率可以调节,支持2Mbps,1Mbps
    发表于 07-31 10:29

    nRF54L15 # 超低功耗无线 SoC

    系列的所有无线 SoC 都集成了超低功耗多协议 2.4 GHz 无线电和 MCU(微控制器单元)功能,采用 128 MHz Arm Cortex-M33 处理和全面的外设集。该
    的头像 发表于 07-01 16:57 ?1861次阅读
    <b class='flag-5'>nRF54L</b>15 # 超低功耗无线 SoC

    NRF24L01项目资料(2.4G通信)实例项目下载

    NRF24L01项目资料(2.4G通信)实例项目,推荐下载!
    发表于 06-03 20:46

    贸泽开售Nordic nRF54L低功耗蓝牙SoC

    贸泽电子开售Nordic Semiconductor的全新nRF54L低功耗蓝牙SoC解决方案。nRF54L系列结构紧凑、功耗低,适用于医疗和智能家居设备、工业物联网、游戏控制器和其他物联网应用。
    的头像 发表于 06-03 14:37 ?560次阅读

    nRF24L01+ Altium Designer库文件

    nRF24L01+ Altium Designer库文件下载链接
    发表于 04-30 15:26

    基于nRF24L01+的2.4GHz无线模块设计与应用

    nRF24L01+是一款由Nordic Semiconductor设计的单片射频收发芯片,工作于2.4~2.5GHz ISM频段,采用GFSK调制技术,支持高达2Mbps的数据传输速率,具备低功耗特性,适用于2.4G无线通信应用场景。
    的头像 发表于 04-28 11:19 ?604次阅读
    基于<b class='flag-5'>nRF24L01</b>+的2.4GHz无线模块设计与应用

    stmf103c8t6使用nrf24l01发送和接收数据,接收端STATUS寄存的值始终为0x0E, FIFO_STATUS的值为0x11。

    (NRF24L01_CSN_PORT, NRF24L01_CSN_PIN, GPIO_PIN_SET); // 初始化NRF24L01寄存
    发表于 04-19 23:32

    PS2-88,PS2-88/NF功率分配器MCLI

    PS2-88,PS2-88/NF功率分配器MCLIPS2-88功率分配器是MCLI品牌推出的一款高性能射频微波器件,属于PS2系列2路功率分
    发表于 03-20 09:31

    开源项目!教你如何制作一个开源教育机械臂

    理想的理解按钮和伺服电机之间的相互作用。 蓝牙(HC-05)-通过蓝牙串行连接使用智能手机或电脑控制Pedro。非常适合无线命令和简单的远程控制应用。 NRF24L01(2.4 GHz无线电
    发表于 03-10 11:22

    开源项目!基于Arduino控制的六足机器人

    通过PS2摇杆输入移动指令,步态引擎计算足尖轨迹后由IK解算各舵机角度。另有原地平移/旋转模式,通过坐标偏移或旋转矩阵实现。 步骤6:PS2手柄适配 修改PS2X_lib库文件以适配控制器
    发表于 03-03 11:25

    CW32模块使用 NRF24L01无线2.4G模块

    NRF24L01是一款工作在2.4-2.5GHz世界通用ISM频段的单片收发芯片, 使用4线SPI通讯端口,通讯速率最高可达8Mbps,适合与各种MCU连接,编程简单;输出功率、频道选择和协议的设置
    的头像 发表于 01-23 13:00 ?694次阅读
    CW32模块使用 <b class='flag-5'>NRF24L01</b>无线2.4G模块

    有人用过USB转NRF24L01模块吗,求指教

    如图,我买了一个这个模块,然后买了两个NRF24L01。 其中一个接上了USB转NRF24L01模块,另外一个直连了stm32。 我想问接到转换模块上的这个NRF24L01需要提前烧录吗?还是说
    发表于 01-08 17:12

    nRF24L01P被SI24R1竟然完美兼容替换

    发现一个新一代nRF24L01P与上一代nRF24L01相比寄存没有太大的变化,但是有几个关于通信管道和ACK的寄存的配置还是与上一代不同的。另外,个人理解shockburst和e
    发表于 11-28 16:52

    SI24R1与NRF24L01P 对比方案

    1.9-3.6V 宽电源范围内稳定工作。PIN对PIN兼容替代NRF24L01+。Si24R1采用GFSK/FSK数字调制与解调技术。数据传输速率可以调节,支持2Mbps,1Mbps,250Kbps
    发表于 09-30 15:05

    基于STM32的E01和E01C驱动移植

    实验简介基于STM32F103C8T6的E01系列(nRF24L01P)和E01C系列(SI24R1)的EBYTE官网例程移植。EBYTE官网例程是基于STM8
    的头像 发表于 08-30 12:35 ?1032次阅读
    基于STM32的E<b class='flag-5'>01</b>和E<b class='flag-5'>01</b>C驱动移植