在本教程中,我将向您展示我如何构建一个基于Arduino的RC飞机,同时,我将向您展示如何使用自定义构建Arduino发射器,我在之前的一个视频中构建了它。

推荐 2019年最佳Arduino入门套件
概述


所以,这架飞机完全是由聚苯乙烯泡沫塑料制成的。我用我的Arduino数控泡沫切割机来做这些形状,我已经在之前的视频中展示过了。虽然我用的是数控机床来做这个Arduino RC飞机,但我仍然可以说它是100% DIY的,因为数控机床也是DIY的。

此外,飞机的控制也是100% DIY的,基于Arduino和NRF24L01模块进行无线电通信。

DIY Arduino RC发射器控制Arduino RC飞机

使用发射器的正确操纵杆,我们可以控制飞机的副翼和电梯,并使用左侧操纵杆,我们可以控制舵和油门。

带DIY发射器的RC平面控制 - 方向舵装饰

此外,使用右边的电位器,我们可以调整控制响应,或减少伺服行程的数量,并使用左边的操纵杆,我们可以微调方向舵或调整伺服臂的中立位置。

DIY Arduino RC飞机飞行

哦,我差点忘了说,这个Arduino RC飞机的主要功能是飞行,所以是的,它能飞。

设计RC飞机- 3D模型

我开始用3D建模软件设计飞机,融合360年在这种情况下。我通过查看一些商业RC飞机以及以下基本准则或拇指规则来制作设计,用于模型飞机参数。

RC飞机三维模型在Autodesk融合360

起点是翼展,我选择的是80厘米。从那里我们得到了机身长度,通常是翼展的75%。至于翼型,或机翼横截面,我选择了克拉克Y翼型,这是一个受欢迎的选择为RC飞机。

克拉克Y翼型为我的DIY遥控飞机

我下载了机翼形状从airfoiltools.com作为。svg文件,然后我把它导入到Fusion 360。我适当地调整了尺寸,使翼弦,即机翼在气流方向的长度大约是翼展的五分之一。

DIY RC平面与Clarck Y翼型 -  3D模型

水平和垂直稳定器也根据这些基本准则大小。以下是一些基本RC模型飞机设计参数:

基本RC模型飞机设计参数

飞机的机身将由两个10毫米的侧面和一个50毫米的核心组成,该核心将是中空的,以容纳电子设备。必威lol

你可以从上面的链接下载3D模型。飞机有两种版本。图中显示的是版本1,版本2的机头更小,发动机可以更靠前,以改善气流。

为我的DIY数控泡沫切割机生成g代码

现在,作为我的Arduino数控泡沫切割机工作区域限制在45cm,机身长60cm,我不得不把机身分成两部分。

DIY RC平面3D模型

所以,我在距离前面34厘米的地方切割机身,并做了一个新的草图,在草图中我投影了形状,并在它附近添加了一个点。接下来,在Fusion 360的制造选项卡中,我可以生成用于切割形状的g代码。

为生产准备模型

在这里,首先我做了一个新的设置,我选择草图作为模型,选择我之前添加的点作为设置的原点,并适当调整X和Y轴。

在Fusion 360中设置CNC加工坐标系

然后我选择了2D轮廓操作,并选择或生成了一个直径为3mm的新工具,因为这是热丝穿过泡沫塑料时切割的近似尺寸。在这里,我们还可以设置切割进刀速度,这取决于热丝本身和泡沫塑料的硬度。我设置为150毫米/米。

然后在几何体点击,我们可以选择轮廓线或需要切割的形状。至于高度,我把它们都设置为1mm,因为在我的泡沫切割机上没有任何Z轴运动。最后在链接点击中,我选择入口位置为原点附近的边缘。

在Fusion 360中生成数控加工的刀具路径

这样就生成了工具路径,我们可以通过点击Simulation按钮来查看它。工具路径应该是一个封闭的单次循环,如果是这样的话,我们最终可以生成g代码。为此,我们可以进入Post Processes,选择GRBL固件,选择输出文件夹,命名文件并单击Post按钮。

在融合360中为GRBL生成G代码

