Mạch thu phát RF Lora SX1278 433Mhz Ra-02 sử dụng chip SX1278 của nhà sản xuất SEMTECH chuẩn giao tiếp LORA (Long Range), chuẩn LORA mang đến hai yếu tố quan trọng là tiết kiệm năng lượng và khoảng cách phát siêu xa ( Ultimate long range wireless solution), ngoài ra nó còn có khả năng cấu hình để tạo thành mạng truyền nhận nên hiện tại được phát triển và sử dụng rất nhiều trong các nghiên cứu về IoT.
Mạch thu phát RF SPI Lora SX1278 433Mhz Ra-02 có thiết kế nhỏ gọn dạng module giúp dễ dàng tích hợp trong các thiết kế mạch, mạch được thiết kế và đo đạc chuẩn để có thể đạt công suất và khoảng cách truyền xa nhất, ngoài ra mạch còn có chất lượng linh kiện và gia công tốt cho nên có độ bền cao và khả năng hoạt động ổn định.
Lưu ý: mạch chưa bao gồm anten
Thông số kỹ thuật:
- IC chính: SX1278 từ SEMTECH.
- LoRaTM spread spectrum communication
- +20dBm – 10mW. Stable RF output power when input voltage changed
- Half-duplex SPI communication
- Programmable bit rate can reach to 300kbps
- Support FSK, GFSK, MSK, GMSK, LoRaTM and OOK Modulation Mode
- 127dB RSSI wave range.
- Automatically detect RF signal, CAD mode and super high speed AFC
- With CRC 256 bytes data engine
- Half hole (castellated hole) SMD package
- With metal shielding case
- Pin pitch: 2.0mm
- Certification: FCC/CE
- Wireless Standard: 433MHz
- Frequency range: 420 – 450MHz
- Port: SPI/GPIO
- Operating Voltage: 1.8 – 3.7V, default 3.3V
- Working Current:
- receive: less than 10.8mA(LnaBoost closed, Band 1)
- transmit: less than 120mA(+20dBm)
- Sleep model: 0.2uA
- Working temperature: -40- +85 degree.
Sơ đồ chân:
Code tham khảo Arduino:
// Phat
/* Để có thể gửi và nhận tín hiệu phải mở 2 chương trình Arduino riêng biệt. Tức là, phải click chuột vào biểu tượng Arduino trenen Desktop 2 lần * Kết nối: * LoRa Arduino Uno R3 * VCC 3.3V * GND GND * RST 9 * DIO0 2 * NSS 10 * MOSI 11 * MISO 12 * SCK 13 * * Nạp code mở Serial Monitor chọn No line ending, baud 9600. * Nhập chuỗi cần gửi và gửi đi */ #include <SPI.h> #include <LoRa.h> String gui; void setup() { Serial.begin(9600); while (!Serial); Serial.println("LoRa Sender"); if (!LoRa.begin(433E6)) { Serial.println("Starting LoRa failed!"); while (1); } LoRa.setSpreadingFactor(10); LoRa.setSignalBandwidth(12345); LoRa.crc(); } void loop() { if(Serial.available()) { gui = Serial.readString(); // send packet LoRa.beginPacket(); LoRa.print(gui); LoRa.endPacket(); } delay(500); }//////////////////////////////////////////////////////////
// Thu
/* Để có thể gửi và nhận tín hiệu phải mở 2 chương trình Arduino riêng biệt. Tức là, phải click chuột vào biểu tượng Arduino trenen Desktop 2 lần * Kết nối: * LoRa Arduino Uno R3 * VCC 3.3V * GND GND * RST 9 * DIO0 2 * NSS 10 * MOSI 11 * MISO 12 * SCK 13 * * Nạp code mở Serial Monitor chọn No line ending, baud 9600 để kiểm tra tín hiệu truyền đến. */ #include <SPI.h> #include <LoRa.h> void setup() { Serial.begin(9600); while (!Serial); Serial.println("Lora Receiver"); if (!LoRa.begin(433E6)) { Serial.println("Lora Error"); while (1); } LoRa.setSpreadingFactor(10); LoRa.setSignalBandwidth(12345); LoRa.crc(); } void loop() { // try to parse packet int packetSize = LoRa.parsePacket(); if (packetSize) { // received a packet // read packet if (LoRa.available()) { Serial.println((String)LoRa.readString()); } //Serial.print((char)LoRa.read()); } // Serial.println(" "); }
Video tham khảo: