สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
- ขั้นตอนที่ 2: การควบคุมวิทยุ
- ขั้นตอนที่ 3: Fusualage และ Stabalizers
- ขั้นตอนที่ 4: ปีก
- ขั้นตอนที่ 5: นำทุกอย่างมารวมกัน
วีดีโอ: การสร้างเครื่องบิน Rc ด้วย Arduino 2 ตัว: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
การสร้างเครื่องบินเป็นความท้าทายที่สนุก มันจะท้าทายเป็นพิเศษเมื่อคุณใช้ 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
เมื่อคุณได้ติดตั้งอุปกรณ์อิเล็กทรอนิกส์แล้ว คุณต้องมีเครื่องบินเพื่อใส่อุปกรณ์อิเล็กทรอนิกส์ ฉันใช้แผ่นโฟมเพราะมันเบาและค่อนข้างแข็งแรง Fusualge เป็นเพียงรูปสี่เหลี่ยมผืนผ้าที่บางลงที่หาง Fusualge ไม่ได้มีความสำคัญสำหรับแอโรไดนามิกทั้งหมด สิ่งที่สำคัญที่สุดคือทุกอย่างจะพอดีในขณะที่ยังทำให้มันเล็กและเบาที่สุด
ตัวกันโคลงแนวนอนและแนวตั้งนั้นทำไม่ง่าย สิ่งสำคัญเพียงอย่างเดียวคือสเตลไลเซอร์ของคุณเป็นแบบตรง ตัวกันโคลงมีหน้าที่รักษาระนาบให้คงที่ เมื่อสเตลไลเซอร์ของคุณไม่ตรง เครื่องบินของคุณจะไม่เสถียร
ขั้นตอนที่ 4: ปีก
ปีกอาจเป็นสิ่งที่สำคัญที่สุด คุณต้องสร้าง airfoil เพื่อสร้างแรงยก ในภาพด้านบน คุณสามารถดูว่าฉันทำ airfoil ได้อย่างไร
สิ่งที่สำคัญที่สุดคือจุดศูนย์ถ่วงของเครื่องบินอยู่ที่จุดที่สูงที่สุดของ airfoil ด้วยวิธีนี้เครื่องบินจะมีเสถียรภาพ
ขั้นตอนที่ 5: นำทุกอย่างมารวมกัน
เมื่อได้ครบทุกส่วนแล้ว ก็ต้องเอามาประกอบกัน
จำเป็นต้องเชื่อมต่อเซอร์โวกับสเตลไลเซอร์ สามารถทำได้ด้วยแท่งควบคุม (ดูภาพด้านบน)
ต้องวางมอเตอร์ไว้บนแผ่นโฟมและติดกาวที่ด้านหน้าเครื่องบิน (หรือใช้แถบยางยืดเพื่อถอดออกเมื่อจำเป็น)
คุณต้องมีใบพัดเพื่อใส่มอเตอร์ ขนาดของใบพัดนี้ขึ้นอยู่กับมอเตอร์ การคำนวณขนาดที่เหมาะสมนั้นซับซ้อนมาก แต่กฎทั่วไปคือ ยิ่งมอเตอร์แข็งแกร่ง ใบพัดก็ยิ่งใหญ่ขึ้นเท่านั้น
สำหรับแบตเตอรี่แนะนำให้ใช้แบตเตอรี่ lipo อย่างไรก็ตาม แบตเตอรี่เหล่านี้ต้องใช้ที่ชาร์จพิเศษหากคุณไม่ต้องการให้ระเบิด นั่นคือเหตุผลที่ฉันใช้แบตเตอรี่นิมห์ ซึ่งหนักกว่าแต่ง่ายกว่าและถูกกว่าในการใช้งาน
แนะนำ:
พรีแอมป์ไมโครโฟนมิกเซอร์ 4 ตัว: 6 ขั้นตอน (พร้อมรูปภาพ)
4 Microphones Mixer Preamplifier: เมื่อก่อนฉันถูกขอให้แก้ปัญหาต่อไปนี้: คณะนักร้องประสานเสียงขนาดเล็กเล่นไมโครโฟนคงที่จำนวนสี่ตัว สัญญาณเสียงจากไมโครโฟนทั้งสี่นี้จะต้องได้รับการขยาย ผสม และสัญญาณที่ได้จะต้องนำไปใช้กับพลังเสียงและ
ไฟ LED กะพริบโดยใช้ตัวจับเวลาและโพเทนชิโอมิเตอร์ 555 ตัว: 4 ขั้นตอน
LED เต้นเป็นจังหวะโดยใช้ตัวจับเวลาและโพเทนชิโอมิเตอร์ 555 ตัว: สวัสดี! ในคำแนะนำนี้ เราจะแสดงวิธีสร้างวงจร LED Dimmer ที่ทำงานบนลูปตั้งเวลาแบบปรับได้โดยใช้โพเทนชิออมิเตอร์ ตัวจับเวลา 555 และส่วนประกอบวงจรพื้นฐานอื่นๆ เราได้รับแนวคิดสำหรับโครงการนี้ครั้งแรกจาก
แล็ปท็อปราคาประหยัด: ตัวเลือกโรงไฟฟ้าราคาประหยัด (ไดรฟ์ภายใน 2 ตัว ใช้ Lenovo): 3 ขั้นตอน
แล็ปท็อปราคาประหยัด: ตัวเลือกโรงไฟฟ้าราคาประหยัด (ไดรฟ์ภายในสองตัว, ใช้ Lenovo): คำแนะนำนี้จะเน้นที่การกำหนดค่าที่อัปเดตสำหรับแล็ปท็อป Lenovo T540p เป็นเครื่องไดรเวอร์รายวันสำหรับการท่องเว็บ การประมวลผลคำ การเล่นเกมเบา ๆ และเสียง . มันถูกกำหนดค่าด้วยโซลิดสเตตและที่เก็บข้อมูลเชิงกลสำหรับความเร็วและความจุ
DIY Logging Thermometer พร้อมเซ็นเซอร์ 2 ตัว: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY Logging Thermometer พร้อมเซ็นเซอร์ 2 ตัว: โครงการนี้เป็นการปรับปรุงโครงการก่อนหน้านี้ของฉัน "DIY Logging Thermometer" โดยจะบันทึกการวัดอุณหภูมิลงในการ์ด micro SD การเปลี่ยนแปลงฮาร์ดแวร์ฉันได้เพิ่มเซ็นเซอร์อุณหภูมิ DS18B20 ลงในโมดูลนาฬิกาแบบเรียลไทม์ โดยจะมีปร
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: 9 ขั้นตอน
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: ในรูปแรก เรามี Arduino และเรียกว่า "Arduino Uno"ในรูปที่สอง เรามี Arducam และเรียกว่า "Arducam OV2640 มินิ 2MP"พร้อมกับภาพที่สอง มีวัสดุที่คุณต้อง