制作一个Arduino寻迹机器人

网友投稿 2019-09-29 13:38

https://cdn.china-scratch.com/timg/191001/133R32F9-0.jpg

这个指导将告诉你如何建立一个跟踪ARDUNO控制机器人。

内容组织如下:

采购零件:所有必要的零件都已经编译好了,还有资源来审查它们的规格和到哪里可以购买零件的链接。我们从以下开始编译部分:

  1. Chassis   -- 底盘

  2. Gearbox  -- 变速箱

  3. Arduino Uno -- Uno控制板

  4. Motor Shield  -- 电机

  5. Ultrasonic Distance Sensor -- 超声波距离传感器

  6. Micro Servo  -- 微伺服

  7. Motors  -- 电机

  8. Batteries  -- 电池

我需要什么工具?一份完整的工具清单,将有助于机器人的建设。

机箱的装配:底盘套件带有相当好的纸张说明。这些图片是为补充书面说明而设计的。

齿轮箱的装配:与上述方法相同,附上图片以便于装配。

制作电池支撑盒

安装齿轮箱

整理电机接线

把Arduino连接到底盘上

将电机护罩滑入Arduino

安装超声波传感器

连接超声波传感器

安装电池

加载程序

完成机器人!

步骤1:焊接部分:底盘

https://cdn.china-scratch.com/timg/191001/133R320Q-1.jpg

机械部分构成了机器人的身体。这包括轨道,车轮,车轴,和木制底座安装一切。

关于底盘套件:

在这个项目中,使用了Tamiya 70108工具包。它价格便宜,易于组装,是机器人的完美基地,因为它有坦克转向,换句话说,机器人可以在自己的长度完全转向。基本套件配有一个马达,可以前后移动,但不能转动。这对我们来说不是很有用,所以解决方案是Tamiya 70168双变速箱套件。

Research the Tamiya 70108 Tracked Vehicle Chassis Kit

Buy the Tamiya 70108 Tracked Vehicle Chassis Kit from Amazon

步骤2:采购零件:齿轮箱

https://cdn.china-scratch.com/timg/191001/133R43I7-2.jpg

关于双变速箱:

70168变速箱易于组装,使我们的机器人能够转弯。它这样做是因为每个轨道都是由一个单独的马达驱动的。该套件也有四个齿轮比可供选择,因此,如果机器人需要更多的速度或扭矩,可以改变齿轮来补偿。

Research the Tamiya 70168 Double Gearbox

Buy the Tamiya 70168 Double Gearbox from Amazon

步骤3:采购零件:Arduino Uno

https://cdn.china-scratch.com/timg/191001/133R46220-3.jpg

机器人需要一些东西告诉马达什么时候转动,多快,多长时间。机器人还需要一种方法来决定是否需要左转或右转、停车,以及如何解释传感器发出的信号。简而言之,机器人需要一个大脑。

机器人的大脑是Arduino Uno。根据传感器的输入,Arduino作用于程序员编写的逻辑,并创建输出。

Research the Arduino Uno Rev 3

Buy the Arduino Uno Rev3 from Amazon

步骤4:采购零件:电机屏蔽

https://cdn.china-scratch.com/timg/191001/133R412G-4.jpg

Arduino护罩是一个可以放置在Arduino上的部件,护罩的所有销与Arduino中的插座对齐。这种安排使得有多个组件非常容易,而不必担心布线的物流问题。这就是图中的机器人将不同于将由该指令产生的机器人的地方。图中的机器人使用了seeedstudio Motor Shield的另一个版本,即版本1.2而不是版本2.0。2.0版本是一个改进,因为它不使用专有的grove风格的连接器,现在可以使用跳线代替,后者更便宜。

Research the Seeedstudio Motor Shield 2.0

Buy the Seeedstudio Motor Shield 2.0 from Amazon

步骤5:采购零件:超声波传感器

https://cdn.china-scratch.com/timg/191001/133R45E8-5.jpg

HC-SR04超声波距离传感器是机器人的眼睛。有了HC-SR04,机器人就有可能收集真实世界的信息,并将其输入Arduino大脑。更准确地说,HC-SR04使用声纳更像蝙蝠,发出声波并测量它们返回所需的时间。通过使用声速,可以计算出传感器和被测物体之间的距离。

步骤6:采购零件:微伺服

https://cdn.china-scratch.com/timg/191001/133R463R-6.jpg

*可选-此部件将放置在超声波距离传感器及其底座之间。

SG90微伺服系统在我们的机器人上就像人的脖子一样使用。它允许超声波传感器朝不同的方向转动,这比在机器人上有固定的位置要好得多。

或者,可以设置多个超声波传感器阵列,很像苍蝇的眼睛,每个传感器从不同的角度测量距离。

