ELRS چیست و چرا انقلابی است؟ (مبتدی)
ELRS (ExpressLRS) یک سیستم RC متنباز است که روی ESP32/ESP8266 اجرا میشود. برخلاف سیستمهای RC تجاری که ۵۰۰ تا ۱۰۰۰ دلار هزینه دارند، ELRS با ماژولهای EP1/EP2 در باند 2.4GHz و ماژولهای 900MHz با هزینه ۲۰-۳۰ دلار برد تا ۳۰ کیلومتر دارد!
ELRS از پروتکل CRSF استفاده میکند — یک پروتکل سریال دوطرفه که تلهمتری و کانالهای RC را با هم ارسال میکند. این پروتکل توسط Betaflight، iNAV، و ArduPilot به طور مستقیم پشتیبانی میشود. با یک کتابخانه CRSF ساده، آردوینو هم میتواند این سیگنالها را دریافت کند.
محصولی که میسازید
یک گیرنده ELRS DIY با آردوینو که CRSF را به PWM سرو تبدیل میکند.
- هزینه TX: EP1/EP2 = ۲۰ دلار
- هزینه RX: EP82 = ۱۰ دلار
- برد 2.4GHz: ۲-۵km در فضای باز
فلش ELRS با Web Flasher
// روش آسان: Web Flasher در مرورگر Chrome
// ۱. به https://expresslrs.github.io/Flasher بروید
// ۲. دستگاه را در حالت Bootloader وصل کنید
// ۳. Device Category: هواپیمای شما را انتخاب کنید
// ۴. نسخه ELRS را انتخاب کنید (آخرین stable)
// ۵. Binding Phrase را وارد کنید (رمز اتصال TX/RX)
// مثال: "my-rov-2024"
// ۶. Flash کنید!
// Binding Phrase مهم است:
// TX و RX باید دقیقاً یک Phrase داشته باشند
// قبل از فلش کردن RX همان Phrase را وارد کنید
دریافت CRSF با آردوینو
#include <CrsfSerial.h>
CrsfSerial crsf(Serial1, BAUD_RATE); // 420000 baud
void onChannelChange() {
int ch1 = crsf.getChannel(1); // Roll: 988-2012
int ch2 = crsf.getChannel(2); // Pitch
int ch3 = crsf.getChannel(3); // Throttle
int ch4 = crsf.getChannel(4); // Yaw
int ch5 = crsf.getChannel(5); // AUX1
Serial.printf("R:%d P:%d T:%d Y:%d\n",ch1,ch2,ch3,ch4);
}
void setup() {
Serial.begin(115200);
Serial1.begin(420000, SERIAL_8N1, RX_PIN, TX_PIN);
crsf.onPacketChannels = &onChannelChange;
}
void loop() { crsf.loop(); }
چکلیست Binding و تست
| مرحله | توضیح |
|---|---|
| TX و RX یک Binding Phrase دارند؟ | ☐ قبل از فلش |
| LED سبز روی RX؟ | ☐ اتصال موفق |
| کانالها در Serial Monitor تغییر میکنند؟ | ☐ |
| Failsafe در قطع اتصال فعال میشود؟ | ☐ |