本帖最后由 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坦克项目能够让你在实践中收获知识,在创造中体会乐趣。在制作过程中有任何疑问,欢迎在评论区交流讨论!
|