然后我们可以保存文件,我们可以在写字板编辑器或类似的东西中看到G-code。

用融合360生成的飞机机身的g代码

所以现在一旦我们有了g代码文件,我们可以将它加载到通用g代码发送器中,并将g代码发送到数控机床来制作形状。

通用g代码发送器用于发送g代码到我的DIY数控泡沫切割机

我们可以注意到,我刚刚展示给你的过程可能不是最好的,或者一点都不专业,但它仍然做了工作,让g代码与我的DIY数控泡沫切割机工作。当然,关于这台DIY数控机床的更多细节,你可以查看我的教程,链接在视频的描述中。

你可以在这里下载G-code文件:

就像我说的,两边我用了1cm的泡沫塑料,中间我用了5cm的泡沫塑料。

用DIY数控热丝机从泡沫塑料中切割遥控飞机的机身

至于翅膀,我用了10厘米的泡沫塑料,我把它切到30厘米宽,因为这是我的热丝机能切到的最大跨度。我在一个g代码文件里放了两个机翼侧面然后剪了几个。

使用DIY CNC热线机切割用于RC飞机的聚苯乙烯泡沫塑料翼型

为了得到80厘米的翼展,我将3块27厘米的碎片粘在一起,为了让它们直起来,我手动切断了碎片的两端,使它们垂直。

组装遥控飞机

这是我用数控机床切割的所有泡沫塑料。前面三张,后面三张,翅膀三张。现在我可以开始组装它们了。

DIY钢筋混凝土飞机部件由聚苯乙烯泡沫和数控热线机

我将从前面部分开始。我用胶枪把这些碎片粘在一起。热熔胶融化了一点泡沫塑料但我还是能用这种方法把它们粘起来。

用胶枪-热胶对泡沫聚苯乙烯进行粘合

另一个粘合泡沫塑料的好方法是用5分钟的环氧树脂。在另一侧涂胶之前,我将做电机的支架。为此,我使用30mm宽的铝型材,这是相当轻的重量。我将型材切割在18cm左右,标记安装电机的孔,并使用3mm钻头进行钻孔。然后我把侧面弯曲90度。我用一些M3螺栓将电机固定到支架上。

RC平面电机支架

使用这个组件,我通过聚苯乙烯泡沫塑料的前部制成一个洞。然后,使用公用事业刀,直径向30毫米扩大到30毫米,与电机直径相同。

接下来,在电机holder的另一边我做了4个洞,这将为固定holder在地方,也为连接起落架。我在机身上标记了这些洞的位置,并使用了一个4毫米钻头,我通过聚苯乙烯手工钻孔。我做了另一个铝件约7厘米长与相同的洞,现在我可以使用它来固定电机持有人。

飞机发动机的安装板

使用M4螺栓,我们可以很容易地固定电机持有人的地方,而不破坏聚苯乙烯泡沫。然而,我将稍后做,所以我删除他们,我继续胶合另一边。用同样的方法,我把后面的部分也粘上。

下一步就是连接机身的前后部分。为了加强连接,我将在它们之间加入简单的烧烤棒。

将机身的两个部分连接在一起

我甚至建议甚至使用一些更大的棍子,因为当飞机崩溃时,它可能很容易在这里打破。我向连接站点添加了一些不错的热胶水,并将它们挤在一起。所以在这里,机身准备就绪,我认为它看起来很酷。

钢筋混凝土飞机机身由泡沫塑料制成

接下来,我要用美工刀切两片10毫米长的泡沫塑料,作为水平和垂直的稳定器。我将边缘倾斜,这样它们看起来更好,也更符合空气动力学。稳定器会直接粘在机身的背面,但在那之前,我要先做控制器的表面。

做飞机的稳定器

为了这个目的,我剪掉了大约三分之一的长度,那将是它们的控制面或者说是水平稳定器的升降舵和垂直稳定器的方向舵。为了能够铰链的控制表面上的稳定,我需要倾斜他们的接触面。同样,我用的是美工刀,我们需要一把非常锋利的刀来清理这些伤口。

我继续让稳定器更符合空气动力学。为此,我用砂纸把它们的前缘磨圆。我还把后缘磨了一点。

