在本教程中,我将向您展示我是如何构建Arduino六足动物的。顾名思义,六足动物有6条腿,但除此之外,它还有尾巴或腹部、头部、天线、下颚,甚至还有功能性眼睛。所有这些都使六足动物看起来像蚂蚁,因此我们也可以称之为Arduino蚂蚁机器人。
概述
为了控制机器人,我做了一个定制的Android应用程序。该应用程序有4个按钮,通过这些按钮,我们可以命令机器人前进或后退,以及向左或向右转弯。除了这些主要功能,机器人还可以移动它的头和尾巴,以及它可以咬,抓取和掉落的东西,甚至攻击。
就像我之前提到的,这个机器人有功能性的眼睛,或者我专门设计了一个适合超声波传感器的头部。因此,如果我们试图触摸机器人的头部或将我们的手靠近传感器,机器人一开始就会为攻击做准备。
如果我们后退,机器人就会解除攻击,但如果我们把手靠近它,它就会攻击并咬我们。这有多酷?待在这里,你会发现我是如何构建它的以及所有东西是如何运作的。
Arduino六足蚂蚁机器人三维模型
像往常一样,我开始使用3D建模软件设计六足动物。六足动物有6条腿,每个腿由3个关节或3个伺服组成。这意味着我们总共需要18个伺服系统,在我的例子中,我使用的是MG996R伺服系统。
在背面我们有由另一个MG996R伺服驱动的尾部。这个蚂蚁机器人的头部有两个自由度,或者它可以滚动和倾斜,同样,它由两个伺服器驱动。所以这个项目我们总共需要21台伺服,MG996R型,另外还有一个更小的SG90微型伺服用于下颌骨。
这里我们也有蚂蚁的眼睛,这是为适应HC-SR04超声波传感器而设计的。所有的部件都是在两块板之间组装的,此外,我为顶板做了一个有趣的弯曲盖,以便隐藏所有的线路、Arduino和两块板之间的电池。
你可以下载以下资料:
Solidworks文件:
步文件:
STL文件:
3D打印零件
我猜你们已经知道接下来要做什么了,那就是3D打印机器人部件。我使用了Creality CR-10 3D打印机所有的指纹,它做得很好。打印最困难的部分是头部,因为我想成为一个单一的打印。
为此,我不得不使用60度的支撑悬垂角以及一些支撑拦截器。无论如何,Creality CR-10做得很好,头部也很完美。
组装Arduino六脚
一旦我们把所有的零件都打印出来,我们就可以开始组装六足机器人了。我从组装腿开始。为了将伺服系统固定到印刷零件上,我使用了M3螺栓和螺母,以及弹簧垫圈。螺栓的长度需要至少12mm,在我的例子中,我使用了16mm长的螺栓。
我们需要大约200个螺栓来完成整个装配。为了相互连接连杆,我们使用伺服组件附带的圆喇叭作为附件。但是,我们需要在每个圆喇叭上钻3mm的孔,以便螺栓能够通过,或者我们可以使用金属圆喇叭,这些圆喇叭具有M3螺纹,可以单独购买。
当确保连接到伺服系统时,我们需要确保我们总是将它们连接在相同的位置,并且它们有完整的活动范围。
我们应该注意到,在这里的伺服系统有一个小的三角形支持在顶部的一面,需要拆除。我用了一把简单的美工刀来做这件事,这样一来,伺服器就可以和印刷零件一起闪光了。在插入第三台伺服之前,我们首先需要插入一个M4螺栓,用于连接腿和底板。
下面是腿部组装的样子。实际上很容易组装,但现在我们还需要五个。
一旦所有的腿都准备好了,我们就可以把它们安装到机器人的身体上,或者两块板上。首先我们需要将圆角固定在顶部平台上,使用与之前相同的方法,M3螺栓和螺母。然后我们可以简单地用螺栓将它们连接到伺服轴上,但在此之前,我们需要调整伺服的位置,使其正好在中间。
这是我们需要的,这样我们就可以得到伺服的全范围运动,也会减少在编程Arduino时的调整或校准过程。
在固定好腿后,这个项目已经开始成形,看起来像一个六足动物。
后面还有一个圆角那是用于尾翼的这一点也需要确保。
接下来,我们需要把六脚倒过来,这样我们就可以通过腿的M4螺栓插入底板。然后我用一些普通垫圈和自锁螺母将腿固定到它上。我们应该注意紧固这些螺栓的程度,因为这些实际上是枢轴接头,腿在足够牢固的情况下也应该能够旋转。
下一步,我们需要安装头的第一个伺服,那是滚动运动。这个伺服应该放置垂直于基地板,因此,为了这个目的,我做了两个小板,这是首先固定到伺服。然后我们可以把伺服插入两个板之间,我们可以很容易地用M3螺栓和螺母固定它。
然后我们有一个U形支架,这里我们需要连接两个圆形喇叭,用于连接头部的两个伺服系统。在将托架固定到辊伺服之前,我们需要确保伺服的位置在中间,这样它可以在两个方向上旋转90度。
接下来是倾斜伺服支架。所以首先我们需要插入一个M4螺栓,并将其固定在U形支架上。在安装倾斜电机之前,我们还需要插入4个M3螺栓,用于固定机头。然后我们可以插入倾斜伺服支架和仔细安装轴到圆角。这里有点紧,但U形支架可以弯曲一点。
最后,我们需要安全的伺服与M3螺栓,与此头机构完成。现在它可以滚动和倾斜。
在将头部安装到机械上之前,我们需要预先组装它,或者将下颌骨与小型SG90伺服器和超声波传感器连接起来。再次,这里有点紧,但我仍然设法插入第一个下颌骨,并使用M4螺栓将它固定到头部。
你可以注意到在眼睛区域有一个小孔,这是专门为我们设计的,这样我们就可以通过螺丝刀来拧紧螺栓。
接下来是微伺服就位,它是用两个螺丝固定。在第二个下颌骨,我们首先需要附加一个小手臂角为SG90伺服。
然后我们可以插入下颌骨在地方,对两个齿轮和固定它到电机轴使用螺丝刀。
接下来我们可以把超声波传感器安装到位。眼孔完全适合超声波传感器,所以我简单地使用了几滴交流电胶水,以固定传感器的头部。
还有一个细节要添加到头部,那就是天线。为了达到这个目的,我使用了3mm的扁线,我把它切成13厘米长,然后稍微弯曲它,得到想要的形状。我又用了几滴交流电胶水把它们固定在头部。最后,我们可以将头部连接到滚动和倾斜机制与四个螺栓,我们之前插入。
它的头部现在功能齐全,可以滚动,可以倾斜,甚至可以咬人。还有两个3D打印部件需要安装。这是尾部,可以简单地滑进尾部支架和弯曲的盖子,我们实际上会在末端用它来盖住电子设备。必威lol这是我们的蚂蚁机器人的最后一次亮相,我真的很喜欢它的蓝白组合。
Arduino蚂蚁机器人电路图
好了,现在我们可以继续看电子产品了。必威lol这是这个项目的电路图,它实际上很简单,虽然它看起来有点复杂,因为许多伺服连接。
除了22台伺服外,我们还需要一个HC-05蓝牙模块用于智能手机通信,以及一些电容和电阻。当然机器人的大脑是一个Arduino板,这里是Arduino Mega因为它是唯一一个可以控制超过12个伺服器的板伺服库.
为了给机器人供电,我将使用电压约为12V的3S LiPo电池。LiPo电池可以处理更大的电流消耗,因此它们适合本项目,因为如果所有伺服系统在满载时同时接合,它们可以消耗约10安培的电流。然而,伺服操作电压限制在4.8到7.2V之间,这意味着我需要使用DC-DC降压转换器将12V转换为5V。即使我们使用2S LiPo电池,其满载时的电压约为7.4V或8.4V,我们仍然需要使用降压转换器。我将在这个项目中使用的降压转换器可以处理高达8安培的电流,但我建议使用10到15A的转换器,以确保您有足够的功率,并且不会过热。在我的例子中,我注意到机器人移动时的最大电流消耗约为6安培。
你可以从下面的链接获得这个项目所需的组件:
- MG996R伺服电机 ................................亚马逊/Banggood/阿里巴巴全球速卖通
- SG90微伺服电机..........................亚马逊/Banggood/阿里巴巴全球速卖通
- HC-05蓝牙模块.........................亚马逊/Banggood/阿里巴巴全球速卖通
- Arduino超级委员会 ................................亚马逊/Banggood/阿里巴巴全球速卖通
- 3 s脂肪电池 ........................................亚马逊/Banggood/阿里巴巴全球速卖通
- DC-DC Buck转换器............................亚马逊/Banggood/阿里巴巴全球速卖通
必威外围提钱披露:这些是附属链接。作为一个亚马逊助理,我从合格的购买中赚取。
Arduino六脚板的PCB设计
现在如果我们尝试连接所有东西在一起,它将是相当混乱的,因为许多伺服连接。因此我使用EasyEDA免费在线电路设计软件设计了一个定制的PCB。这个PCB实际上将作为六脚的Arduino Mega Shield,因为我们可以直接将它连接到Arduino Mega Board的顶部。我把伺服连接安排得很近,并在旁边放了两个大电容,以保持电压更稳定。此外,我还提供了一个与NRF24L01收发模块的连接,以防我们想使用无线电控制机器人。有几个数字和模拟引脚连接,5V和地连接,两个LED连接,以及一个用于监控电池电压的连接。12V电池电压将通过由两个电阻R1和R2组成的分压器,将电压降低到5V以下,这样模拟引脚就可以安全地读取它。这样我们就知道电池什么时候需要充电了。
这是链接到此PCB设计的项目文件.所以一旦我完成了设计,我生成了制造PCB所需的Gerber文件。
Gerber文件:
然后我从JLCPCB订购PCB他们实际上是这个视频的赞助商。
在这里,我们可以简单地拖放Gerber文件,上传后,我们可以在Gerber查看器中查看PCB。如果一切正常,我们可以继续选择我们想要的PCB属性。在这种情况下,我选择PCB颜色为蓝色,以匹配Arduino板的颜色。就这样,现在我们可以简单地以合理的价格订购PCB。注意,如果这是你从JLCPCB的第一个订单,你可以只花2美元得到10个pcb。
几天后pcb就到了。pcb的质量是伟大的,一切都是完全相同的设计。
组装PCB
好了,现在我们可以开始组装PCB了。我开始焊接公引脚头到PCB,用于连接到Arduino板。一旦我们把销头放在底部,我们可以使用一些类型的板握住销和翻转板。现在我们需要将它们全部焊接到PCB上。一旦完成了那,我们可以继续与伺服连接,我们也需要男性销头。
在这一点上,我们可以实际插入引脚头为所有的连接,并使用相同的方法来翻转PCB和焊接所有引脚到它。最后,我们需要焊接电阻、电容和端子。好了,我们的蚂蚁机器人的Arduino Mega Shield已经准备好了。现在我们可以简单地把它插入Arduino板。
接下来我们需要将降压转换器的输出电压设置为5V。我们可以通过调整降压转换器的电位器来做到这一点。你可以注意到这里,我添加了一个电源开关的输入,并将电池12V连接到PCB上的12V引脚,这将只用于监测电池电压。
记住,PCB的主输入必须是5V。
现在我们可以把电子元件插入两块板之间。必威lol虽然有点紧,但我们还是可以把所有东西都塞进去。首先是电池,我用胶带固定了它,在它上面是Arduino和我们做的PCB。接下来,我们可以连接NRF24L01收发器或蓝牙模块,这取决于我们将使用的通信类型。我还插入了一个LED,以指示电池何时需要充电,或万一电压降至11V伏以下。最后,我们需要连接所有伺服到伺服引脚。当这样做时,确保你写下你连接每个伺服的引脚号码。在我们连接所有伺服系统后,我们可以简单地把曲面盖放在顶板上,我们实际上完成了这个项目。
Arduino六足密码
这个视频剩下要做的就是看看Arduino程序是如何工作的。由于代码较长,为了更好地理解,我将在小节中发布程序的源代码,并对每个小节进行说明。在本文的最后,我将发布完整的源代码。
因此,为了控制伺服系统,我们将使用基本的Servo库,对于蓝牙通信,我们也需要包括SoftwareSerial库。首先,我们需要定义所有伺服对象以及下面程序所需的一些变量。
#include#include #define trigPin 7 #define echoPin 6 #define ledB 10 SoftwareSerial Bluetooth(12, 9);// Arduino(RX, TX) - HC-05蓝牙(TX, RX) //创建伺服对象servo s24;伺服s23;伺服s22;
在设置部分,我们需要初始化蓝牙通信,引脚模式超声波传感器, LEd,并定义与伺服连接的引脚。
void setup() {Serial.begin(38400);Bluetooth.begin (38400);//蓝牙模块默认波特率Bluetooth. settimeout (1);延迟(20);pinMode (trigPin、输出);//将trigPin设置为输出pinMode(echoPin, INPUT);//将echoPin设置为Input pinMode(ledB, OUTPUT);/ /头s15。附加(36、600、2400);s14系列。attach(35, 600, 2400); s13.attach(34, 600, 2400); //grip // Tail s5.attach(26, 600, 2400); // Tail // Leg 4 s10.attach(31, 600, 2400); s11.attach(32, 600, 2400); s12.attach(33, 600, 2400); //rot // Leg 5 s7.attach(28, 600, 2400); s8.attach(29, 600, 2400); s9.attach(30, 600, 2400); //rot // Leg 6 s1.attach(22, 600, 2400); s2.attach(23, 600, 2400); s3.attach(24, 600, 2400); //rot // Leg 1 s18.attach(39, 600, 2400); s17.attach(38, 600, 2400); s16.attach(37, 600, 2400); //rot // Leg 2 s21.attach(42, 600, 2400); s20.attach(41, 600, 2400); s19.attach(40, 600, 2400); //rot // Leg 3 s24.attach(45, 600, 2400); s23.attach(44, 600, 2400); s22.attach(43, 600, 2400); //rot
然后使用write()函数将伺服系统移动到初始位置。这是我们可以校准伺服系统的地方。考虑到在组装机器人时,你无法将每个伺服器设置在准确的位置,但在这里我们可以进行调整,找到初始值,然后从那里我们可以对机器人的运动进行编程。
//移动到初始位置// Head s15.write(72);s14.write (50);s13.write (90);/ /控制s5.write (65);// Tail //腿4 s10.write(65);s11.write (35);s12.write (40);//第5步s7.write(80);s8.write (50);s9.write (25); // Leg 6 s1.write(90); s2.write(45); s3.write(60); // Leg 1 s18.write(60); s17.write(90); s16.write(100); // Leg 2 s21.write(50); s20.write(85); s19.write(75); // Leg 3 s24.write(50); s23.write(80); s22.write(80);
当涉及到编程六足动物的运动时,有几种方法可以做,比如使用正运动学或逆运动学。这些方法包括一些严肃的数学,其中每个关节的位置是根据人体所需的最终位置的输入来计算的。然而,我决定让它更简单一点,因为无论如何,我使用的伺服系统不够好,这样的任务。那是因为我的伺服系统是MG996R伺服系统的廉价版。它们没有正确的扭矩,它们不总是在期望的准确位置。
让我们来看看我是怎么让六足动物走路的。我为移动每条腿做了一个单独的定制功能。一个腿部循环包括两个阶段,称为摆动和站姿。在摆动阶段,腿部通过空气从初始位置移动到最终位置,而在站姿阶段,腿部从最终位置移动到初始位置,腿部末端执行器触地。这样,六足动物的身体就会向前移动。
所以我用主回路和一些计数器来手动编程每个伺服器的位置来实现这些动作。
void moveLeg1() {// Swign phase - move leg through air - from initial to final position //抬高腿if (i1L1 <= 10) {s18. conf . conf . conf . conf . conf . conf . conf . conf写入(60 - i1L1 * 2);肌力。写(90 - i1L1 * 3);i1L1 + +;} //旋转腿if (i2L1 <= 30) {s16。写(100 - i2L1);i2L1 + +;} //移动回触地if (i2L1 > 20 & i3L1 <= 10) {s18.}写(40 + i3L1 * 2);肌力。写(60 + i3L1 * 3);i3L1 + +; } // Stance phase - move leg while touching the ground // Rotate back to initial position if (i2L1 >= 30) { s16.write(70 + i4L1); i4L1++; l1status = HIGH; } // Reset the counters for repeating the process if (i4L1 >= 30) { i1L1 = 0; i2L1 = 0; i3L1 = 0; i4L1 = 0; i5L1 = 0; } // Each iteration or step is executed in the main loop section where there is also a delay time for controlling the speed of movement }
首先,两个外部伺服器抬起腿连接到身体的第三个伺服器开始向特定方向旋转。当第三伺服在停止转动前10步时,我们开始将外侧两个伺服移到后面相同位置,使其接触地面。这就完成了摆动阶段,或者说腿从最初的位置移动到最后的位置。然后我们将第三个伺服器从最终位置转回初始位置,这就完成了姿态阶段。在腿执行一个循环后,计数器被重置,腿将一遍又一遍地重复这个循环。每个迭代或步骤都在主回路部分执行,其中还有一个控制伺服速度的延迟时间。我为所有其他的腿做了类似的功能,以及一些额外的功能,用于在相反的方向移动腿,以实现反向、向左和向右的运动。以类似的方式使用计数器来跟踪我编程的其他功能,比如移动头部,移动尾巴,移动下颚等等。
例如,如果我们想让机器人向前移动,我们需要调用六个moveLeg()自定义函数,这些函数会在主循环中不断重复。
//移动if (m == 2) {moveLeg1();moveLeg3 ();moveLeg5 ();if (l1status == HIGH) {moveLeg2();moveLeg4 ();moveLeg6 ();} }
你可以注意到这3条腿是偏移的,所以当第1 3和5条腿处于摇摆阶段时,其他3条腿,2、4和6是站姿阶段。如果我们想向左移动,我们调用适当的moveLeft()函数。
这些命令实际上来自蓝牙模块或智能手机上定制的Android应用程序。
//如果(Bluetooth.available()>0){dataIn=Bluetooth.read();//读取数据,请检查传入数据
Arduino蚂蚁机器人Android应用
让我们看看这个应用,看看它到底向Arduino发送了哪些数据。我用麻省理工学院应用程序发明家在线申请,这是它的工作原理。betway
应用程序的图形实际上是我制作的图像,并作为按钮放置。在底部我们有一个控制机器人速度的滑块,在顶部我们有连接蓝牙模块的按钮。
让我们看看程序或应用程序后面的块。
例如,如果我们点击Forward按钮," if "语句中的块就会被执行。这意味着我们将把数字2发送到Arduino,它将执行move forward一组函数。同时,我们可以注意到,我们将按钮的图像更改为同一图像的另一个高亮版本。如果我们再次按下相同的按钮,现在“else”语句中的块将被执行,并将数字0发送给Arduino,它将重置所有计数器并移动机器人的初始位置。我们还设置了按钮的初始图像。所以我对所有其他按钮使用了相同的原则。
以下是上述MIT App Inventor项目的下载文件,以及准备安装在智能手机上的Android应用程序:
让我们看一下Arduino程序的另外两个功能那就是电池电压监视器和超声波传感器。
//监控电池电压int sensorValue = analogRead(A3);浮动电压=传感器值*(5.00/1023.00)*2.9;//将读数从5v转换为合适的12V iSerial.println(voltage); // If voltage is below 11V turn on the LED if (voltage < 11) { digitalWrite(ledB, HIGH); } else { digitalWrite(ledB, LOW); }
因此,如果电池电压低于11伏,我们就会打开LED,如果超声波传感器检测到一个近40厘米的物体,机器人就会准备攻击。
//获取到超声波传感器的距离if (getDistance() > 40) {att = 0;} if (getDistance() <= 40) {att = 1;dataIn = 99;}
如果前面不再有物体,它会解除攻击,如果物体仍然存在,并且距离头部更近,机器人就会攻击。
//如果在传感器前面有一个对象准备攻击If (att == 1) {prepareAttack();if (status == HIGH) {while (a == 0) {delay(2000); / /延迟= 1;} if (getDistance() > 30) {att = 2;= 0;aStatus =低;initialPosHead ();} if (getDistance() < 30) {att = 3;= 0;aStatus =低; initialPosHead(); } } } // If there is no longer object in front, dismiss the attack if (att == 2) { dismissAttack(); if (aStatus == HIGH) { dataIn = 0; att = 0; } } // If there is closer to the sensor attack if (att == 3) { attack(); if (attStatus == HIGH) { while (aa == 0) { delay(2000); aa = 1; } attStatus = LOW; } if (aStatus == HIGH) { while (a == 0) { delay(2000); a = 1; } dataIn = 0; att = 0; initialPosHead(); } }
这就是这个视频的全部内容了。
你可以在这里下载Arduino Hexapod项目的完整代码:
注意,如果您决定构建这个项目,您需要准备面对一些挑战。对我来说,最大的问题是我使用的伺服系统的性能很差。我希望你喜欢这个视频,并学到了一些新的东西。请在下方的评论部分提出任何问题,并检查我的Arduino项bet188me目集合.
你用过什么软件进行三维建模?
我使用Solidworks进行3D建模。
你的Arduino项目太棒bet188me了。你能教我们一些关于solidworks三维建模的知识吗。我认为这和arduino项目一样有趣。
谢谢你!目前我还没有Solidworks教程,但也许将来我会做一些。
印象很深刻,我很佩服,多好的工作啊!
谢谢你!
这真是令人印象深刻!你要用它做什么?
你考虑过用它来教孩子STEM吗?
谢谢你!我希望我能通过这些网站和YouTube频道教很多孩子。
嗨
伟大的项目。我看你没用过伺服控制器。Arduino Mega有15个PWM引脚,所以你如何能够运行21个伺服使用一个Arduino Mega?
据我所知伺服电机需要PWM引脚。在代码中,你没有使用pwm引脚。
嘿,谢谢!我使用伺服库,它不使用PWM引脚,它产生特殊的50Hz PWM信号,它可以用于任何数字引脚。
太棒了!我不知道怎么说,但是…你是最棒的。谢谢分享这个很棒的项目,谢谢,谢谢
谢谢你!
谢谢你的指导。看起来很棒,非常专业。你有很多不同的技能。3D打印,设计自己的电路板,编程,在SolidWorks中设计,这是一个完整的工程项目从开始到结束。
在视频的最后,你说对你来说最大的问题是你使用的伺服系统性能不佳。我能问一下你的问题是什么吗?你是怎么解决的?
谢谢你!问题是舵机没有合适的扭矩,它们有点不稳定,在六脚的负载下不能保持准确的位置。实际上我没有解决这个问题。使用不同的高质量伺服可能会解决这个问题,但随之而来的是另一个问题,项目的总成本将显著上升,因为有太多的伺服。
如果我们用SG90代替MG996R,编码会有什么变化?
编码将是相同的,因为SG90和MG996R的工作方式相同。然而,你不能使用这个模型,但一个完全不同的模型,因为SG90是一个比这个小得多的伺服。我也不建议用SG90伺服系统来做这样的项目,因为它们没有足够的扭矩。
你好,我拿到了你的大型伺服护盾的电路板。不幸的是,我没有找到R1到R6和C1到C3的值。你能告诉我需要多少钱吗?
嘿,这是电阻和电容的值。
R1= 2k, r2 = 1k, r3 = r4 =220, r5 = 1k, r6 = 2k。
C1=C2 ~ 200 - 500uF
你好,
我开始组装这个伟大的项目-但你如何设置伺服到“空闲”的位置在组装开始?
我的想法是启动arduino,插入它所在位置的每个伺服器,将它移动到默认位置。你的方式是什么?你有更好的主意吗?
是的,这样你就可以在不调整代码的情况下把伺服系统固定在正确的位置。老实说,这有点棘手,代码也不是最好的,但希望你能把事情搞清楚。
您好,您能列出本项目中使用的所有螺钉和螺母吗?
我假设都是M3,直径?
但即便如此,有一些不同的长度和一些不同的螺母,以及在腿和其他地方有垫圈-我不是太熟悉的机械,所以这将帮助我挑选那些购物。
谢谢你!
嘿,我用的是14mm长度的M3螺栓,12mm长度也可以用。你需要大约180个这样的,螺栓和螺母,以及垫圈,如果你没有使用自锁螺母。你还需要像10-15 M4螺栓长度约16至20毫米。
您好,谢谢您列出螺栓/螺母。我相信我已经把它们都买了;对于M4螺栓,我选择了六角头类型,因为我必须从您的一些图片中猜出它的外观。我还购买了一套200 M3的螺栓+螺母+平垫圈。我还购买了大约200个弹簧垫圈,用于固定M3螺栓和25个带有M3螺纹的金属圆形伺服臂。
现在我有一个与我有关的问题:我还购买了一个7.4V 3500mAh(2S)LiPO,现在我正试图找出如何修改您的代码,以便它能够正确读取7.4V输入的ADC值。
我认为无需更改分压器的电阻值,只要您更改线路中的“2.9”常量值:
(代码)
浮动电压=传感器值*(5.00/1023.00)*2.9;//将读数从5v转换为合适的12V i
(/代码)
但我想不出你是怎么想出来的,能再解释一下吗?谢谢
是的,你不需要改变电阻器的值。我认为你甚至不需要改变2.9常数。只需使用串行监视器,看看你得到的值,测量电池的真实电压,如果需要调整“2.9”常量。
这个项目真的是令人难以置信的…我想复制它,我的问题是,在组装的时候蚂蚁(校准后的伺服系统代码),它开始动摇或不动,你能告诉我在各自的数字伺服系统连接的PCB的例子:伺服34(在图中)引脚10伺服49引脚22,我没有多少时间来展示这个项目,我已经购买并按照你的视频的形象和相似的一切
嘿,谢谢!你可以追踪伺服连接的线,看看它们在Arduino Mega上连接了哪些引脚。确保您的电源可以处理所有伺服系统的电流输出,您可能需要高达10A或15A的额定电源(5V)。
你好,
你找到PCB板上你需要的引脚了吗?它要去哪个伺服系统?我也在挣扎着……
如果你知道,请帮助我....
谢谢
马丁·范·登·布拉克
你好,Dejan,这个项目真的很让人印象深刻,非常感谢你如此详细的分享。我正试着用我十岁的儿子来复制它!我想他会喜欢的
嘿,谢谢,我很高兴听你这么说!享受建设的乐趣,但要记住,做项目并不是那么容易。做好大量排除故障的准备。
先生,请回复我是否可以使用3000mah的电源,5v输出,而不是使用lipi电池和转换器
我不这么认为,因为电源组将无法处理机器人将消耗的电流量,峰值约为5A到10A。
先生,我猜是应用的链接坏了,因为我点击下载时下载没有进行
嗨,我现在打印这个奇妙的蚂蚁的部分:
但你能列个零件清单吗
例如使用哪些螺栓和螺母:平头,飞利浦螺丝,锁紧螺母,垫圈等?
-比如哪些部件需要焊接在电路板上
你使用的是哪种金属伺服喇叭,只使用它们还是也需要使用塑料喇叭?
嘿,在这个项目中使用的大多数螺栓是平头M3螺栓,长度大约12或14毫米,你需要大约200个,还有垫圈和螺母,或者你可以只锁紧螺母,不带垫圈。您还需要15个M4的螺栓、螺母和垫圈。
你需要焊接到板上的部分是电容器,电阻,端子块和引脚头。
至于喇叭,你可以用任何一种,不管是塑料的还是金属的,都没关系。我想我没有足够的塑料,所以我也用了金属喇叭,这可以单独买。
谢谢德扬,
你能告诉我我需要哪种电容器吗???
对于C1 C2和C3....
我订购了你的伟大的董事会,现在焊接一切在....
C1和C2我在之前的帖子中找到的。200-50 uF,但是C3需要什么呢
在10uF到100uF之间,额定电压在16V到63V之间。
你有一个原理图如何连接伺服等pcb板,你设计的?…我找到了没有它的方案,但它有点难得到,什么去pcb板上的地方…
Dejan你能帮我把你设计的PCB板上的伺服连接到哪里吗?
谢谢
超声波传感器安装在哪个模块上?
你好,德扬,
我完成了构建,现在想连接伺服系统…你能帮我确定哪一个在pcb板上。?
谢谢
有人能帮我弄一下伺服引脚吗?
我做了一个电池盒和托架的转换器分享....
谢谢
为我3岁的小儿子做这个,真是太棒了
我做同样的选择,arduino, fusion 360, cura, MIT inventor
我只有ender,所以我把大的部分切下来打印
谢谢你,你的项目非常详细和有趣bet188me