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

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

3天内不再提示

100元用Arduino做一个RC遥控飞机

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

视频时间

1.遥控器与飞机的电子设计与编程:0:45

2.飞机主体的搭建制作:4:50

制作需要准备

2 x Arduino Nano

1 x NRF24L01 + PA 无线收发模块

1 x NRF24L01 无线收发模块

2 x Arduino joystick

2 x 100uF 电容 (16V 以上)

1 x 13 * 6 cm PCB 电木板

1 x 5 * 3.5 cm PCB 电木板

3 x SG90 舵机

1 x 20A ESC 电子调速器

2 x 7.4V 450Mah 2S 锂电池

1 x DC 180 Motor 39000 RPM 电机+螺旋桨

5mmKT板/泡沫板/雪弗板

舵机夹头、金属调节器、1mm铁丝

视频内容

今天就给大家分享一个油管上KendinYap,K大的Arduino的低成本无线遥控飞机,总共材料费用是在100元左右。

061f097a-a96e-11ed-a826-dac502259ad0.png

除了遥控飞机,今天介绍的制作方式也可以应用在制作无人机、遥控车、遥控船这类东西,解说分成遥控器跟飞机两部分。

066062ee-a96e-11ed-a826-dac502259ad0.png

遥控器能够控制3个舵机跟1个直流电机,这里的控制主板选用的是Arduino Nano,应该是为了降低成本,因为遥控器本身需要连接的电子元件并不多,控制飞机用了两个Joystick摇杆、一个NRF24L01PA的大功率无线收发模块、一个100微法的电容、1个7.4V的锂电池。

06a36d14-a96e-11ed-a826-dac502259ad0.png

077903f2-a96e-11ed-a826-dac502259ad0.png

飞机上使用的一样是Arduino Nano,3个SG90舵机、1个39000转的直流电机、100微法的电容、一个30A双向有刷电调,1个NRF24L01无线收发模块,一个7.4V锂电池。

07a751a8-a96e-11ed-a826-dac502259ad0.png

07da97d4-a96e-11ed-a826-dac502259ad0.png

机身的尺寸是45.3厘米,属于偏迷你大小的飞机,这里制作采用的是泡沫板/PVC板/雪弗板/KT板,使用热熔胶枪粘合。

083ff778-a96e-11ed-a826-dac502259ad0.png

连杆机构使用了舵机夹头跟金属调节器。

0896d160-a96e-11ed-a826-dac502259ad0.png

08dff93a-a96e-11ed-a826-dac502259ad0.png

遥控器电路图

0922fcd0-a96e-11ed-a826-dac502259ad0.jpg

遥控器Arduino代码

// 4 Channel Transmitter | 4 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(7, 8); // select CE,CSN pin | CE ve CSN pinlerin seçimi struct Signal {byte throttle;byte pitch;byte roll;byte yaw;}; Signal data; void ResetData(){data.throttle = 127; // Motor Stop (254/2=127)| 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)} void setup(){//Start everything up radio.begin();radio.openWritingPipe(pipeOut);radio.stopListening(); //start the radio comunication for Transmitter | Verici olarak sinyal iletişimi başlatılıyorResetData();} // 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);elseval = 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. | Kolların doğru değerleri için ayar gerekebilir. data.throttle = mapJoystickValues( analogRead(A0), 524, 524, 1015, true );data.roll = mapJoystickValues( analogRead(A1), 12, 524, 1020, true ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirlerdata.pitch = mapJoystickValues( analogRead(A2), 12, 524, 1020, true ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirlerdata.yaw = mapJoystickValues( analogRead(A3), 12, 524, 1020, true ); // "true" or "false" for servo direction | "true" veya "false" servo yönünü belirler radio.write(&data, sizeof(Signal));}‍

飞机上的电路主板也是用Arduino Nano,3个SG90舵机、1个39000转的直流电机、100微法的电容、一个30A双向有刷电调,1个NRF24L01无线收发模块,一个7.4V锂电池。

飞机控制电路图

0946d876-a96e-11ed-a826-dac502259ad0.jpg

飞机控制Arduino代码

// 4 Channel Receiver | 4 Kanal Alıcı// PWM output on pins D2, D3, D4, D5 (Çıkış pinleri) #include #include #include #include int ch_width_1 = 0;int ch_width_2 = 0;int ch_width_3 = 0;int ch_width_4 = 0; Servo ch1;Servo ch2;Servo ch3;Servo ch4; struct Signal {byte throttle;byte pitch;byte roll;byte yaw;}; Signal data; const uint64_t pipeIn = 0xE9E8F0F0E1LL;RF24 radio(7, 8); void ResetData(){// Define the inicial value of each data input. | Veri girişlerinin başlangıç değerleri// The middle position for Potenciometers. (254/2=127) | Potansiyometreler için orta konumdata.throttle = 127; // Motor Stop | Motor Kapalıdata.pitch = 127; // Center | Merkezdata.roll = 127; // Center | Merkezdata.yaw = 127; // Center | Merkez} void setup(){ //Set the pins for each PWM signal | Her bir PWM sinyal için pinler belirleniyor. ch1.attach(2); ch2.attach(3); ch3.attach(4); ch4.attach(5); //Configure the NRF24 module ResetData(); radio.begin(); radio.openReadingPipe(1,pipeIn); radio.startListening(); //start the radio comunication for receiver | Alıcı olarak sinyal iletişimi başlatılıyor} unsigned long lastRecvTime = 0; void recvData(){while ( radio.available() ) {radio.read(&data, sizeof(Signal));lastRecvTime = millis(); // receive the data | data alınıyor}} void loop(){recvData();unsigned long now = millis();if ( now - lastRecvTime > 1000 ) {ResetData(); // Signal lost.. Reset data | Sinyal kayıpsa data resetleniyor} ch_width_1 = map(data.throttle, 0, 255, 1000, 2000); // pin D2 (PWM signal)ch_width_2 = map(data.pitch, 0, 255, 1000, 2000); // pin D3 (PWM signal)ch_width_3 = map(data.roll, 0, 255, 1000, 2000); // pin D4 (PWM signal)ch_width_4 = map(data.yaw, 0, 255, 1000, 2000); // pin D5 (PWM signal) // Write the PWM signal | PWM sinyaller çıkışlara gönderiliyorch1.writeMicroseconds(ch_width_1);ch2.writeMicroseconds(ch_width_2);ch3.writeMicroseconds(ch_width_3);ch4.writeMicroseconds(ch_width_4);}

