在本教程中,我将向您展示我如何构建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螺栓和螺母,以及弹簧垫圈。螺栓的长度至少需要12毫米,在我的情况下,我使用了16毫米长的螺栓。
整个装配大约需要200个螺栓。为了连接链接到彼此,我们使用随伺服包作为附件的圆角。但是我们需要在每一个上面钻3mm的孔,这样螺栓才能穿过去,或者我们可以使用金属圆角,螺纹是M3,可以单独购买。
当确保连接到伺服系统时,我们需要确保我们总是在相同的位置连接它们,并且它们具有完整的运动范围。
我们应该注意到在这里,伺服器有一个小三角支持的顶部需要被删除。我用一个简单的实用刀来做到这一点,这样伺服器可以放置闪光与打印部件。在插入第三个伺服到位之前,我们首先需要插入一个M4螺栓,用于连接腿和底板。
这是腿部组装的样子。组装起来其实很简单,但现在我们还需要五个。
一旦我们把所有的腿都准备好了,我们就可以继续把它们安装到机器人的身体上,或者两个板上。首先,我们需要使用与之前相同的方法,用M3螺栓和螺母将圆形喇叭固定在顶部平台上。然后我们可以简单地连接他们到伺服轴使用螺栓,但在我们这样做之前,我们需要调整伺服的位置,以准确地在中间。
这是需要的,这样我们就可以得到伺服的全范围运动,也将减少Arduino编程时的调整或校准过程。
在固定腿后,这个项目已经开始成型,看起来像一个六足动物。
后面还有一个更圆的角,这是为了尾巴伺服,也需要被确保这一点。
接下来,我们需要把六足倒置,所以我们将能够插入底板通过M4螺栓的腿。然后我用一些普通的垫圈和自锁螺母将腿固定在上面。我们应该注意这些螺栓的紧固程度,因为这些实际上是枢轴关节,腿也应该能够旋转,同时足够安全。
接下来我们需要为头部安装第一个伺服系统,这是为滚动运动。这个伺服应该垂直于底板放置,所以为此目的,我做了两个小板,这是第一个固定到伺服。然后我们可以将伺服插入两个板之间,我们可以很容易地用M3螺栓和螺母固定它。
然后我们有一个U形支架,在这里我们需要附加两个圆形喇叭连接两个伺服器的头部。再次,在将支架固定到滚动伺服系统之前,我们需要确保伺服系统的位置在中间,以便它可以在两个方向上旋转90度。
接下来是倾斜伺服支架。因此,首先我们需要插入一个M4螺栓,并将其固定在U形支架上。在安装倾斜电机之前,我们还需要插入四个M3螺栓,这将用于紧固头部。然后,我们可以插入倾斜伺服到支架和小心地适合轴圆喇叭。这里有点紧,但U形支架可以有帮助地弯曲一点。
最后,我们需要确保伺服与M3螺栓和头部机构完成。现在它可以滚动和倾斜。
在将头部连接到机构之前,我们需要预组装它,或将下颌骨与小型SG90伺服和超声波传感器连接。这里有点紧,但我还是设法插入了第一个下颌骨并用M4螺栓将其固定在头部。
你可以注意到在眼睛区域有一个小孔,这是专门设计的,所以我们可以通过螺丝刀来拧紧螺栓。
接下来是微伺服到位,它是安全的使用两个螺钉。在第二个下颌骨上,我们首先需要为SG90伺服附加一个小臂角。
然后我们可以将下颌骨插入到位,配对两个齿轮,并使用螺丝刀将其固定到电机轴上。
接下来我们可以把超声波传感器放在合适的位置。眼睛的洞是完全适合超声波传感器,所以我只是用了几滴交流胶水将传感器固定在头部。
头部还有一个细节要添加,那就是天线。为此,我用了3毫米的扁线,我把它剪成大约13厘米长的,然后稍微弯曲它来得到想要的形状。我又用了几滴AC胶水把它们固定在头上。最后,我们可以将头部与前面插入的四个螺栓连接到滚动和倾斜机制上。
它的头部现在功能齐全,可以滚动,倾斜,甚至可以咬人。还有两个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,我们仍然需要使用降压转换器。我将用于这个项目的buck转换器可以处理高达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,用于将其连接到Arduino板。一旦我们把大头针头在底部,我们可以使用某种板持有大头针和翻转板。现在我们需要将它们全部焊接到PCB上。一旦完成了这一点,我们可以继续与伺服连接,我们也需要男性引脚头。
在这一点上,我们实际上可以为所有连接插入引脚头,并使用相同的方法翻转PCB并将所有引脚焊接到它。最后我们需要焊接电阻,电容器和端子座。就是这样,我们的蚂蚁机器人的Arduino Mega Shield已经准备好了。现在我们可以简单地将它插入Arduino板。
接下来我们需要将降压转换器输出电压设置为5V。我们可以通过调节buck转换器的电位器来做到这一点。您可以注意到,我在输入端添加了一个电源开关,并将电池12V连接到PCB上的12V引脚,该引脚仅用于监测电池电压。
记住PCB的主输入必须是5V。
现在我们可以把电子元件插入两个板之间。必威lol还是有点紧,但我们仍然可以把所有东西都放进去。首先是我用胶带固定的电池,在它上面是Arduino和我们制作的PCB。接下来,我们可以连接NRF24L01收发器或蓝牙模块,这取决于我们将使用什么类型的通信。我还插入了一个LED,用于指示电池何时需要充电,或者万一电压降至11V伏以下。最后,我们需要将所有伺服连接到伺服引脚。在这样做的时候,请务必写下连接每个伺服器的引脚编号。在我们连接所有伺服系统后,我们可以简单地把曲面盖在顶板上,我们实际上完成了这个项目。
Arduino六足代码
在这个视频中剩下的就是看看Arduino程序是如何工作的。由于代码有点长,为了更好地理解,我将在小节中发布该程序的源代码,并对每个小节进行描述。在本文的最后,我将发布完整的源代码。
因此,为了控制伺服系统,我们将使用基本的伺服库,对于蓝牙通信,我们需要包括SoftwareSerial库。首先,我们需要定义所有伺服对象以及下面程序所需的一些变量。
#include < servareserial .h> #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设置为Output 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);// Grip s5.write(65);// Tail // Leg 4 s10.write(65);s11.write (35);s12.write (40);// 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(){//摇摆阶段-通过空气移动腿-从初始位置到最终位置//上升腿如果(i1L1 <= 10) {s18。写(60 - i1L1 * 2);肌力。写(90 - i1L1 * 3);i1L1 + +;} //如果(i2L1 <= 30) {s16.旋转腿。写(100 - i2L1);i2L1 + +;} //如果(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()自定义函数,这些函数将在主循环中不断重复。
//如果(m == 2) {moveLeg1();moveLeg3 ();moveLeg5 ();if (l1status == HIGH) {moveLeg2();moveLeg4 ();moveLeg6 ();}}
您可以注意到,3条腿是偏移的,所以当腿号1、3和5处于摆动阶段时,其他3条腿、2、4和6处于站立阶段。如果我们想向左移动,我们调用适当的moveLeft()函数。
这些命令实际上来自蓝牙模块或我们智能手机上定制的Android应用程序。
//检查传入数据if (Bluetooth.available() > 0) {dataIn = Bluetooth.read();//读取数据
Arduino蚂蚁机器人Android App
现在让我们来看看这个应用程序,看看它实际上向Arduino发送了什么样的数据。我用MIT App Inventor在线申请,这是它的工作原理。betway
应用程序的图形实际上是我制作并作为按钮放置的图像。在底部我们有一个控制机器人速度的滑块,在顶部我们有连接蓝牙模块的按钮。
让我们来看看这个程序或应用程序背后的模块。
例如,如果我们点击Forward按钮,“if”语句中的块将被执行。这意味着我们将数字2发送到Arduino, Arduino将执行向前移动的一组函数。同时,我们可以注意到,我们将按钮的图像更改为同一图像的另一个高亮版本。如果我们再次按下相同的按钮,现在“else”语句中的块将被执行,并将数字0发送到Arduino, Arduino将重置所有计数器并移动机器人的初始位置。我们还将该按钮的初始图像后退。所以我对所有其他按钮都使用了相同的原则。
以下是上述MIT App Inventor项目的下载文件,以及可以安装在智能手机上的Android应用程序:
我们来看看Arduino程序的另外两个功能电池电压监测器和超声波传感器。
//监控电池电压int sensorValue = analogRead(A3);浮动电压= sensorValue * (5.00 / 1023.00) * 2.9;//将读数从5v转换为合适的12V i Serial.println(电压);//如果电压低于11V,则打开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 (aStatus == HIGH) {while (a == 0) {delay(2000);A = 1;} if (getDistance() > 30) {att = 2;A = 0;状态= LOW;initialPosHead ();} if (getDistance() < 30) {att = 3;A = 0;状态= LOW; 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的3D建模吗?我认为arduino项目非常有趣。bet188me
谢谢你!好吧,目前我没有Solidworks教程,但也许我将来会做一些。
令人印象深刻,我很钦佩,多么好的工作!
谢谢你!
这令人印象深刻!你要用它做什么?
你考虑过用它来教孩子们STEM吗?
谢谢你!我希望我能通过这些网站和YouTube频道教更多的孩子。
嗨
伟大的项目。我看你没有用过伺服控制器。Arduino Mega有15个PWM引脚,所以你如何能够使用一个Arduino Mega运行21个伺服?
据我所知,伺服电机需要PWM引脚。在代码中,您没有使用pwm引脚。
嘿,谢谢!好吧,我使用的伺服库不使用PWM引脚,它产生特殊的50Hz PWM信号,它可以与任何数字引脚一起使用。
太棒了!我不知道该怎么说,但是…你是最棒的。谢谢分享这个很棒的项目,谢谢,谢谢
谢谢你!
谢谢你的指导。看起来很棒,很专业。你有很多不同的技能。3D打印、设计自己的电路板、编程、在SolidWorks中设计……从头到尾都是一个完整的工程项目。
在视频的最后,你说对你来说最大的问题是你使用的伺服系统性能不佳。我能问一下问题是什么,你是怎么解决的吗?
谢谢你!问题是伺服没有合适的扭矩,它们有点不稳定,在六足机器人的负载下不能保持在正确的位置。实际上我没有解决这个问题。使用不同的高质量的伺服系统可能会解决这个问题,但随之而来的另一个问题是,项目的总成本将显著上升,因为有太多的伺服系统。
如果我们用SG90代替MG996R,编码会有什么变化?
编码将是相同的,因为SG90和MG996R的工作方式相同。然而,你不能使用这个模型,但一个完全不同的SG90是一个比这个小得多的伺服。而且我也不建议用SG90伺服做这样的项目,他们没有足够的扭矩。
你好,我有你的超级伺服护盾的PCB。不幸的是,我没有找到R1到R6和C1到C3的值。你能告诉我所需的数值吗?
嘿,这是电阻器和电容器的数值。
R1= 2k, r2 = 1k, r3 = r4 =220, r5 = 1k, r6 = 2k。
C1=C2 ~ 200 - 500uF
你好,
我开始组装这个伟大的项目-但你如何设置伺服到“空闲”的位置在组装的开始?
我的想法是启动arduino,并在其位置上插入每个伺服,将其移动到默认位置。你是怎么做的?你有更好的主意吗?
嘿,好吧,是的,这样你就可以在不调整代码的正确位置附加和安全伺服器。老实说,这有点棘手,代码也不是最好的,但希望您能解决问题。
你好,你能列出这个项目用到的所有螺丝和螺母吗?
我想都是M3,直径?
但即便如此,也有一些不同的长度和不同的螺母,以及在腿和其他地方有垫圈-我不太熟悉机械,所以这将有助于我挑选这些东西。
谢谢你!
嘿,我使用的M3螺栓长度为14mm,但也可以使用12mm长度。你需要大约180个这样的东西,螺栓和螺母,如果你不使用自锁螺母,还有垫圈。你还需要10-15个M4螺栓,长度约为16 - 20mm。
嗨,谢谢你列出螺栓/螺母。我想我已经把它们都买下来了;对于M4螺栓,我选择了六角头类型,因为我必须从你的一些照片中猜测。我还购买了200套包含200 M3螺栓+螺母+普通垫圈。我还购买了大约200个用于固定M3螺栓的弹簧垫圈和25个M3螺纹的金属圆伺服臂。
现在我有一个关心我的问题:我也去买了一个7.4V 3500mAh (2S) LiPO,现在我试图弄清楚如何修改您的代码,以便它能够正确读取7.4V输入的ADC值。
我认为没有必要改变分压器的电阻值,只要你改变“2.9”常数值:
(代码)
浮动电压= sensorValue * (5.00 / 1023.00) * 2.9;//将读数从5v转换为合适的12V i
(/代码)
但我不明白你是怎么想出来的,你介意就这件事再解释一下吗?谢谢。
你不需要改变电阻器的值。实际上,我认为你甚至不需要改变“2.9”常数。只需使用串行显示器,看看你得到什么值,测量电池的实际电压,如果需要,调整“2.9”常数。
这个项目真的是令人难以置信的…我想复制它,我的问题是,在组装的时候蚂蚁(校准后的伺服系统代码),它开始动摇或不动,你能告诉我在各自的数字伺服系统连接的PCB的例子:伺服34(图中)销10伺服49销22请,我几乎没有时间的项目,我买了,一切都在你的视频的形象和样式
嘿,谢谢!你可以追踪伺服连接的线,看看它们在Arduino Mega上连接的是什么引脚。确保你的电源可以处理所有伺服的电流,你可能需要高达10A或15A的额定电源(5V)。
你好,
你找到PCB板上需要的引脚了吗?它到哪个伺服?我也在挣扎……
如果你知道,请帮助我....
谢谢
Martijn van den Brakel
嗨,Dejan,这个项目真的令人印象深刻,非常感谢你分享这么详细。我正试着在我十岁的儿子身上复制它!我想他会喜欢的
嘿,谢谢,听你这么说我很高兴!享受建造的乐趣,但要记住做项目并不容易。做好大量故障排除的准备。
先生,请回复我是否可以使用3000mah 5v输出的充电宝,而不是使用lipi电池和转换器
我不这么认为,因为充电宝无法处理机器人所吸取的电流,峰值时大约在5A到10A之间。
先生,我猜这个应用程序的链接坏了,因为当我点击下载时,下载没有继续
嗨,我目前正在打印这个奇妙的蚂蚁的部分:
但是你能列一份零件清单吗?
比如要用哪些螺栓和螺母:平头、十字螺钉、锁紧螺母、垫圈等等?
比如哪些部件需要焊接在板上
你用了哪些金属伺服喇叭,只用它们还是也要用塑料的?
嘿,这个项目中使用的大多数螺栓都是长度约12或14毫米的平头M3螺栓,你需要大约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,麻省理工发明家
我只有一个ender 3,所以我把大的部分打印出来
谢谢你,你的项目非常详细和有趣bet188me