做水平稳定器的控制面-升降舵

现在,由于泡沫塑料非常脆弱,我要用简单的包装胶带把稳定器和控制表面的整个区域包起来。这不仅会使零件更坚固,还会增加空气动力学,因为胶带比泡沫塑料本身更光滑。

用包装胶带包裹稳定器

包裹好后,我将舵的底部剪成45度角,以便为电梯的自由移动腾出空间。

现在,我终于可以为它做铰链了,我又在用包装胶带做了。所以,我只是用胶带把这两部分连接在一起,这样就形成了相当结实的铰链。

简单的铰链为RC飞机控制表面制成的包装胶带

我对水平稳定器也重复了这个过程。为了使铰链更牢固,我们还可以在另一边加胶带。使用相同的胶带,我包边和两个稳定完成。

水平稳定器和升降器铰链采用打包带

我继续用热胶把水平稳定器粘在机身上。为了固定垂直稳定器,首先我插入并粘上3根烧烤棒通过水平稳定器和机身。然后我在它们和接触面上涂上一些热胶,并把稳定器牢牢地压下去。

把稳定器固定在机身上

有了这个我们就完成了稳定器我们可以继续做机翼了。

所以,正如我之前所说的,由于我的DIY数控泡沫切割机的工作面积有限,所以这个机翼将由3块制作。再次强调,我使用烧烤棒来提供额外的力量,当粘合的时候。为了将它们精确地固定在一条直线上,我使用了一条笔直的木条,我可以在上面滑动这些碎片。

用热胶将3个翼部粘在一起

一旦这样做了,翅膀实际上是相当脆弱的,因为它是长和锡。因此,我将通过添加一根木棍来加固它。我把棍子切成大小,并在翅膀上做了标记,我需要做一个口袋,这样我就可以把棍子放进去。用美工刀,我慢慢地,小心地做口袋。我添加了一些热熔胶,以确保它在没有干扰机翼形状太多的地方。

用木棍加固翅膀

现在有了木棒,机翼就更坚固了。虽然它更坚固,但如果它撞到地面,仍然很容易破碎,因此,我将用包装胶带把它全部包裹起来,就像我对稳定器做的那样。我开始把胶带从机翼的后缘,加到前缘。

用包装胶带包裹Arduino RC飞机机翼

这样,从前面进来的空气就不会把胶带脱下来。虽然这个过程看起来很简单,但如果你的手不稳、没有足够的耐心,它可能会有点烦人。我觉得机翼的设计非常完美。现在它更坚固,更符合空气动力学,看起来也很好。

好的,下一步是制作机翼或副翼的控制面。我要把它们做成22厘米宽,大约是翼弦的四分之一长。为了能够自由移动,我切掉了大约半厘米。

做机翼的副翼

当然,我用切割包裹着暴露的所有边缘。接下来,我在45度处倾斜了副作用的底部,并且以与之前的显示相同的方式,现在我可以将其铰接到机翼。为了适应机身,能够轻松地将机翼安装到机身上,我必须在翼中制作一个凹槽。

DIY Arduino RC飞机 - 翼施工

接下来,是时候安装控制副翼的伺服电机了。我用的是9g微型伺服系统。我标记的位置,他们将放置和使用美工刀,我小心地在机翼上做了一个开口,以便伺服可以适合它。同时,我移除了伺服安装支架,使他们的形状更简单。我在伺服上涂了一些胶水,插进了开口。

安装伺服电机到聚苯乙烯翼

使用美工刀,我做了一个小槽从伺服到中心的机翼,以便我可以安装伺服线路在它。最后,我用一根胶带把所有东西都粘上了。我对另一边也重复了同样的过程。

我继续制作控制喇叭。我将使他们的铝型材,我使用之前,使电机持有人。我用手画形状,以近似匹配伺服电机喇叭的高度和悬挂在铰链点。我用钢锯切出形状。

DIY遥控飞机喇叭