审核编辑黄宇

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

    关注

    11

    文章

    285

    浏览量

    57357
  • RC
    RC
    +关注

    关注

    0

    文章

    226

    浏览量

    48800
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186956
收藏 人收藏

    评论

    相关推荐

    怎样遥控控制两飞机

    最近想研究下飞机模型,主要是直升机,想求教大家怎样改装遥控器可以控制两架飞机。谢谢
    发表于 01-26 14:02

    如何做一个无线遥控的小车?

    如何做一个无线遥控的小车?
    发表于 12-17 06:58

    如何做一个遥控器控制的计算器

    基于arduino uno r3/ Mega2560,做一个遥控器控制的计算器。。。。。目录. 实验材料:(ง •_•)ง...
    发表于 02-15 07:42

    基于Arduino控制器制作漂亮的遥控飞机

    描述M-控制器这张卡可以让我们控制遥控飞机。不幸的是,现在的遥控控制器非常昂贵。所以我做了
    发表于 08-23 06:59

    种基于RC5编码的按摩浴缸红外遥控器设计

    本文描述了种多功能浴缸的基于RC5 码的红外遥控器设计的方法,说明了RC5码的组成原理,主要突出了红外
    发表于 08-26 10:07 47次下载

    如何制作RC飞机

    如何制作RC飞机
    的头像 发表于 05-27 06:30 5236次阅读

    点亮LCD屏————遥控计算器 arduino

    基于arduino uno r3/ Mega2560,做一个遥控器控制的计算器。。。。。 目录
    发表于 12-16 16:47 17次下载
    点亮LCD屏————<b class='flag-5'>遥控</b>计算器 <b class='flag-5'>arduino</b>

    DIY简单的Arduino板子

    你想过简单的元件来制作Arduino板吗?或者想过根据自己的需要做一个定制开发板吗?这个项目就是向大家展示用电子元件来制作Arduino电路板。只需遵循这些步骤和说明,就可以享受这个
    的头像 发表于 04-08 15:44 5611次阅读
    DIY<b class='flag-5'>一</b><b class='flag-5'>个</b>简单的<b class='flag-5'>Arduino</b>板子

    Arduino制作遥控

    电子发烧友网站提供《Arduino制作遥控车.zip》资料免费下载
    发表于 10-19 11:36 5次下载
    <b class='flag-5'>用</b><b class='flag-5'>Arduino</b>制作<b class='flag-5'>遥控</b>车

    3行代码做一个WebServer

    电子发烧友网站提供《3行代码做一个WebServer.zip》资料免费下载
    发表于 10-28 16:52 0次下载
    <b class='flag-5'>用</b>3行代码<b class='flag-5'>做一个</b>WebServer

    LDR做一个自动夜灯

    电子发烧友网站提供《LDR做一个自动夜灯.zip》资料免费下载
    发表于 10-28 14:21 0次下载
    <b class='flag-5'>用</b>LDR<b class='flag-5'>做一个</b>自动夜灯

    通过Arduino Uno和继电器做一个蓝牙控制灭火器车

    电子发烧友网站提供《通过Arduino Uno和继电器做一个蓝牙控制灭火器车.zip》资料免费下载
    发表于 11-24 09:34 0次下载
    通过<b class='flag-5'>Arduino</b> Uno和继电器<b class='flag-5'>做一个</b>蓝牙控制灭火器车

    基于Arduino Uno的RC

    方案介绍 1. 准备工作 首先,你需要辆老式的遥控汽车。 除控制两马达的电缆外,拆除所有电子设备。 2. Arduino和 拿
    发表于 12-06 12:01 1次下载

    Arduino做一个自动割草机

    这个项目中,我们将用Arduino制作自动割草机。该机器可以自动修剪院子里长高的草。如果有障碍物,它会自动改变方向,有助于减少人力。
    的头像 发表于 07-07 14:02 1959次阅读
    <b class='flag-5'>用</b><b class='flag-5'>Arduino</b><b class='flag-5'>做一个</b>自动割草机

    Arduino做一个语音应用程序来打开和关闭警报

    电子发烧友网站提供《Arduino做一个语音应用程序来打开和关闭警报.zip》资料免费下载
    发表于 07-10 10:46 0次下载
    <b class='flag-5'>用</b><b class='flag-5'>Arduino</b><b class='flag-5'>做一个</b>语音应用程序来打开和关闭警报