Alpha V1: รีโมทคอนโทรลพื้นฐานแบบโอเพนซอร์สสำหรับ Arduino
คำสั่ง RF แม่นยำ: รีโมท Arduino แบบโอเพนซอร์ส
การซื้อรีโมท RC เชิงพาณิชย์ราคา 200 ดอลลาร์ ทำให้ผู้พัฒนาไม่สามารถเข้าถึงเฟิร์มแวร์หลักได้อย่างสมบูรณ์! คุณไม่สามารถเพิ่มปุ่ม Autopilot แบบกำหนดเองได้จริง ๆ Alpha V1 Remote ทำลายข้อจำกัดนี้โดยสิ้นเชิง! ด้วยการสร้างคอนโทรลเลอร์ตั้งแต่ต้นโดยใช้ Arduino Nano และ NRF24L01 2.4GHz Transceiver อันทรงพลังอย่างน่าทึ่ง คุณจะครอบครองสถาปัตยกรรมวิทยุทั้งหมด! ระบบจะสแกนจอยสติ๊กอนาล็อกจริงที่ซับซ้อนสองอันและสวิตช์ยุทธวิธี 6 อัน บรรจุข้อมูลเหล่านั้นอย่างเต็มที่ลงใน struct ขนาด 32 ไบต์ที่หนาแน่นอย่างไม่น่าเชื่อ และส่งสัญญาณข้ามอากาศเปิด 1,000 เมตรไปยังหุ่นยนต์, โดรน หรือตัวรับสัญญาณ RC car ของคุณโดยตรงด้วยความเร็ว 2 Megabits per second!

การจัดโครงสร้าง Payload สำหรับการส่งสัญญาณวิทยุ (struct)
คุณไม่สามารถส่งข้อมูล "ซ้าย" และ "ขึ้น" อย่างไม่ใส่ใจผ่าน Serial strings ("X128 Y255") ได้ สิ่งนี้จะทำให้โดรนของคุณเกิดอาการ lag อย่างรุนแรง ทำให้เกิดการชนที่หายนะ!
- วิทยุ NRF24 ใช้ Payload Packets ดั้งเดิมที่ชัดเจน
structทำหน้าที่ทางคณิตศาสตร์เหมือนกระเป๋าเป้ที่หนาแน่นอย่างเหลือเชื่อ คุณอัดตัวเลขintegerของX,Y,ThrottleและYawเข้าไปในstructโดยตรง- ไลบรารี
<RF24.h>จะนำกระเป๋าเป้ขนาด 16 ไบต์ทั้งหมดนั้น และส่งมันผ่านคลื่นวิทยุ 2.4GHz เป็นบล็อกข้อมูลไบนารีบริสุทธิ์ต่อเนื่องกันเพียงบล็อกเดียว!
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10); // Elite CE, CSN SPI mapping!
const byte address[6] = "00001"; // NRF24 Transmit Pipe!
// The incredibly dense, lag-free Data Payload!
struct DataPacket {
byte joyLeftX;
byte joyLeftY;
byte joyRightX;
byte joyRightY;
byte auxButtonA;
};
DataPacket remoteData; // Instantiate the payload object!
void loop() {
remoteData.joyLeftY = map(analogRead(A0), 0, 1023, 0, 255); // Read Joystick natively!
remoteData.joyRightY = map(analogRead(A2), 0, 1023, 0, 255);
// Blast the entire struct over the RF gap essentially instantaneously!
radio.write(&remoteData, sizeof(DataPacket));
}
ปัญหาการจ่ายไฟ 3.3V ในอุปกรณ์ NRF24
ความล้มเหลวที่ร้ายแรงที่สุดที่พบบ่อยที่สุดของ NRF24L01 คือการขาดแคลนพลังงาน
- ชิปต้องการ 3.3 Volts หากคุณเชื่อมต่อเข้ากับขา 3.3V ที่มีการใช้งานหนักเกินไปของ Arduino Uno วิทยุจะติดขัด, รีเซ็ต หรือส่ง
packetsหายไปโดยไม่ส่งเสียง ทำให้โดรนถูกทำลายโดยสิ้นเชิง! - คุณต้องใช้ 3.3V AMS1117 Linear Voltage Regulator Module โดยเฉพาะ หรือต่อ Electrolytic Capacitor ขนาด
10µFหรือ100µFเข้าไปที่ขาVCC/GNDของ NRF24 โดยตรงเพื่อทำหน้าที่เป็นบัฟเฟอร์ทางกายภาพเพื่อป้องกันกระแสไฟฟ้าที่พุ่งสูงขึ้นอย่างรุนแรงในการส่งสัญญาณ!
ชิ้นส่วนสำหรับประกอบตัวควบคุม
- Arduino Nano (อินเทอร์เฟซ USB ของมันช่วยให้สามารถเปลี่ยนแปลงเฟิร์มแวร์ได้อย่างรวดเร็วในสถานที่ โดยไม่ต้องถอดประกอบตัวเครื่อง)
- NRF24L01+PA+LNA Transceiver (เวอร์ชัน PA+LNA มีเสาอากาศภายนอกสีดำขนาดใหญ่ที่ขยายระยะจาก 100 เมตรเป็นกว่า 1000 เมตรได้อย่างสมบูรณ์!)
- Dual Analog Thumbstick Modules (หน่วยความแม่นยำแบบสัมผัส 10K-Ohm สไตล์ PS2 มาตรฐาน)
- Multiple SPDT Toggle Switches (สำหรับลำดับมาโครที่ซับซ้อน เช่น Flaps, Gear หรือการเปลี่ยนโหมดอัตโนมัติ)
- 1x 18650 Li-Po Battery & TP4056 Charger Module (เมทริกซ์ PCB/Breadboard แบบกำหนดเองที่ยอดเยี่ยม เพื่อควบคุมความต้องการพลังงานที่เข้มข้นในพื้นที่)