我将使用2mm的钢丝作为控制杆,所以我用2.5mm的钻头在喇叭上开了一个口。我在副翼上做了一个小凹槽,把喇叭粘在了合适的位置。然后我测量了控制棒的长度,用一些钳子用2mm的钢丝做成了控制棒。我们需要注意的是,在测量和插入控制棒时,伺服电机需要处于空挡位置。

定制构建喇叭和DIY RC飞机的Hord Rod

我们可以手动把它放在运动范围的中间,或者连接到伺服测试器,或者用Arduino来做。我在另一边重复了这个过程,这样翅膀就完成了。

接下来,我需要安装舵机来控制方向舵和电梯。我在这里也使用相同的9g微伺服,安装它们的过程实际上和我刚才解释的差不多。首先,我标记的位置,使开放使用美工刀和胶水的两个电机在地方。在这里,它们彼此相邻,但输出轴在相反的一边。

安装Arduino RC飞机的方向舵和电梯伺服系统

再一次,我在机身上做了一个小槽,以便将伺服电线连接到电子舱。必威lol我盖伺服与一块磁带,并为伺服喇叭做开口。以同样的方式展示了早些时候,我做了控制喇叭,并用胶枪把它们粘在了合适的位置。最后,我做了适当的控制杆,并安装了相应的。

DIY控制表面喇叭和喇叭杆

好的,接下来我要安装两根8毫米的木棒,用来固定机翼和机身。我用6毫米的钻头手工钻出了这些洞。棒子应该悬挂在大约1cm左右的两侧。我用一些热熔胶把它们固定在机身上这是它们的工作原理。

用橡皮筋固定机翼

我们用橡皮筋把机翼固定在机身上。这样,机翼就可以很容易地拆卸下来,在压碎橡皮筋的情况下,将大大减少对机翼的冲击。与此同时,大会是非常强大的。

用橡皮筋固定rc平面翅膀向机身

接下来,我要做起落架。为了达到这个目的,我将再次使用铝型材和泡沫塑料制成的车轮。我是用之前展示的数控机床做的。我在铝型材上做了小凹槽,所以我可以很容易地弯曲它。这是起落架实际的样子。

制作DIY Arduino RC飞机的起落架

为了将车轮连接到型材,我将使用M5螺栓和具有6mm内径的铝管。将管用M5螺栓和螺母固定到支架上,然后在侧面上添加M5垫圈,使车轮可以自由旋转。用相同的方法,我制造了飞机后侧的轮子。

遥控飞机的起落架

好了,现在所有的部件都准备好了,在我组装它们之前,让我们看一下这个项目的电子部分。必威lol

Arduino RC飞机电子 - 电路图必威lol

就像我说过的,这个遥控飞机完全是基于Arduino发射机接收机是基于Arduino Pro Mini板的定制版本。

DIY遥控飞机遥控发射机和接收机

我已经有详细的教程如何建立和发射机和接收器的工作,所以你可以检查他们更多的细节。下面我将讲解这架Arduino RC飞机的电路图和工作原理,以及所有需要连接的东西。

DIY Arduino RC飞机电子-电路图必威lol

你可以从下面的链接获得这个项目所需的组件:

必威外围提钱披露:这些是附属链接。作为一个亚马逊助理,我从合格的购买中赚取。

因此,无线通信是基于NRF24L01模块。虽然看起来有点复杂,但这个DIY Arduino发射器其实很简单。它有几个控制器,操纵杆,电位器和一些按钮,它不断地把它们的数据发送给接收器。接收机通过NRF24L01模块无线接收这些数据,并向伺服器和无刷电机输出相应的命令来控制飞机。

控制伺服无刷马达用Arduino也很简单,所以我认为整个Arduino RC飞机的概念并不难理解。我在这个项目中使用的无刷电机额定电压为1000KV,需要30A ESC。ESC驱动电机,并通过输出5V的电池消除器电路功能为Arduino和伺服系统提供电源。而电源到ESC和无刷电机来自一个3S Li-Po电池。

我给这架飞机增加了一个功能,那就是一个简单的LED,它会显示电池是否空了。使用一个简单的分压器,我们将Li-Po电池的12V降至5V左右,这样我们就可以通过Arduino模拟输入读取它们,从而知道电池何时会降至11V以下。接收器仍然有几个自由通道,所以我们可以添加更多的功能,如果我们想,这架飞机,如频闪灯,襟翼,下降机制等。

