3D打印之火星车1号

2015-12-023.8万
精华项目
AI 快速预览详细 收起
3D打印火星车1号是一个基于好奇号火星车结构设计的创意项目。该项目包括四个独立的轮子单元,每个轮子都具有独立的驱动力和全方位旋转能力。硬件清单包括Bluno主控器、金属9g舵机、N20金属减速电机等。通过这个项目,孩子们可以学习机械结构和编程控制,培养解决问题的能力。
因为深受  造起来 的精神摧残的不能自拔,还有朋友怂恿+煽风点火,我做了一台我自己也不太满意的车!
因为部分借鉴了一本为《NASA火星漫游车大揭秘》封面好奇号火星车的结构
3D打印之火星车1号图7

故起名为“火星车1号”。
一直都对标题党行为嗤之以鼻,呵呵,今天我也做了一回标题党,请原谅请原谅请原谅。。。。。。
3D打印之火星车1号图10


好奇号的六个大轮子是最能体现它是一辆“车”的特征了,而每个轮子都具有驱动力,可谓是六轮全时驱动!前后两组轮子都可以进行360°全方位旋转,转向能力更是无与伦比。
3D打印之火星车1号图1
并且具有独特的火星车特性:“摇臂+转向架”式的悬架系统,这种专门为六个轮子设计的悬挂系统能很好的保证六轮都能实时附着地面。同时还有0.65米的最小离地间隙,就越野通过性来说可比一般SUV屌多了。超强的越野性能保证能在火星凹凸不平的地面行驶无阻。


但是我造的这台车,起名为火星车1号,蛮不好意思的,因为火星车独有的超屌的:摇臂+转向架悬挂,在这台车上并没有体现出了。只体现出其中:每个轮子都具有独立的驱动力和每个轮子可以进行全方位旋转的转向能力这两点特性。


对于火星车,憧憬是这样的!
3D打印之火星车1号图2
当然,设计是这样的!
3D打印之火星车1号图4
然而,实际是这样的!
3D打印之火星车1号图5
不要说它爆丑,它可是以功能性著称的一代原型。
为了给一个符合它身份的场景,我也是拼了,让桌面凌乱如火星表面,让它尽情在里面穿梭
3D打印之火星车1号图8

虽然有些颜值论者说它丑爆了,在此我只能呵呵了,它的目标是火星。。。。。。。。。。。。。
3D打印之火星车1号图14生命本应该充满希望的!


刚才偷偷吹了个牛!

接下来,介绍一下轮子单元


3D打印之火星车1号图3


轮子单元清单:

3D打印支架X1
3D打印电机固定套X1


电子控制部分清单:


此车行走系统是由四个独立的轮子单元组成
3D打印之火星车1号图6
但是它的通过性也是蛮强的。。。。有视频为证
https://www.tudou.com/programs/view/XWEJvP3DNfI/?lvt=95&resourceId=0_07_10_28
因为没钱,无法请专业人士制作,视频略显粗。。。。请原谅!


控制用的是DFRobot研发的通用蓝牙遥控器--走你 - 蓝牙4.0 控制器3D打印之火星车1号图11

控制逻辑:左边虚拟摇杆同时控制四个转向舵机的方向和驱动电机的转速与正反转
                 右边的左右按钮可用控制小车自转,左按钮控制向左自转,右按钮控制向右自转,右边上下按钮为扩展备用按钮,暂无定义。
                 如果同时按住左边虚拟摇杆和右边的左或右按钮,软件以右边按钮为优先控制。

