查看: 3005|回复: 21

ps2遥控小车——uno实现

[复制链接]
  • TA的每日心情
    无聊
    2020-8-12 17:14
  • 签到天数: 30 天

    [LV.5]常住居民I

    发表于 2020-3-6 08:15 | 显示全部楼层 |阅读模式
    本帖最后由 wzzzq 于 2020-8-18 16:41 编辑

    前几天在阁楼发现了好久以前3d打印,激光切割的底盘,于是决定做这个东西

    正好手上又有ps2,其实买一套也就二三十块

    于是一辆小车就诞生了
    一 材料
    底盘
    tt电机2个
    ps2遥控加接收器
    一块arduino主板
    电机驱动板一块
    轮子2个
    二 制作
    安装主板,电机,驱动板

    安装完了以后装ps2,这个是难点
    连接ps2与主板的两种方法
    1直接拆了然后把引脚焊接一下,这个方法有点暴力,但不需要额外的材料
    这里说一句,如果你是一个喜欢制作电子项目的人,焊接是无论如何不能跳过的,除非你想一直用别人封装好的东西,这样既无法实现个性化的功能,价格也会更高
    所以我建议大家尽量买个烙铁。
    2是弄个专用的板子把引脚引出来在焊接,这个板某宝上有很多,直接搜ps2 arduino便有,不过一般是连手柄,接收器一起卖的。
    https://www.basemu.com/using-a-playstation-2-controller-with-your-arduino-project.html
    大家先看一下这个帖子,了解一下ps2的连接那篇文章写的挺好的,值得一看,我这里再讲几点

    这是里面的一张图,大家按照这个焊接,只要焊接3.3v,data,attention,gnd,clock
    先下载库

    在头上加上这段代码
    #include <PS2X_lib.h>
    PS2X ps2x;
    然后把下面这句话加在setup里,只要运行一次,起到初始化的作用。
    ps2x.config_gamepad(pin,pin,pin,pin, false, false);
    PS2手柄 :clock、 command、attention、 data、 压力灵敏度enabled、震动反馈 enabled。
    clock连接的引脚是第一个参数,以此类推
    如果用的是板子,也是一样里面的引脚和上面的引脚一一对应,其实他就起了一个把引脚引出来的作用
    比如第一个参数是10,clock就接在10上
    ps2x.read_gamepad();
    句话放在loop里,每次读取一次
    总代码如下
    游客,如果您要查看本帖隐藏内容请回复

    然后就实现了用ps2左边的手柄控制小车的移动
    微信图片_20200306081418.jpg 微信图片_20200306081423.jpg
    库文件如下
    游客,如果您要查看本帖隐藏内容请回复

    如有问题欢迎回帖






    该用户从未签到

    发表于 2020-8-17 21:46 | 显示全部楼层
    学习了学习了
  • TA的每日心情
    无聊
    2020-10-20 12:23
  • 签到天数: 84 天

    [LV.6]常住居民II

    发表于 2020-8-24 19:02 | 显示全部楼层
    回复来看看
  • TA的每日心情
    开心
    2020-10-20 06:34
  • 签到天数: 1287 天

    [LV.10]以坛为家III

    发表于 2020-9-11 15:31 | 显示全部楼层
    学习学习,也正在研究手柄

    该用户从未签到

    发表于 2020-9-12 11:23 | 显示全部楼层
    顶一个,谢谢楼主分享
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    求助更快的Ping查看IP是否在线速度
    求助更快的Ping查看IP是否
    本人小白刚刚玩ESP8266-01S一个星期,想做一个远程开关电脑,目前在解决状态反馈遇到一
    OLED 128*64自制可达10000000个选项的菜单(已更新)
    OLED 128*64自制可达10000
    OLED 128*64自制可达10000000个选项的菜单 温馨提示: 建议占个楼再食用本帖子
    红外门禁蜂鸣器一直响,什么原因,怎么解决啊
    红外门禁蜂鸣器一直响,什
    程序运行之后蜂鸣器一直响,红外感应没有感应到它也一直响,是程序出了问题,还是装置
    freerots mqtt_print_limt 限制函数的疑问
    freerots mqtt_print_limt
    blinker_mqtt.c 函数中的 blinker_mqtt_print函数中有一部分发送限制函数如下 i
    基于BLINKER的无线USB电压电流表
    基于BLINKER的无线USB电压
    一、方案概述 目前市场上的USB电压电流表很多,但是数据的测量精度和采样频率都是固定
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表