完成组装

不管怎样,让我们现在完成组装。所以,我按照电路图中的解释把所有东西连接起来。通道1是方向舵,通道2是升降舵,通道3和4是副翼,通道6是LED。我把LED粘在一边,把电源开关粘在另一边。

用于RC模型飞机的DIY RC接收器

我们可以在此处注意到起落架如何使用电动机支架上的两个螺栓连接到飞机上。在几个单词中,我简单地将电机插入到从该顶部开口,用螺栓固定到更早的位置,并安装着起落架。插入支架时,我还添加了一些橡皮筋,以便它们可以将电池固定到位。

把起落架固定在飞机的机身上

所以,一旦我把电池连接到ESC上,我就把所有东西都挤进去了。最后,使用延长线我可以很容易地连接机翼副翼到接收机,然后将机翼固定到机身上。

用延长线连接副翼伺服

在前面,我把螺旋桨连接到发动机上,现在剩下的是检查重心,也就是飞机的重心。

固定Arduino RC飞机的螺旋桨

CG可能是最重要的因素,是否飞机将飞行良好或飞行。

重尾翼RC飞机重心不良

飞机最初是尾部重,所以我把电池移动到前面,并增加一些重量(一些螺栓和螺母),它得到平衡。

良好的重心CG  - 平衡DIY RC飞机

就这样,我们的基于Arduino的RC飞机现在完成了,我们可以出去试一下。

测试Arduino RC飞机

嗯,第一次尝试或首次飞行并不是很酷。尤其是在看到暗恋的结果之后。

这是我DIY的Arduino RC飞机的首次试飞

我的结论是,飞机的尾部仍然很重,感觉发动机没有足够的动力。由于我没有另一个发动机或螺旋桨来尝试,我修改了机头更小一点,把发动机更多地移动到前面,这样它有更好的气流,也圆角的边缘在前面。至于结构,我加强了一些木棒和铝型材,我胶合在机身的内部区域。

用聚苯乙烯泡沫塑料自制钢筋混凝土飞机

在电子隔室的底部,我制作了两个孔,一个用于必威lol空气,用于逸出,来自前开口,另一个用于使NRF24L01天线外部用于具有面糊范围。

好了,试试第二种方法。再次,几乎是同样的事情,尽管感觉它现在有更好的气流或动力。

破碎的飞机

机身又坏了,这说明这种泡沫塑料对于这个目的来说是很弱的。我做了一个新的机身,这次用了一些管道胶带来加固。

尝试第三号。它看起来很有希望,但我要起飞的地形实际上并不擅长。飞机开始向右移动,撞到了道路的边缘并再次破裂。

我修好了它,这次几乎用管道和包装胶带把整个机身包起来。我应该早点这么做的,因为这给了机身正确的力量,它没有断裂甚至在几次挤压后。

我的DIY Arduino RC飞机的最终版本

现在的问题是,在几次碾压后,我弄坏了所有4个螺旋桨,所以在这次尝试中,我使用了一个胶合螺旋桨。当然,飞机起飞时螺旋桨被撕裂了。

我用两个已经坏了的螺旋桨做了另一个螺旋桨,这次我真的很幸运,飞机终于正常起飞了。

DIY Arduino RC飞机飞行

但是幸运没有持续多久,螺旋桨在半空中又断裂了。

我的胶粘螺旋桨在半空中断了

然而,由于这是我第一次驾驶RC飞机,我想我可以认为这个项目是成功的,因为我设法证明了一个完全基于Arduino的系统来控制RC飞机的概念。

除此之外,我们可以从飞行中注意到发射机的控制实际上太苛刻了。这是因为操纵杆并不适合这个目的,它们的移动范围很小,反应也很差。

带DIY发射器的RC平面控制 - 方向舵装饰

为了解决这个问题,我在程序中添加了一个功能,通过这个功能,我们可以使用发射机上正确的电位器来控制控制的响应性。另外,我还增加了一个功能,通过这个功能,我们可以使用左电位器来调整方向舵。

