0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

最详细的Arduino四轴无人机教学

伊娃老师来了 来源:伊娃来了 作者:伊娃来了 2023-02-11 02:09 次阅读

Hello大家好,我是伊娃老师,今天介绍DIY大神KendinYap的无人机DIY。

ff978906-a96d-11ed-a826-dac502259ad0.png

很多做飞机的都是靠K大启蒙的,我们来看他用Arduino做一个无人机。

在这里我特别佩服K大的是他直接用焊接电路的PCB板加工成无人机的机身,再直接焊接需要的电路,真可以说是一举两得,省了材料也省了重量。

ffe2a260-a96d-11ed-a826-dac502259ad0.png

解说过程大家可以看看视频,一共15分钟,讲解遥控器跟无人机两部分。

视频中用到的工具跟材料,我都对应了某宝关键字找到了,大家觉得有帮助的话,就帮我多转发、关注吧,最下面也可以点喜欢作者支持我哟~

00d8c316-a96e-11ed-a826-dac502259ad0.png

011ca4e6-a96e-11ed-a826-dac502259ad0.png

015b92dc-a96e-11ed-a826-dac502259ad0.png

准备工具

焊枪+焊锡

尖嘴钳

剥线钱

台锯

台钻

笔刀

平口钳夹具

热熔胶枪+胶

双面胶

螺丝刀

胶带

遥控器制作

01b707b6-a96e-11ed-a826-dac502259ad0.png

1 xArduinoNano

2 x双轴按键传感器

1 x3档摇臂开关

1 x100uF电容

1 xNRF24L01 + PA大功率无线收发模块

1 x7.4v460Mah锂电池

1 x680R电阻

若干x5mmKT板、PCB板、2.54插座、电子连接线

// 6 Channel Transmitter | 6 Kanal Verici #include #include #include const uint64_t pipeOut = 0xE9E8F0F0E1LL; //IMPORTANT: The same as in the receiver 0xE9E8F0F0E1LL | Bu adres alıcı ile aynı olmalı RF24 radio(9, 10); // select CE,CSN pin | CE ve CSN pinlerin seçimi struct Signal { byte throttle; byte pitch; byte roll; byte yaw; byte aux1; byte aux2;}; Signal data; void ResetData() { data.throttle = 12; // Motor stop | Motor Kapalı (Signal lost position | sinyal kesildiğindeki pozisyon) data.pitch = 127; // Center | Merkez (Signal lost position | sinyal kesildiğindeki pozisyon) data.roll = 127; // Center | merkez (Signal lost position | sinyal kesildiğindeki pozisyon) data.yaw = 127; // Center | merkez (Signal lost position | sinyal kesildiğindeki pozisyon) data.aux1 = 127; // Center | merkez (Signal lost position | sinyal kesildiğindeki pozisyon) data.aux2 = 127; // Center | merkez (Signal lost position | sinyal kesildiğindeki pozisyon)} void setup(){ //Start everything up radio.begin(); radio.openWritingPipe(pipeOut); radio.setAutoAck(false); radio.setDataRate(RF24_250KBPS); radio.setPALevel(RF24_PA_HIGH); radio.stopListening(); //start the radio comunication for Transmitter | Verici olarak sinyal iletişimi başlatılıyor ResetData(); } // Joystick center and its borders | Joystick merkez ve sınırları int mapJoystickValues(int val, int lower, int middle, int upper, bool reverse){ val = constrain(val, lower, upper); if ( val < middle ) val = map(val, lower, middle, 0, 128); else val = map(val, middle, upper, 128, 255); return ( reverse ? 255 - val : val );} void loop(){ // Control Stick Calibration | Kumanda Kol Kalibrasyonları // Setting may be required for the correct values of the control levers. | :Kontrol kolların doğru değerleri için ayar gerekebilir. data.throttle = mapJoystickValues( analogRead(A0), 12, 524, 1020, true ); // "true" or "false" for signal direction | "true" veya "false" sinyal yönünü belirler data.roll = mapJoystickValues( analogRead(A3), 12, 524, 1020, true ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirler data.pitch = mapJoystickValues( analogRead(A2), 12, 524, 1020, false ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirler data.yaw = mapJoystickValues( analogRead(A1), 12, 524, 1020, false ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirler data.aux1 = mapJoystickValues( analogRead(A6), 12, 524, 1020, true ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirler data.aux2 = mapJoystickValues( analogRead(A7), 12, 524, 1020, true ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirler radio.write(&data, sizeof(Signal));}

接收器制作

02208d80-a96e-11ed-a826-dac502259ad0.png

1 xArduinoNano

1 x7.4v460Mah锂电池

1 xNRF24L01 + PA大功率无线收发模块

1 x100uF电容

若干xPCB板、2.54插座、2.54排针、电子连接线