Research the Tower Pro SG90 9g Micro Servo

Buy the Tower Pro SG90 9g Micro Servo from Amazon

步骤7:采购零件:电机

https://cdn.china-scratch.com/timg/191001/133R5JJ-7.jpg

基本的底盘套件有130个大小的马达,但它们是3伏的马达,在熄火时会拉太多电流。用更高电压的Pololu 1117电机替换它们意味着在熄火时,通过驱动器的电流将减少。这样可以防止电机烧坏。

Research and Buy the Pololu 130 Size 6v Motors from Pololu x2

步骤8:采购零件:电池

https://cdn.china-scratch.com/timg/191001/133R51203-8.jpg

为机器人提供动力的一个很好的方法是使用高科技的锂聚合物电池。这些电池将为你的机器人供电数小时。根据毫安时(mah)额定值判断容量,数值越大,容量越大。

使用锂聚合物电池时,请注意,建议使用智能充电器,这会使价格上涨不少。

为了更便宜的选择,你可以使用四节AA电池和一个支架。购买Turnigy 1.8(1800mAh)锂电池。或者从淘宝4节AA电池架,不要忘记AA电池!

步骤9:准备装配:工具

https://cdn.china-scratch.com/timg/191001/133R51551-9.jpg

机器人的建造需要许多工具。下面列出。

  • Screwdriver set - Syba toolkit from Amazon

  • Soldering Iron (optional) - Simple soldering iron from Harbor Freight

  • Hobby Knife - Xacto hobby knife from Amazon

  • Wire Strippers - Wire strippers from Harbor Freight

步骤10:开始组装:底盘

https://cdn.china-scratch.com/timg/191001/133R5M61-10.jpg

按照机箱盒中的说明操作。当零件从塑料中释放出来时,它们应该看起来像第一张图片。

  1. 零件库存

  2. 标记Arduino安装孔。

  3. 钻Arduino安装孔。沿着侧面,用爱好刀制作齿轮箱安装槽。

  4. 把Idler Axle Mounts绑起来

  5. 安装轴

  6. 带有惰轮的轮轴详图。

  7. 安装惰轮轴、车轮和车轮固定盖。

  8. 安装转向架和车轮固定帽。

  9. 垂直翻转底盘。

步骤11:开始装配:齿轮箱

https://cdn.china-scratch.com/timg/191001/133RC002-11.jpg

按照盒子里的说明操作。变速箱看起来很吓人,小部分很难支撑,但它并不像看上去的那么复杂。务必用润滑脂擦拭齿轮以减少摩擦。

请参阅图片了解套件中纸张说明的逐步补充说明。

步骤12:建立一个电池支持盒

https://cdn.china-scratch.com/timg/191001/133R624T-12.jpg

这个电池盒是用一个麦卡诺安装设备建造的。安装工具集是项目框架的重要来源。电池盒不需要高科技,迭代之前这个机器人是用纸板做的。

步骤13:将变速箱安装到底盘上

https://cdn.china-scratch.com/timg/191001/133RA264-13.jpg

https://cdn.china-scratch.com/timg/191001/133R62232-14.jpg

https://cdn.china-scratch.com/timg/191001/133RK318-15.jpg

变速箱对于底盘来说有点太宽,所以螺栓穿过齿轮箱的槽口进入一个夹层板。夹心板还夹住了电池座,电池座滑到了变速箱下面。

第14步:发动机转动

https://cdn.china-scratch.com/timg/191001/133R62232-14.jpg

https://cdn.china-scratch.com/timg/191001/133RL941-17.jpg

在这一步中,一个稍微扁平的双孔安装支柱挤压电线,以提供应变消除。整理好你的电线,这样在你用Arduino把它们盖上之后,它们就很容易分开。

步骤15:将Arduino连接到机箱

https://cdn.china-scratch.com/timg/191001/133RI320-18.jpg

https://cdn.china-scratch.com/timg/191001/133RG5H-19.jpg

https://cdn.china-scratch.com/timg/191001/133RR037-20.jpg

从项目一开始就使用钻孔,使用支架和螺栓将Arduino从底盘上隔开。在这种型号上,只有三个机器螺钉被用作Arduino上靠近USB端口的孔的部件。垫片和橡胶衬套来自Meccano安装机组。

步骤16:将电机护罩滑入Arduino

https://cdn.china-scratch.com/timg/191001/133RU315-21.jpg

https://cdn.china-scratch.com/timg/191001/133RR441-22.jpg

https://cdn.china-scratch.com/timg/191001/133RI320-18.jpg

小心不要弯曲销,将电机护罩上的销与Arduino中的槽对齐,然后向下压,直到电机护罩固定到Arduino上。

步骤17:安装HC-SR04超声波传感器