Arduino RC飞机代码

最后,让我们来看看这个基于Arduino的RC飞机的Arduino代码,并结束这个项目。代码与之前教程中解释的完全相同,用于使用NRF24L01收发模块控制伺服和无刷电机。

这里是完整的代码为这个Arduino RC飞机项目:

/* Arduino RC Airplane == Receiver Code = by Dejan, www.bet188官方网站HowToMechatronics.com Library: TMRh20/RF24, https://github.com/tmrh20/RF24/ */ #include  #include  #include  #include  #define led 9 RF24 radio(3,2);// nRF24L01 (CE, CSN) const byte address[6] = "00001";unsigned long lastReceiveTime = 0;unsigned long currentTime = 0;伺服节流;//创建控制ESC舵机的伺服对象;伺服elevatorServo;伺服aileron1Servo;伺服aileron2Servo;int throttleValue, rudderValue, elevatorValue, aileron1Value, aileron2Value, travelAdjust; // Max size of this struct is 32 bytes - NRF24L01 buffer limit struct Data_Package { byte j1PotX; byte j1PotY; byte j1Button; byte j2PotX; byte j2PotY; byte j2Button; byte pot1; byte pot2; byte tSwitch1; byte tSwitch2; byte button1; byte button2; byte button3; byte button4; }; Data_Package data; //Create a variable with the above structure void setup() { Serial.begin(9600); radio.begin(); radio.openReadingPipe(0, address); radio.setAutoAck(false); radio.setDataRate(RF24_250KBPS); radio.setPALevel(RF24_PA_MAX); radio.startListening(); // Set the module as receiver resetData(); throttle.attach(10); rudderServo.attach(4); // CH1 elevatorServo.attach(5); // CH2 aileron1Servo.attach(6); // CH3 aileron2Servo.attach(7); // CH4 pinMode(led, OUTPUT); // CH6 } void loop() { // Check whether we keep receving data, or we have a connection between the two modules currentTime = millis(); if ( currentTime - lastReceiveTime > 1000 ) { // If current time is more then 1 second since we have recived the last data, that means we have lost connection resetData(); // If connection is lost, reset the data. It prevents unwanted behavior, for example if a drone jas a throttle up, if we lose connection it can keep flying away if we dont reset the function } // Check whether there is data to be received if (radio.available()) { radio.read(&data, sizeof(Data_Package)); // Read the whole data and store it into the 'data' structure lastReceiveTime = millis(); // At this moment we have received the data } // Controlling throttle - brushless motor with ESC throttleValue = constrain(data.j1PotY, 80, 255); // Joysticks stays in middle. So we only need values the upper values from 130 to 255 throttleValue = map(throttleValue, 80, 255, 1000, 2000); throttle.writeMicroseconds(throttleValue); // Adjusting the servos responsiveness travelAdjust = map(data.pot2, 0, 255, 0, 25); // Elevator control elevatorValue = map(data.j2PotY, 0, 255, (85 - travelAdjust), (35 + travelAdjust)); elevatorServo.write(elevatorValue); // Ailerons control aileron1Value = map(data.j2PotX, 0, 255, (10 + travelAdjust), (80 - travelAdjust)); aileron1Servo.write(aileron1Value); aileron2Servo.write(aileron1Value); // Rudder trimming function if (data.j1PotX > 127) { rudderValue = data.pot1 + (data.j1PotX - 127); } if (data.j1PotX < 127) { rudderValue = data.pot1 - (127 - data.j1PotX); } // Rudder control rudderValue = map(rudderValue, 0, 255, (10 + travelAdjust), (90 - travelAdjust)); rudderServo.write(rudderValue); // Monitor the battery voltage int sensorValue = analogRead(A3); float voltage = sensorValue * (5.00 / 1023.00) * 3; // Convert the reading values from 5v to suitable 12V i // If voltage is below 11V turn on the LED if (voltage < 11) { digitalWrite(led, HIGH); } else { digitalWrite(led, LOW); } } void resetData() { // Reset the values when there is no radio connection - Set initial default values data.j1PotX = 127; data.j1PotY = 80; // Motors stops // the central point of the joystick is not starting point for the throttle, its at value of 80 instead of 127 data.j2PotX = 127; data.j2PotY = 127; data.j1Button = 1; data.j2Button = 1; data.pot1 = 1; data.pot2 = 1; data.tSwitch1 = 1; data.tSwitch2 = 1; data.button1 = 1; data.button2 = 1; data.button3 = 1; data.button4 = 1; }

