HC-12 چیست و چرا برای UAV عالی است؟ (مبتدی)
ماژول HC-12 یک ترانسیور Sub-GHz با قیمت زیر ۸ دلار است که روی چیپ Si446x از Silicon Labs ساخته شده. سادهترین استفاده آن: به TX/RX آردوینو وصل کنید و هر چیزی که روی Serial مینویسید، از طرف دیگر خوانده میشود — مثل یک کابل سریال بیسیم!
این ماژول ۱۰۰ کانال بین ۴۳۳.۴MHz تا ۴۷۳.۰MHz دارد. توان خروجی قابل تنظیم (۱ تا ۱۰۰mW) و پشتیبانی از Baud Rate 1200 تا 115200 bps. در حالت FU3 (Sleep بین پکتها) برد تا ۱.۸km دارد! همین مشخصات آن را برای تلهمتری ارزان UAV/UGV ایدهآل میکند.
محصولی که میسازید
لینک تلهمتری دوطرفه GPS برای UAV — ارسال موقعیت و دریافت دستور از GCS.
- هزینه: ۲ × ۸ دلار = ۱۶ دلار
- برد: تا ۱.۸km (حالت FU3)
- راهاندازی: فقط ۳ پین — TX، RX، SET
تنظیم HC-12 با AT Commands
// تنظیم HC-12 از طریق پین SET:
// SET → LOW (GND) = Config Mode
// SET → HIGH (3.3V/float) = Normal Mode
// نمونه کد تنظیم:
void hc12Config() {
digitalWrite(SET_PIN, LOW); // ورود به Config Mode
delay(100);
Serial.println("AT"); // → OK
Serial.println("AT+B9600"); // Baud Rate = 9600
Serial.println("AT+C001"); // Channel 1 = 433.4MHz
Serial.println("AT+P8"); // قدرت = 100mW
Serial.println("AT+FU3"); // حالت FU3 = بیشترین برد
delay(200);
digitalWrite(SET_PIN, HIGH); // برگشت به Normal
}
// Channelها:
// AT+C001 = 433.4MHz
// AT+C040 = 437.4MHz
// AT+C100 = 473.0MHz
// Baud Rates: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
کد ارسال GPS از UAV
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
SoftwareSerial gpsSerial(4,5); // GPS RX/TX
SoftwareSerial hc12(2,3); // HC-12 RX/TX
TinyGPSPlus gps;
void setup() {
gpsSerial.begin(9600);
hc12.begin(9600);
}
void loop() {
while(gpsSerial.available()) gps.encode(gpsSerial.read());
if(gps.location.isValid() && gps.location.age() < 1000) {
String pkt = "G," +
String(gps.location.lat(),6) + "," +
String(gps.location.lng(),6) + "," +
String(gps.altitude.meters(),1) + "," +
String(gps.satellites.value()) + "," +
String(analogRead(A0)*4.7/1023.0*3.0, 1); // ولتاژ
hc12.println(pkt);
}
delay(2000); // هر ۲ ثانیه
}
چکلیست و مقایسه حالتهای FU
| حالت | تأخیر | برد | مناسب |
|---|---|---|---|
| FU1 (Power Save) | ~۱۵ms | متوسط | IoT کمبرق |
| FU2 (Balanced) | ۳ms | متوسط | کنترل سریع |
| FU3 (Long Range) | ~۱۵ms | ۱.۸km ✓ | تلهمتری UAV |
| FU4 (High Speed) | ~۱ms | کم | داده زیاد کوتاه |