我设计的小车可搭载Romeo mini掌握板、电池与电机等器件,并且体积小巧。
在已有的根本上,还可在形状上进行变动,本次设计的外不雅观灵感来源于乌龟,以是叫杰尼龟小车。
它可通过蓝牙掌握移动,未来还可扩展播放MP3、灯光效果、摄像等功能。

教你制作小巧可爱的遥控小车

我将从机器部分、电路部分和软件部分3个角度分别阐述杰尼龟小车的全体制作过程:机器部分紧张阐述杰尼龟的各个零部件的设计与制作过程;电路部分紧张阐述杰尼龟实现碰着障碍物展开翅膀功能的硬件方案,以及小车寻线功能(选做)的硬件实现过程;软件部分阐述基于Arduino掌握的程序办理方案。
制作所需零件见表9.1,制作所需工具见表9.2。

绘图软件平台

Creo(见图9.1)是一个整合Pro/ENGINEER、CoCreate和ProductView三大软件并重新分发的新型CAD设计软件包,本设计所用到的所有图形均利用Creo软件设计并绘制出来。
该软件有个很大的优点在于可以组装已完成的零件,将这些有序的零件搭建成一个整体,从而优化零件尺寸并美化零件形状。
所有零件都是由DFRobot的Dreammaker打印机制作的。

表9.1 零件清单

图9.1 Creo

表9.2 制作所利用的工具

机器部分

零件先容

1 底盘:底盘为X形的,四角用来固定电机,中间的孔支持连接其他部件。

2 车轮支撑零件:前面一对,后面一对,用于支撑车轮,便于固定车轮和起到保护浸染。

3 侧边支撑零件:安装在车轮支撑零件的侧面,有着定车轮圆心和支撑车轮的浸染。

4 车轮:中间的十字孔用于和电机相连,另一侧圆孔是放置轴承的,周围的深槽是用来固定O形圈的。

5 龟形外壳:这是灵感来源于乌龟,再结合棱角设计所演化出来的形状,前方的锥形头骨表示壳的头部,中间的两只孔是避障传感器用于检测的窗口。

6 中间支撑零件:中部共有4个孔,两个大孔用来和底盘连接,两个小孔用来穿底部电机的导线;两侧的孔用于固定龟壳。

组装

1 组装车轮:将O形圈、车轮、轴承组合到一起。
O形圈须要用胶水粘在车轮上,最好利用硅胶或白乳胶。

2 组装底盘:将电机、底盘、M2×8机牙螺丝组合到一起。

3 组装车底身部件:将底盘部件、车轮部件、侧边支撑、M2×8机牙螺丝、M2×8自攻螺丝、M3×6机牙螺丝、导线组合到一起。
M2自攻螺丝用于安装侧边支撑零件和车轮支撑零件,M3机牙螺丝安装在侧边支撑零件的大孔里,M2机牙螺丝用于安装车轮支撑零件和底盘。

4 安装中部支撑零件:将车底身部件、中部支撑零件、M3×6机牙螺丝、M3螺母组装到一起。

5 安装小车内部电路部分:将Romeo mini掌握板、电池、测距传感器、M3×6机牙螺丝组装到车身上。
电路部分的连接方法详见电路部分。

6 完成小车安装:将车身、车壳、M3×6机牙螺丝组装到一起,将M3机牙螺丝安装在龟壳侧边的小孔里面,每边两只,杰尼龟小车就做好了。
小车尽可能不要太重,由于电机比较小,负荷并不大,而且太重了会造成O形圈脱落。

电路部分

为了实现遥控功能,我们搭建了如图9.2所示的电路。
掌握板为DFRobot的Romeo mini掌握板(兼容Arduino),板载蓝牙通信模块、电机驱动模块,扩展了8个数字口和4个仿照口。
你也可以用标准Arduino加蓝牙通信模块、电机驱动模块来搭建。
该掌握板没有电源开关,以是须要外接一个电源开关。
图9.2中右侧预留了传感器连接方案,但由于这次并没有连接,因此省略。
电路连接好后,最好先测试一下其功能再进行组装,Romeo mini掌握板自带蓝牙模块,支持无线烧录程序,方便日后调试程序。

图9.2 掌握电路

软件部分

杰尼龟小车的程序流程如图9.3所示,本程序通过手机利用蓝牙来连接小车上的Romeo mini掌握板,从而完成掌握小车提高、退却撤退等功能。
通过该流程图,不丢脸出该程序很随意马虎实现,通过对按键的检测来决定电机的输出形式,成为该程序的核心思路。
Arduino平台有着大略易懂、经济实惠等好处,其丰富的开源库以及大略易学的函数接口,使得该平台完备胜任这套设计。

图9.3 程序流程图

杰尼龟遥控程序

#include //手机蓝牙掌握库

#include

//Romeo mini库,须要用到电机驱动函数

int joystickX, joystickY;

//定义摇杆参数

void setup()

{ //初始化

Romeo_m.Initialise();

Goble.begin();

Serial.begin(115200);

}

void loop()

{

if(Goble.available())

{ //蓝牙掌握使能

joystickX = Goble.readJoy

stickX(); //通报X偏移数据

joystickY = Goble.readJoy

stickY(); //通报Y偏移数据

int SpeedX=joystickX;

int SpeedY=joystickY;

if (SpeedX>200 && 100

{ //判断坐标轴位置

Romeo_m.motorControl(Forward, 200,Forward,200); //提高

}

else if (100

{Romeo_m.motorControl(Forward, 100,Reverse,100); //退却撤退}

else if (100200)

{Romeo_m.motorControl(Reverse, 100,Forward,100);//左转}

else if (SpeedX<50 && 100

{Romeo_m.motorControl(Reverse, 200,Reverse,200);//右转}

else {Romeo_m.motorStop();//停滞

}

}

}

手机App

DFRobot推出的通用蓝牙遥控器App(见图9.4)让你可以与机器人、移动平台或无人机等任何你想要掌握的设备进行通信。
该遥控用具有一个仿照量的摇杆、

图9.4 通用蓝牙遥控器App

6个数字按键,采取传统游戏手柄布局,让所有人都可以更快上手。
遥控器符合DFRobot标准通信协议,并可设置数据发送模式。
本运用目前只涉及遥控器左边的摇杆部分,后边的掌握部分会在日后的升降中涉及。

(此处已添加圈子卡片,请到今日头条客户端查看)