// 6 Channel Transmitter | 6 Kanal Verici #include #include #include const uint64_t pipeOut = 0xE9E8F0F0E1LL; //IMPORTANT: The same as in the receiver 0xE9E8F0F0E1LL | Bu adres alıcı ile aynı olmalı RF24 radio(9, 10); // select CE,CSN pin | CE ve CSN pinlerin seçimi struct Signal { byte throttle; byte pitch; byte roll; byte yaw; byte aux1; byte aux2;}; Signal data; void ResetData() { data.throttle = 12; // Motor stop | Motor Kapalı (Signal lost position | sinyal kesildiğindeki pozisyon) data.pitch = 127; // Center | Merkez (Signal lost position | sinyal kesildiğindeki pozisyon) data.roll = 127; // Center | merkez (Signal lost position | sinyal kesildiğindeki pozisyon) data.yaw = 127; // Center | merkez (Signal lost position | sinyal kesildiğindeki pozisyon) data.aux1 = 127; // Center | merkez (Signal lost position | sinyal kesildiğindeki pozisyon) data.aux2 = 127; // Center | merkez (Signal lost position | sinyal kesildiğindeki pozisyon)} void setup(){ //Start everything up radio.begin(); radio.openWritingPipe(pipeOut); radio.setAutoAck(false); radio.setDataRate(RF24_250KBPS); radio.setPALevel(RF24_PA_HIGH); radio.stopListening(); //start the radio comunication for Transmitter | Verici olarak sinyal iletişimi başlatılıyor ResetData(); } // Joystick center and its borders | Joystick merkez ve sınırları int mapJoystickValues(int val, int lower, int middle, int upper, bool reverse){ val = constrain(val, lower, upper); if ( val < middle ) val = map(val, lower, middle, 0, 128); else val = map(val, middle, upper, 128, 255); return ( reverse ? 255 - val : val );} void loop(){ // Control Stick Calibration | Kumanda Kol Kalibrasyonları // Setting may be required for the correct values of the control levers. | :Kontrol kolların doğru değerleri için ayar gerekebilir. data.throttle = mapJoystickValues( analogRead(A0), 12, 524, 1020, true ); // "true" or "false" for signal direction | "true" veya "false" sinyal yönünü belirler data.roll = mapJoystickValues( analogRead(A3), 12, 524, 1020, true ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirler data.pitch = mapJoystickValues( analogRead(A2), 12, 524, 1020, false ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirler data.yaw = mapJoystickValues( analogRead(A1), 12, 524, 1020, false ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirler data.aux1 = mapJoystickValues( analogRead(A6), 12, 524, 1020, true ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirler data.aux2 = mapJoystickValues( analogRead(A7), 12, 524, 1020, true ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirler radio.write(&data, sizeof(Signal));}

无人机制作

02521ef4-a96e-11ed-a826-dac502259ad0.png

02bcb58e-a96e-11ed-a826-dac502259ad0.png

0315be04-a96e-11ed-a826-dac502259ad0.png

1 xKK2.15飞控

4 x1806 2380KV无刷电机

4 x4045螺旋桨

4 x12A电子调速器

6 x塑料六角隔离柱

若干x5mmKT板、PCB板、M3螺丝、M3垫片、M3螺母、2mm电线对接头、热缩管、JST母头插座、电子连接线、T型插头

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 无人机
    +关注

    关注

    228

    文章

    10335

    浏览量

    179573
  • Arduino
    +关注

    关注

    187

    文章

    6463

    浏览量

    186621
收藏 人收藏

    评论

    相关推荐

    制作一个无人机的教程

    本文要介绍的是一个自己就能制作的DIY无人机
    发表于 07-22 17:06 1.3w次阅读
    制作一个<b class='flag-5'>四</b><b class='flag-5'>轴</b><b class='flag-5'>无人机</b>的教程

    【我的无人机起飞了】这样学习无人机,我才真的彻底懂了

    推荐课程:张飞旋翼飞行器视频套件,76小时吃透算法http://t.elecfans.com/topic/40.html?elecfans_trackid=bbs_post首先上个实物图
    发表于 11-19 23:36

    stm32无人机资料

    stm32无人机资料
    发表于 06-09 23:02

    stm32无人机遥控器资料

    stm32无人机遥控器资料
    发表于 06-09 23:16

    基于STM32的无人机的姿态解算与控制系统设计

    基于STM32的无人机的姿态解算与控制系统设计
    发表于 08-06 20:33

    无人机设计

    毕设无人机考研结束了,不出意外考的很差,老师在考试之前就说过我有些浮躁,我现在有点怀疑自己的能力了,等二战吧,毕业论文开始了。这次采用的是匿名科创的拓空者飞控,stm32f407主控板,其实我
    发表于 07-19 08:05

    无人机设计个空心杯电机

    Author:家有仙妻谢掌柜Date:2021/2/18今年会更新一个系列,小无人机从原理图设计→PCBLayout→焊接PCB→程序代码的编写→整机调试一系列,以此记录自己的成长历程!这个小
    发表于 09-13 06:03

    crazepony开源开源无人机

    实体无人机买来了,提供了官方的网址。crazepony开源开源无人机的项目的网址为:开源
    发表于 09-13 07:51

    如何设计出一个利用PPM控制无人机动作的无人机

    如何设计出一个利用PPM控制无人机动作的无人机
    发表于 09-23 06:47

    如何实现大无人机的飞控设计

    Author:家有仙妻谢掌柜Date:2021/2/18今年会更新一个系列,小无人机从功能设计→思维导图→原理图设计→PCBLayout→焊接PCB→程序代码的编写→整机调试一系列,以此记录自己
    发表于 11-11 09:11

    如何DIY风靡一时的无人机

    如何DIY风靡一时的无人机
    发表于 12-20 06:03

    电子陀螺仪怎么工作的?怎么使无人机平衡的 ?

    陀螺仪怎么工作的,怎么使无人机平衡的
    发表于 11-10 07:27

    飞控无人机的遥控器程序源码免费下载

    本文档的主要内容详细介绍的是设计飞控无人机的遥控器程序源码免费下载。
    发表于 03-06 08:00 23次下载

    F450无人机供电

    F450无人机供电
    发表于 02-10 09:28 13次下载

    目前速度最快的无人机亮相

    无人机大家都见过或玩过,但你见过速度超快的无人机吗?话不多说,上动图! 是不是速度超快?
    的头像 发表于 04-07 10:08 4969次阅读
    目前速度最快的<b class='flag-5'>四</b><b class='flag-5'>轴</b><b class='flag-5'>无人机</b>亮相