https://cdn.china-scratch.com/timg/191001/133RW507-24.jpg

  1. 用胶带缠在三角安装板上。

  2. 用胶带将传感器绕到面板的拐角处。

  3. 用螺栓将支柱固定到传感器三角架上。

  4. 标记并钻孔安装螺钉。

  5. 用螺栓将传感器支座固定到底盘上。

步骤18:连接超声波距离传感器

https://cdn.china-scratch.com/timg/191001/133RRF0-25.jpg

https://cdn.china-scratch.com/timg/191001/133R9E03-26.jpg

https://cdn.china-scratch.com/timg/191001/133R963L-27.jpg

  1. 将标记为VCC的传感器的电压线连接到标记为V的销上最右前位置的电机护罩上。

  2. 将一根导线从标记为GND的传感器引脚跨接至标记为G的电机屏蔽引脚。

  3. 将一根导线从传感器上的触发器触针跨接到电机护罩上标记为D7的数字触针7上。

  4. 将传感器上的回波管脚与电机屏蔽上标记为D6的数字管脚之间的导线跨接。

使用计算机跨接导线可以使用特殊电缆,也可以将普通导线焊接到管脚上。焊接时,最好使用不同颜色的导线以避免混淆,或在跨接时使用不同颜色的跨接导线(如果有)。

请参阅上面的图片。

步骤19:安装电池

https://cdn.china-scratch.com/timg/191001/133R94609-28.jpg

安装电池。注意电池的位置,因为电池可能是机器人所有部件中最重的。这里的电池架安装得太靠后了,所以为了更好地分配重量,它被向前移动到了电机护罩散热器的顶部。注意电机护罩上的蓄电池连接。红色的电线是正极,黑色的是负极。将蓄电池插头卡在一起,Arduino和电机屏蔽灯应点亮。

步骤20:加载程序

用Arduino语言编写的程序称为草图。加载此示例草图,您的机器人将在任何时候缩放!如果.ino文件有问题,程序将以粗体显示在下面,只需复制并粘贴到Arduino可执行窗口中。

//Compilation of robotics programs for use on Instructables. Thanks for everyone that contributed!

#define trigPin 7 #define echoPin 6 //#define led 11 //#define led2 10

int pinI1=8;//define I1 interface int pinI2=11;//define I2 interface int speedpinA=9;//enable motor A int pinI3=12;//define I3 interface int pinI4=13;//define I4 interface int speedpinB=10;//enable motor B

void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); // pinMode(led, OUTPUT);// // pinMode(led2, OUTPUT);//

pinMode(pinI1,OUTPUT); pinMode(pinI2,OUTPUT); pinMode(speedpinA,OUTPUT); pinMode(pinI3,OUTPUT); pinMode(pinI4,OUTPUT); pinMode(speedpinB,OUTPUT); }

void loop() { long duration, distance; digitalWrite(trigPin, LOW); // Added this line delayMicroseconds(2); // Added this line digitalWrite(trigPin, HIGH); // delayMicroseconds(1000); - Removed this line delayMicroseconds(10); // Added this line digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = (duration/2) / 29.1; if (distance < 40) { // This is where the LED On/Off happens analogWrite(speedpinA,0);//Slows speed of motors to zero analogWrite(speedpinB,0);//Slows speed of motors to zero digitalWrite(pinI4,LOW);//turn DC Motor B move clockwise digitalWrite(pinI3,HIGH); digitalWrite(pinI2,LOW);//turn DC Motor A move anticlockwise digitalWrite(pinI1,HIGH); // digitalWrite(led,HIGH); // When the Red condition is met, the Green LED should turn off // digitalWrite(led2,LOW); } else { analogWrite(speedpinA,240);//Drive Forward analogWrite(speedpinB,240);//Drive Forward digitalWrite(pinI4,LOW);//turn DC Motor B move clockwise digitalWrite(pinI3,HIGH); digitalWrite(pinI2,LOW);//turn DC Motor A move anticlockwise digitalWrite(pinI1,HIGH); // digitalWrite(led,LOW); // digitalWrite(led2,HIGH); } if (distance >= 200 || distance <= 0){ analogWrite(speedpinA,240);//Drive Forward analogWrite(speedpinB,240);//Drive Forward digitalWrite(pinI4,LOW);//turn DC Motor B move clockwise digitalWrite(pinI3,HIGH); digitalWrite(pinI2,LOW);//turn DC Motor A move anticlockwise digitalWrite(pinI1,HIGH); Serial.println("Out of range"); } else { Serial.print(distance); Serial.println(" cm"); } delay(500); }

第21步:完成机器人!

https://cdn.china-scratch.com/timg/191001/133R93b8-29.jpg

这个机器人将给你一个伟大的起点,为许多机器人项目。你的创造力是有限的!感谢您阅读本教程!

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com