CMT2300A چیست؟ (مبتدی)
چیپ CMT2300A از CMOSTEK یک تراشه RF Sub-GHz است که هم OOK (On-Off Keying — سادهترین مدولاسیون) و هم GFSK (باند کاراتر) را پشتیبانی میکند. فرکانس کاری آن از ۱۵۰ تا ۹۶۰MHz قابل تنظیم است. ماژولهای مبتنی بر این چیپ زیر ۸ دلار در AliExpress پیدا میشوند — ارزانترین گزینه برای پروژههای Sub-GHz!
CMT2300A از SPI استفاده میکند. یک کتابخانه آردوینو منتشرشده آن را بسیار ساده کرده. مصرف TX تنها ۱۸mA در ۱۰dBm است — ایدهآل برای سیستمهای باتریدار مثل تگهای UGV یا ردیاب.
محصولی که میسازید
لینک کنترل UGV با CMT2300A GFSK — ارزانترین راهحل Sub-GHz.
- هزینه TX+RX: ۲ × ۵ دلار = ۱۰ دلار
- برد: تا ۱km در ۴۳۳MHz GFSK
- Data Rate: ۱-۱۰۰ kbps قابل تنظیم
سیمبندی CMT2300A
CMT2300A → Arduino Uno
VCC → 3.3V (مهم: حداکثر 3.6V)
GND → GND
SCK → Pin 13 (SPI CLK)
MISO/FCSB → Pin 12 (SPI MISO)
MOSI → Pin 11 (SPI MOSI)
CSB → Pin 10 (Chip Select)
GPIO1 → Pin 2 (Interrupt — RX Ready)
GPIO2 → Pin 3 (TX Done)
// توجه: برای 5V Arduino، Level Shifter ضروری است
// ESP32 با 3.3V مستقیم وصل میشود
کد CMT2300A — TX/RX آردوینو
#include "CMT2300A.h" // کتابخانه https://github.com/CMT2300A
CMT2300A radio;
void setup() {
radio.begin(433.0, 9.6, CMT2300A_MODULATION_GFSK);
// آرگومانها: فرکانس MHz، data rate kbps، مدولاسیون
radio.setTxPower(10); // dBm
// تنظیم Preamble و Sync Word:
radio.setPreambleLength(3); // بایت
uint8_t sync[] = {0xAA, 0x2D, 0xD4};
radio.setSyncWord(sync, 3);
// CRC فعال:
radio.setCrcEnabled(true);
}
void loop() {
// TX:
char msg[] = "F50"; // جلو با سرعت ۵۰%
radio.transmit((uint8_t*)msg, strlen(msg));
delay(50);
// RX (در کد گیرنده):
if(radio.available()) {
uint8_t buf[10]; uint8_t len=10;
radio.receive(buf, &len);
// پردازش فرمان UGV
}
}
مقایسه ماژولهای ارزان Sub-GHz
| ماژول | قیمت | برد | مدولاسیون |
|---|---|---|---|
| FS1000A+XY-MK-5V | ۱ دلار | ۱۰۰m | OOK/ASK |
| CMT2300A ✓ | ۵ دلار | ۱km | OOK/GFSK |
| CC1101 | ۳ دلار | ۵۰۰m | GFSK/OOK |
| SX1278 LoRa | ۸ دلار | ۵km | LoRa/GFSK |