描述:我将快速解释代码的主要功能和所有其他细节,你可以检查以前的教程.所以,在接收到来自发射机的数据后,我们使用操纵杆1 Y轴值来控制飞机的油门。我们转换值从80到255来自变送器值从1000到2000用于控制无刷电机。

为了控制电梯,我们使用Joystick2 Y轴值,我们将其转换为值从85到35。这些值直接以度数设置伺服电机的位置。在它们旁边,我们可以注意到我们有旅行调节变量,它的值取决于右边电位器的位置。我们实际上用这个值来减少位置或伺服系统的运动,尽管操纵杆会达到它们的最大位置。

同样的原理也适用于控制副翼和方向舵。另外,我们使用左电位器的数据来调整方向舵的中性点。

最后,利用analogRead()函数和一些数学运算来控制电池电压指示灯LED。

就是这样了。我想在下面的评论部分中听到您对此项目的看法,特别是您拥有建筑物和飞行RC飞机的经验。对于那些初学者和思考进入这个的人来说,我建议检查FliteTest YouTube频道,因为这是一个令人惊叹的资源,了解这个RC世界。我将在描述中绑定它的链接。

我希望你喜欢这个项目,并学到一些新的东西。请在下面的评论部分问任何问题,不要忘记检查我的Arduino项bet188me目集合