感谢大乔(Angelo)奉献详细代码:
3D打印之火星车1号图13
  1. #include <Metro.h>
  2. #include "GoBLE.h"
  3. #include <Servo.h>
  4. int LeftUpServoPin = 4;
  5. int RightUpServoPin = 5;
  6. int LeftDownServoPin = 6;
  7. int RightDownServoPin = 7;
  8. int LeftUpSpeedPin = 8;
  9. int RightUpSpeedPin = 9;
  10. int LeftDownSpeedPin = 10;
  11. int RightDownSpeedPin = 11;
  12. int joystickX, joystickY;
  13. int buttonState[6];
  14. Servo LeftUpServo;
  15. Servo RightUpServo;
  16. Servo LeftDownServo;
  17. Servo RightDownServo;
  18. Servo LeftUpSpeed;
  19. Servo RightUpSpeed;
  20. Servo LeftDownSpeed;
  21. Servo RightDownSpeed;
  22. int LeftUpServoBase = 85;
  23. int RightUpServoBase = 83;
  24. int LeftDownServoBase = 100;
  25. int RightDownServoBase = 96;
  26. int LeftUpSpeedBase = 106;
  27. int RightUpSpeedBase = 99;
  28. int LeftDownSpeedBase = 95;
  29. int RightDownSpeedBase = 99;
  30. void setup() {
  31.   Goble.begin();
  32.   Serial.begin(115200);
  33.   LeftUpServo.attach(4);
  34.   RightUpServo.attach(5);
  35.   LeftDownServo.attach(6);
  36.   RightDownServo.attach(7);
  37.   LeftUpSpeed.attach(8);
  38.   RightUpSpeed.attach(9);
  39.   LeftDownSpeed.attach(10);
  40.   RightDownSpeed.attach(11);
  41.   LeftUpServo.write(LeftUpServoBase);
  42.   RightUpServo.write(RightUpServoBase);
  43.   LeftDownServo.write(LeftDownServoBase);
  44.   RightDownServo.write(RightDownServoBase);
  45.   LeftUpSpeed.write(LeftUpSpeedBase);
  46.   RightUpSpeed.write(RightUpSpeedBase);
  47.   LeftDownSpeed.write(LeftDownSpeedBase);
  48.   RightDownSpeed.write(RightDownSpeedBase);
  49. }
  50. void updateSpeed(int theLeftUpSpeed, int theRightUpSpeed, int theLeftDownSpeed, int theRightDownSpeed)
  51. {
  52.   LeftUpSpeed.write(LeftUpSpeedBase + theLeftUpSpeed);
  53.   RightUpSpeed.write(RightUpSpeedBase + theRightUpSpeed);
  54.   LeftDownSpeed.write(LeftDownSpeedBase - theLeftDownSpeed);
  55.   RightDownSpeed.write(RightDownSpeedBase - theRightDownSpeed);
  56. }
  57. void updateServo(int theLeftUpServo, int theRightUpServo, int theLeftDownServo, int theRightDownServo)
  58. {
  59.   LeftUpServo.write(LeftUpServoBase - theLeftUpServo);
  60.   RightUpServo.write(RightUpServoBase - theRightUpServo);
  61.   LeftDownServo.write(LeftDownServoBase - theLeftDownServo);
  62.   RightDownServo.write(RightDownServoBase - theRightDownServo);
  63. }
  64. void loop() {
  65.   if (Goble.available()) {
  66.     if (Goble.readSwitchLeft()==PRESSED)
  67.     {
  68.       updateSpeed(-30, 30, -30, 30);
  69.       updateServo(45, -45, -45, 45);
  70.     }
  71.     else if (Goble.readSwitchRight()==PRESSED)
  72.     {
  73.       updateSpeed(30, -30, 30, -30);
  74.       updateServo(45, -45, -45, 45);
  75.     }
  76.     else {
  77.       joystickX = Goble.readJoystickX() - 128;
  78.       joystickY = Goble.readJoystickY() - 128;
  79.       joystickX = constrain(joystickX, -128, 128);
  80.       joystickY = constrain(joystickY, -128, 128);
  81.       int theSpeed = sqrt(joystickX * joystickX + joystickY * joystickY) / 3;
  82.       theSpeed = constrain(theSpeed, 0, 60);
  83.       int degree = atan2 (joystickX, joystickY) / PI * 180;
  84.       if (degree > 0)
  85.       {
  86.         updateSpeed(theSpeed, theSpeed, theSpeed, theSpeed);
  87.         degree = 90 - degree;
  88.         degree = constrain(degree, -60, 60);
  89.         if (theSpeed)
  90.         {
  91.           updateServo(degree, degree, degree, degree);
  92.         }
  93.       }
  94.       else
  95.       {
  96.         updateSpeed(-theSpeed, -theSpeed, -theSpeed, -theSpeed);
  97.         degree = -degree - 90;
  98.         degree = constrain(degree, -60, 60);
  99.         if (theSpeed)
  100.         {
  101.           updateServo(degree, degree, degree, degree);
  102.         }
  103.       }
  104.     }
  105.   }
  106. }
复制代码




来膜拜吧:好奇号火星车任务全景演示
https://www.tudou.com/programs/view/INNhFvdMQYY/?resourceId=0_06_02_99


前天看了最近上映的《火星救援》老牛逼了,预告分享一下

3D打印之火星车1号图9

如果有时间,做个缩小版的索杰纳如何?最大限度尊重原创的缩小版动态艺术品?

索杰纳是在火星上真正从事科学考察工作的第一台机器人车辆,它是一辆自主式的机器人车辆,同时又可从地面对它进行遥控。
3D打印之火星车1号图12


10.jpg (118.44 KB, 下载次数: 7160)

STEM教育 · 3D打印火星车1号:探索火星的创意项目_image_3.webp

12.jpg (56.77 KB, 下载次数: 7196)

STEM教育 · 3D打印火星车1号:探索火星的创意项目_image_6.webp

86G58PICfQF.jpg (104.35 KB, 下载次数: 7167)

STEM教育 · 3D打印火星车1号:探索火星的创意项目_image_9.webp

20087301855693_2.jpg (67.71 KB, 下载次数: 7230)

STEM教育 · 3D打印火星车1号:探索火星的创意项目_image_12.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(15)
DFS1w2cb8o8
DFS1w2cb8o8
厉害厉害
qq913622228180
qq913622228180
路过
yoyojacky
yoyojacky
牛掰思密达
qq913622228180
qq913622228180
火星一号,。。。。帮帮哒
luna
luna
楼主,购买清单分享一下吧~~~
suoma
suoma
谢谢分享学习一下
源代码
源代码
好用创意哈哈
Kona226
Kona226
很赞的车子啊,大神,我们合作出个套件吧!
visionsl
visionsl
厉害, 不过视频好像看不了?
FBI-C
FBI-C
作者
回复visionsl
真的吗?我可是故意全部换成土豆,以前优酷上传的视频也换了土豆,是测试土豆不卡的!难道天底下就没有不卡的免费视频分享网站了嘛?
tyjjr
tyjjr
屌屌屌,突然感觉楼主文风不错~~
vcbear
vcbear
哈哈,很灵活啊!
丄帝De咗臂
丄帝De咗臂
牛牛牛。牛爆了
qq815076543322
qq815076543322
我觉得真不错 12月大奖 你很有希望
swanglei
swanglei回复luna
还可以补的?
swanglei
swanglei回复FBI-C
听者有份
共14条回复,已加载2条,点击查看更多共14条回复,已加载全部
hnyzcj
hnyzcj
我觉得很漂亮
FBI-C
FBI-C
作者
回复hnyzcj
谢谢!谢谢!谢谢夸奖!
svw
svw
不丑啊,期待中。
- 没有更多了 -