RRoy 发表于 3 天前

用Arduino打造一辆蓝牙遥控坦克

本帖最后由 RRoy 于 2025-6-4 09:33 编辑




这个由创客Drone Proton分享的项目,结合了3D打印和Arduino,让你能轻松制作出一辆通过蓝牙模块与手机APP连接、实现无线遥控的RC坦克。用你的手机屏幕就能指挥坦克前进、后退、转弯。



唯一的小缺憾是,作者做的这辆其实是只有履带没有“炮”的坦克,不过有兴趣的小伙伴可以结合上一期的——远程操控,精准打击!DIY一个智能炮塔!把这辆坦克变成完整形态。




### 材料准备

要完成这个项目,需要准备一些基本的电子元件和工具:

* 核心控制板:Arduino Nano(项目推荐,小巧强大)
* 蓝牙通信:HC-05蓝牙模块(实现手机与坦克的无线连接)
* 电机驱动:L298N电机驱动模块(驱动坦克的直流电机)
* 动力来源:
    * 7.4V 1300 mAh LiPo电池(为电机供电)
    * 9V电池及电池夹(为Arduino和蓝牙模块供电)
* 传动装置:4个直流电机
* 连接线材:跳线
* 结构件:M3螺母
* 3D打印:一台3D打印机(用于打印坦克车身和履带)
* 控制终端:一部Android手机(安装配套的蓝牙遥控APP)




### 3D打印结构件


首先,可以从Thingiverse下载项目提供的3D模型文件。(也可以在文末打包一起下载)

包括坦克的车身、履带和侧板等部件。确保3D打印机设置正确,打印出这些塑料零件,它们是坦克的基础骨架。




* 坦克车身模型链接:`thingiverse.com/thing:3004073`
* 坦克履带及侧板模型链接:`thingiverse.com/thing:972768`



### 电路连接

按照项目提供的电子原理图,将Arduino Nano、HC-05蓝牙模块、L298N电机驱动模块以及所有直流电机连接起来。重点在于理解电源供电、蓝牙模块与Arduino的串口通信、以及电机驱动模块与电机和Arduino的连接关系。



* 详细的电子图和代码,你可以在项目作者的GitHub仓库找到:`github.com/Drone-Proton/Drone-Proton-RC-Tank-`



### 代码烧录

将项目提供的Arduino代码下载到你的电脑,并通过Arduino IDE将其烧录到Arduino Nano开发板中。这段代码负责解析手机APP发送的蓝牙指令,并控制电机驱动模块,从而让坦克做出相应的动作。



// DRONE PROTON RC TANK CODES

constint sol_enable = 11;// ENABLE A
constint sag_ileri = 10;   // INPUT 1
constint sag_geri = 9;   // INPUT 2
constint sol_ileri = 8;    // INPUT 3
constint sol_geri = 7;   // INPUT 4
constint sag_enable = 6;   // ENABLE B

void setup(){
pinMode(sag_ileri, OUTPUT);
pinMode(sag_geri, OUTPUT);
pinMode(sol_ileri, OUTPUT);
pinMode(sol_geri, OUTPUT);
pinMode(sag_enable, OUTPUT);
pinMode(sol_enable, OUTPUT);
Serial.begin(9600);
}

void loop() {
if (Serial.available() > 0) {
char gelen_veri = Serial.read();
Serial.println(gelen_veri);

if( gelen_veri == 'R' ) { // gelen_veri 'R' ise / if incoming_data is 'R'
/* araç geri gitsin / get the car back */
digitalWrite(sag_ileri, 1);
digitalWrite(sag_geri, 0);
digitalWrite(sol_ileri, 1);
digitalWrite(sol_geri, 0);
analogWrite(sag_enable, 255); // motor hızı / engine speed
analogWrite(sol_enable, 255);
}

if( gelen_veri == 'F' ) { // gelen_veri 'F' ise / if incoming_data is 'F'
/* araç sola dönsün / get the car left*/
digitalWrite(sag_ileri, 0);
digitalWrite(sag_geri, 1);
digitalWrite(sol_ileri, 1);
digitalWrite(sol_geri, 0);
analogWrite(sag_enable, 255); // motor hızı / engine speed
analogWrite(sol_enable, 255);
}

if( gelen_veri == 'B' ) { // gelen_veri 'B' ise / if incoming_data is 'B'
/* araç sağa dönsün / get the car Right*/
digitalWrite(sag_ileri, 1);
digitalWrite(sag_geri, 0);
digitalWrite(sol_ileri, 0);
digitalWrite(sol_geri, 1);
analogWrite(sag_enable, 255); // motor hızı / engine speed
analogWrite(sol_enable, 255);
}

if( gelen_veri == 'L' ) { // gelen_veri 'L' ise / if incoming_data is 'L'
/* araç ileri gitsin / get the car forward */
digitalWrite(sag_ileri, 0);
digitalWrite(sag_geri, 1);
digitalWrite(sol_ileri, 0);
digitalWrite(sol_geri, 1);
analogWrite(sag_enable, 255); // motor hızı / engine speed
analogWrite(sol_enable, 255);
}


if( gelen_veri == 'S' ) { // gelen_veri 'S' ise / if incoming_data is 'S'
/* araç dursun / get the car stop */
digitalWrite(sag_ileri, 0);
digitalWrite(sag_geri, 0);
digitalWrite(sol_ileri, 0);
digitalWrite(sol_geri, 0);
}
}
}






### 组装与调试





将打印好的3D零件与电子元件进行组装,形成完整的坦克模型。组装完成后,连接电源,通过手机安装“arduino bluetooth car controller”APP,尝试连接蓝牙并测试坦克的各项功能。如果遇到问题,可以根据电子图和代码进行排查。

### 最后


这个RC坦克项目能够让你在实践中收获知识,在创造中体会乐趣。在制作过程中有任何疑问,欢迎在评论区交流讨论!



页: [1]
查看完整版本: 用Arduino打造一辆蓝牙遥控坦克