19日回复

  1. 沃尔夫冈•拉普

    嗨,德扬,
    我希望你没事,
    这是一个很棒的RC飞机项目.....
    我学习了飞行和轮船模型的制作,经常摧毁飞机模型,但随着时间的推移,它变得越来越好,我的重点是Graupner的滑翔机,例如Amigo或3米翼展的Cirrus .....
    来自JLCBCB的我的接收器电路板本周应该来到我可以继续

    项目完成后我会写信给你,你的页面真的很棒,我希望有更多的项目来bet188me

    保持健康
    来自德国的沃尔夫冈·鲁普,你们好

    回复
  2. 吉姆·格林

    亲爱的Dejan,我非常喜欢你的DIY项目,因为它们不仅有趣,而且可以学到很多科学知识。我最喜欢的是飞机,因为它是未来的交通工具,它可以带我们完成全球旅行。我希望你能多解释一些关于飞机的事情

    回复
  3. 沃尔夫冈•拉普

    你好,德扬,
    我需要你的帮助
    我想在你的新项目中使用飞机上的按钮led(位置灯)来开关遥控飞机的开关。
    你能给我一些指令,我还需要在接收器草图中输入,才能打开和关闭发射器上的按钮....吗
    谢谢
    问候
    沃尔夫冈•拉普

    回复
    • 德国

      嘿,我不确定我是否理解你的意思,但你想打开和关闭一些额外的led灯,你将添加在飞机上?如果你问的是这个问题,你只需简单地使用digitalWrite()函数来打开或关闭LED。您可以使用任何免费通道,甚至模拟输入通道。

      回复
      • 沃尔夫冈•拉普

        你好,德扬,
        谢谢您的及时回复,
        是的,这正是我想做的,比如使用发射器上的4个按钮。打开或关闭LED灯。

        不知道我怎样才能用按钮展开你的素描,因为我不知怎么就在地铁.....上了

        第一批5张接球板今天到了,太棒了,
        再订购5个.......

        看看你tube上的频道:https: //www.youtube.com/channel/UCsM-eoJt17xnWMNNpwhf8Nw

        他的名字是NumaVIG ..........

        在那里你会找到关于你的飞机项目的有趣信息,
        这对您的项目非常重要,无刷电机在安装时必须指向3-5度,并且翼形轮廓被称为克拉克Y,非常重要的良好飞行特性,翅膀应该是3度V形左右彼此 …。
        当秤出模型时,鼻子略微向下倾斜。
        能给你一千条建议吗,那曾经是我的工作....
        保持健康,
        沃尔夫冈·鲁普,我是德国人

      • 德国

        是啊,这些都是让飞机变得更好的好理由。
        为了打开和关闭led,你需要在loop()部分中使用简单的代码,类似于:
        如果(数据)。Button1 == 1){//用这一行检查按钮是否被按下
        DigitalWrite(LED1,高);// 带领

        其他{
        digitalWrite (led1、低);/ /领导了

  4. 何塞Hernadez

    你好,德扬,
    我希望你一切都好。是否可以使用基于HC-12变送器的控制器来控制无刷直流电机?我试图做一个3D打印的“坦克”和刷齿轮马达不切割它,所以我想使用无刷直流使用一些齿轮削减来驱动坦克。有可能用这种方法控制它吗?

    回复
    • 德国

      嘿,谢谢!你的想法当然是可行的。HC-12模块只是提供两个Arduino之间的无线通信,然后你可以用Arduino做任何你想做的事情。

      回复
  5. 沃尔夫冈•拉普

    你好,
    非常感谢你的帮助,我仍然在熟悉arduino的命令,这是如此的多才多艺,arduino本身就是一个世界..............

    我仍然尝试今天用新的命令尝试草图,然后给你反馈

    祝你有一个美好的周日,这里阳光明媚……

    Lg
    沃尔夫冈·鲁普,德国人

    PS:我可以给你很多提示为RC电机飞行员

    回复
  6. 沃尔夫冈•拉普

    嗨,德扬,
    Sketch效果很好,现在我可以用按钮切换四个led,
    工作或试验你的项目真的很有趣。bet188me

    接收板来了,现在它正在焊接....

    问候
    沃尔夫冈·鲁普德国

    回复
  7. 沃尔夫冈•拉普

    你好,
    希望你一切都好......

    关于发射器有两个问题:
    开关一是用于切换陀螺MPU 6050 ....
    开关2是否已经分配了一个功能?

    我是否也可以将伺服连接到更强大的接收器上,因此需要更多的电流/啊?或者我应该给他们供电?
    我知道我有很多问题…
    谢谢你!
    问候沃尔夫冈•拉普

    回复
    • 德国

      嘿,左侧交换机激活MPU6050,它替换左侧操纵杆的输出。使用右侧开关您可以执行任何您想要的操作,发射机只需将其输出发送为0或1,因此在您的程序中您可以使用它来执行任何操作。

      回复
      • 沃尔夫冈•拉普


        谢谢你的回答,我应该在素描中看到的,但有时你会忽略一些东西(可能是由于我的年龄,微笑)

        问候沃尔夫冈•拉普

  8. 弗尔南多

    您好,您的项目很棒,我在提供元素的过程中,我只丢失了我无法下载的GCode文件,你有另一个下载解决方案,因为Zlib在家里不起作用。待办的。先感谢您。最好的问候 - 费尔南德

    回复
  9. 贾斯汀何塞

    你好,德扬,

    你好吗?我想在家里的这段时间做这个项目,我想问一个问题。这架飞机能在空中停留至少两分钟吗?

    回复
  10. 耶稣格雷罗州

    你好,德扬。

    我是一个新追随者,计划做RC飞机....是非常令人兴奋的我只是在查看你们网站上的所有信息。我非常感谢你在这个问题上分享你的经验。

    问候来自墨西哥。

    耶稣格雷罗州

    回复
  11. 杰克

    谢谢分享,我喜欢

    在这个钢筋混凝土飞机上少了一个
    其一个陀螺仪
    这将会非常棒

    谢谢你!

    回复

留下一个回复

您的电子邮件地址将不会被公布。

推荐

2019年初学者和爱好者的最佳进入级示波器

初学者和爱好者最好的示波器

推荐

2019年最佳Arduino入门套件

8个最好的arduino初学者工具包

推荐

最佳3D打印机为初学者和爱好者- 3D打印

最好的3d打印机为初学者和爱好者