สารบัญ:

การสร้างเครื่องบิน Rc ด้วย Arduino 2 ตัว: 5 ขั้นตอน
การสร้างเครื่องบิน Rc ด้วย Arduino 2 ตัว: 5 ขั้นตอน

วีดีโอ: การสร้างเครื่องบิน Rc ด้วย Arduino 2 ตัว: 5 ขั้นตอน

วีดีโอ: การสร้างเครื่องบิน Rc ด้วย Arduino 2 ตัว: 5 ขั้นตอน
วีดีโอ: Diy Rc Plane สอนทำเครื่องบินบังคับวิทยุ วิธีทำสีเครื่องบินบังคับวิทยุด้วยสติ้กเกอร์ให้สวยและติดแน่น 2024, พฤศจิกายน
Anonim
การสร้างเครื่องบิน Rc ด้วย Arduino 2 ตัว
การสร้างเครื่องบิน Rc ด้วย Arduino 2 ตัว

การสร้างเครื่องบินเป็นความท้าทายที่สนุก มันจะท้าทายเป็นพิเศษเมื่อคุณใช้ Arduino's แทน af ตัวควบคุมและตัวรับที่สร้างไว้ล่วงหน้า

ในบทช่วยสอนนี้ฉันจะแสดงให้คุณเห็นว่าฉันทำเครื่องบินควบคุมด้วยวิทยุด้วย Arduino สองตัวได้อย่างไร

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

คุณจะต้องการ:

- มอเตอร์ไร้แปรงถ่าน

- ESC สำหรับมอเตอร์

- 2 เซอร์โว

- 1 arduino uno

- Arduino นาโน 1 ตัว

- ใบพัด

- 2 โมดูล nrf24l01

- ตัวเก็บประจุ 10uf 2 ตัว

- โฟมบอร์ด

- โพเทนชิออมิเตอร์

- โมดูลจอยสติ๊ก

- แบตเตอรี่ niMH ขนาด 3 แอมป์ 7.2 โวลต์

ขั้นตอนที่ 2: การควบคุมวิทยุ

การควบคุมวิทยุ
การควบคุมวิทยุ
การควบคุมวิทยุ
การควบคุมวิทยุ

ฉันใช้ nrf24l01 เพื่อควบคุมเครื่องบิน โมดูลนี้มีระยะทาง 1 กม. คุณสามารถดูวิธีเชื่อมต่อ nrf24l01 ในรูปแบบที่แสดงด้านบน คุณต้องประสานตัวเก็บประจุระหว่างกราวด์กับ 3.3 โวลต์เพื่อให้เกิดแรงดันไฟฟ้าตก

ขั้นตอนต่อไปคือการรับข้อมูลจากคอนโทรลเลอร์ของคุณ ฉันใช้จอยสติ๊กสำหรับการควบคุมหางเสือและลิฟต์ และโพเทนชิออมิเตอร์สำหรับการควบคุมมอเตอร์ คุณต้องเชื่อมต่อโพเทนชิออมิเตอร์กับพิน A0 ฉันเชื่อมต่อจอยสติ๊กกับพิน A1 และ A2

ตอนนี้เราต้องสร้างเครื่องรับ ฉันใช้ Arduino nano สำหรับตัวรับเพราะมันเล็กกว่า คุณต้องเชื่อมต่อ nrf24l01 กับ adruino นี้ด้วย หลังจากนั้นคุณต้องเชื่อมต่อเซอร์โวและ esc (ตัวควบคุมความเร็วอิเล็กทรอนิกส์สำหรับมอเตอร์) กับ Arduino ฉันเชื่อมต่อกับเซอร์โวเพื่อพิน D4 และ D5 ส่วน esc เชื่อมต่อกับพิน D9

นี่คือรหัสที่ฉันใช้สำหรับเครื่องส่งสัญญาณ:

#รวม #รวม #รวม

วิทยุ RF24(7, 8);

ที่อยู่ไบต์ const[6] = "00001";

