一 实现思路
摘要:Arduino Nao,ps2手柄,遥控小车,多运动模式,MG995舵机
1 项目简介
1 项目效果
通过ps2手柄控制小车的移动,有三种移动模式与控制铲子功能。
滑行模式:左侧上下左右,步幅较大;
微调模式:右侧三角圆X方,移动微小;
连续模式:左右遥杆分别控制小车前后与左右,可同时操作;
铲斗功能:右侧肩键控制铲斗放下与抬起;
本项为入门级项目,容易实现,适合小白练手!
2 实现方式
通信使用Arduino nano
开发板(其余合适开发板皆可)用于和ps2手柄通讯。使用mixly编写程序来实现:通过按下手柄按键,达成让小车各部分响应的效果。硬件方面使用直流减速电机搭配驱动板 作为轮子电机,便于控制移动。用大扭矩Mg995舵机控制铲斗的运动,用12v可充电电池提供电源。
2 项目构成
1 软件环境
上传程序: mixly
部分外壳设计:3donecut,
2 所需硬件
开发板:Arduino nano
元器件:Mg995舵机,直流减速电机,驱动板,ps2手柄+接收器,DC口电源模块(12v转3.3v/5v)
其它:轮子,木板 ,12V充电电池,智能小车铝合金底盘
硬件接线:减速电机通过驱动板与主控板连接,ps2接收器,舵机等直连开发板。
3 原理总结
功能总结:手柄通讯,移动模式,舵机运动
- 手柄通讯通过mixly自带的库能简单实现按下手柄某一个键完成某一功能的效果;
- 通过按下方向键时才给直流电机供电,实现小车所有的移动功能。不同运动模式通过控制高电平延时的时间实现,如滑行则按下按键通电1秒,微调则通电0.5s,遥杆设置更低的间隔已实现连续流畅的运动。
- 舵机运动通过for循环遍历写入角度值,实现丝滑运动效果。
手柄——>ps2接收器——>Arduino nano开发板——>硬件模块响应
3 代码实现
1 功能分类
功能 | 原理 |
---|---|
1 滑行模式 | 按一下对应键,给直流电机供电1s,1s后断电 |
2 微调模式 | 按一下对应键,给直流电机供电0.5s,之后断电 |
3 连续运动 | 按一下对应键,给直流电机供电0.1s,之后断电 |
4 铲斗升降 | 按下肩键后,for循环遍历写入角度,每次增加1° |
2 具体代码
4 外壳部分
二 展示
视频
Arduino 手柄遥控小车,最帅车尾灯