การตั้งค่าเป็นโมฆะ () {

radio.begin(); radio.openWritingPipe (ที่อยู่); radio.setPALevel(RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.stopListening(); Serial.begin(9600); }

วงเป็นโมฆะ () {

int s = analogRead(0); int x = analogRead(1); int y = analogRead(2); สตริง str = สตริง (s); str += '|' + สตริง (x) + '|' + สตริง (y); Serial.println(str); ข้อความถ่าน const[20]; str.toCharArray(ข้อความ 20); Serial.println (ข้อความ); radio.write(&ข้อความ, sizeof(ข้อความ)); ล่าช้า(10);

}

และนี่คือรหัสสำหรับผู้รับ:

#รวม #รวม #รวม #รวม

เซอร์โวเอสซี;

เซอร์โว sx; เซอร์โวซี; วิทยุ RF24(7, 8);

ที่อยู่ไบต์ const[6] = "00001";

การตั้งค่าเป็นโมฆะ () {

// ใส่รหัสการตั้งค่าของคุณที่นี่ เพื่อเรียกใช้ครั้งเดียว: radio.begin(); radio.openReadingPipe(0, ที่อยู่); radio.setPALevel(RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc.attach(9); sx.แนบ(4); sy.attach(5); esc.writeไมโครวินาที(1000); //เริ่มต้นสัญญาณเป็น 1000 radio.startListening(); Serial.begin(9600); }

วงเป็นโมฆะ () {

ข้อความถ่าน [32] = ""; if (radio.available ()) { radio.read (&ข้อความ, sizeof (ข้อความ)); สตริง transData = สตริง (ข้อความ); //Serial.println(getValue(transData, '|', 1));

int s = getValue(transData, '|', 0).toInt();

s= แผนที่(s, 0, 1023, 1000, 2000); //การจับคู่ค่าต่ำสุดและสูงสุด(เปลี่ยนถ้าจำเป็น) Serial.println(transData); esc.writeไมโครวินาที; // ใช้ val เป็นสัญญาณในการ esc int sxVal = getValue(transData, '|', 1).toInt(); int syVal = getValue(ทรานส์ดาต้า, '|', 2).toInt();

sx.write(แผนที่(sxVal, 0, 1023, 0, 180));

sy.write(แผนที่(syVal, 0, 1023, 0, 180));

}

}

สตริง getValue (ข้อมูลสตริง ตัวคั่นอักขระ ดัชนี int)

{ พบ int = 0; int strIndex = {0, -1}; int maxIndex = data.length()-1;

สำหรับ (int i=0; i<=maxIndex && found<=index; i++){ if(data.charAt(i)==separator || i==maxIndex){ found++; strIndex[0] = strIndex[1]+1; strIndex[1] = (i == maxIndex) ? i+1: ผม; } }

กลับพบ>ดัชนี ? data.substring(strIndex[0], strIndex[1]): "";

}

ขั้นตอนที่ 3: Fusualage และ Stabalizers

Fusualage และ Stabalizers
Fusualage และ Stabalizers

เมื่อคุณได้ติดตั้งอุปกรณ์อิเล็กทรอนิกส์แล้ว คุณต้องมีเครื่องบินเพื่อใส่อุปกรณ์อิเล็กทรอนิกส์ ฉันใช้แผ่นโฟมเพราะมันเบาและค่อนข้างแข็งแรง Fusualge เป็นเพียงรูปสี่เหลี่ยมผืนผ้าที่บางลงที่หาง Fusualge ไม่ได้มีความสำคัญสำหรับแอโรไดนามิกทั้งหมด สิ่งที่สำคัญที่สุดคือทุกอย่างจะพอดีในขณะที่ยังทำให้มันเล็กและเบาที่สุด

ตัวกันโคลงแนวนอนและแนวตั้งนั้นทำไม่ง่าย สิ่งสำคัญเพียงอย่างเดียวคือสเตลไลเซอร์ของคุณเป็นแบบตรง ตัวกันโคลงมีหน้าที่รักษาระนาบให้คงที่ เมื่อสเตลไลเซอร์ของคุณไม่ตรง เครื่องบินของคุณจะไม่เสถียร

ขั้นตอนที่ 4: ปีก

ปีก
ปีก

ปีกอาจเป็นสิ่งที่สำคัญที่สุด คุณต้องสร้าง airfoil เพื่อสร้างแรงยก ในภาพด้านบน คุณสามารถดูว่าฉันทำ airfoil ได้อย่างไร

สิ่งที่สำคัญที่สุดคือจุดศูนย์ถ่วงของเครื่องบินอยู่ที่จุดที่สูงที่สุดของ airfoil ด้วยวิธีนี้เครื่องบินจะมีเสถียรภาพ

ขั้นตอนที่ 5: นำทุกอย่างมารวมกัน

นำทุกอย่างมารวมกัน
นำทุกอย่างมารวมกัน
นำทุกอย่างมารวมกัน
นำทุกอย่างมารวมกัน
นำทุกอย่างมารวมกัน
นำทุกอย่างมารวมกัน

เมื่อได้ครบทุกส่วนแล้ว ก็ต้องเอามาประกอบกัน

จำเป็นต้องเชื่อมต่อเซอร์โวกับสเตลไลเซอร์ สามารถทำได้ด้วยแท่งควบคุม (ดูภาพด้านบน)

ต้องวางมอเตอร์ไว้บนแผ่นโฟมและติดกาวที่ด้านหน้าเครื่องบิน (หรือใช้แถบยางยืดเพื่อถอดออกเมื่อจำเป็น)

คุณต้องมีใบพัดเพื่อใส่มอเตอร์ ขนาดของใบพัดนี้ขึ้นอยู่กับมอเตอร์ การคำนวณขนาดที่เหมาะสมนั้นซับซ้อนมาก แต่กฎทั่วไปคือ ยิ่งมอเตอร์แข็งแกร่ง ใบพัดก็ยิ่งใหญ่ขึ้นเท่านั้น

สำหรับแบตเตอรี่แนะนำให้ใช้แบตเตอรี่ lipo อย่างไรก็ตาม แบตเตอรี่เหล่านี้ต้องใช้ที่ชาร์จพิเศษหากคุณไม่ต้องการให้ระเบิด นั่นคือเหตุผลที่ฉันใช้แบตเตอรี่นิมห์ ซึ่งหนักกว่าแต่ง่ายกว่าและถูกกว่าในการใช้งาน

แนะนำ: