Mạch Thu Phát LoRa Ra-02 SX1278 Ai-Thinker Điều Khiển Thiết Bị Từ Xa

Module Lora Ra-02 SX1278 sử dụng IC SX1278 , hoạt động trên tần số 433MHz. Là module có chất lượng cao, kích thước rất nhỏ gọn (chỉ có 17 x 16 mm), truyền phổ phạm vi rộng với khả năng chống nhiễu cao và phạm vi hoạt động có thể lên đến 10Km.

Những thiết bị này cũng hỗ trợ chế độ (G) FSK hiệu suất cao cho các hệ thống bao gồm WMBus, IEEE802.15.4g. SX1287 chọn lọc, thu tuyến tính và IIP3 cho tiêu thụ điện năng thấp hơn đáng kể so với các thiết bị khác.

Sơ đồ chân mô-đun thu phát LoRa RA-02 (Pinout)

Lora Ra-02 Pinout

  • 3V: Module power supply
  • GND: Ground
  • MOSI: Data receive for SPI protocol
  • MISO: Data transmit for SPI protocol
  • SCK: SPI Clock
  • NSS: Module selection for SPI protocol
  • RESET: Reset module
  • DIO0: Data line 0
  • DIO1: Data line 1
  • DIO2: Data line 2
  • DIO3: Data line 3
  • DIO4: Data line 4
  • DIO5: Data line 5

Thông số kỹ thuật

  • Công nghệ điều chế LoRa Spread Spectrum
  • Giao tiếp: SPI / GPIO
  • Output RF ở mức + 20dBm-100mW
  • Điện áp hoạt động: 1.8V - 3.7V, mặc định 3.3V
  • Độ nhạy cao: -148dBm
  • Giao tiếp: SPI
  • Tốc độ truyền lên tới 300kbps
  • Hỗ trợ chế độ điều chế FSK, GFSK, MSK, GMSK, LoRa và OOK
  • Phạm vi RSSI 127dB
  • Tự động phát hiện tín hiệu RF, chế độ CAD và AFC tốc độ rất cao
  • CRC tối đa 256 byte
  • Ăng ten lò xo

Phần cứng cần thiết:

Sơ đồ kết nối:

    • Transmitter

    • Receiver

Thư Viện:

Tải xuống arduino-LoRa-master.zip

Code Transmiter:

//* LoRa                  Arduino Uno R3
//* VCC                         3.3V
//* GND                         GND
//* RST                          9
//* DIO0                         2
//* EN/NSS                       10
//* MOSI                         11
//* MISO                         12
//* SCK                          13
#include <SPI.h>
#include <LoRa.h>

int bt = 4;
int bt1 = 5;
int bt2 = 6;
int bt3 = 7;
void setup() {
  Serial.begin(9600);
  pinMode(bt, INPUT);
  pinMode(bt1, INPUT);
  pinMode(bt2, INPUT);
  pinMode(bt3, INPUT);

  while (!Serial);

  Serial.println("LoRa Sender");

  if (!LoRa.begin(433E6)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }
  LoRa.setTxPower(20);

}

void loop() {

  if (!digitalRead(bt))
  {
    {
      // send packet
      LoRa.beginPacket();
      LoRa.print("tb1");
      LoRa.endPacket();
    }
    while (!digitalRead(bt));
  }
  if (!digitalRead(bt1))
  {
    {
      // send packet
      LoRa.beginPacket();
      LoRa.print("tb2");
      LoRa.endPacket();
    }
    while (!digitalRead(bt1));
  }
  if (!digitalRead(bt2))
  {
    {
      // send packet
      LoRa.beginPacket();
      LoRa.print("tb3");
      LoRa.endPacket();
    }
    while (!digitalRead(bt2));
  }
  if (!digitalRead(bt3))
  {
    {
      // send packet
      LoRa.beginPacket();
      LoRa.print("tb4");
      LoRa.endPacket();
    }
    while (!digitalRead(bt3));
  }
}

Code Receiver:

#include <SPI.h>
#include <LoRa.h>
int tb1 =  4;
int tb2 =  5;
int tb3 =  6;
int tb4 =  7;
String data="";
void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("LoRa Receiver");
  pinMode(tb1,OUTPUT);
  pinMode(tb2,OUTPUT);
  pinMode(tb3,OUTPUT);
  pinMode(tb4,OUTPUT);
  if (!LoRa.begin(433E6)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }
}

void loop() {
  // try to parse packet
  int packetSize = LoRa.parsePacket();
  if (packetSize) {
    while (LoRa.available()) {
      data = LoRa.readString();
    }
    Serial.println(data);
    LoRa.packetRssi();
  }  
  
  if(data=="tb1")
  {
      digitalWrite(tb1,!digitalRead(tb1));
      Serial.print("TB1:");
      Serial.print(digitalRead(tb1));
      Serial.println(); data="";
  }
  else if(data=="tb2")
  {
      digitalWrite(tb2,!digitalRead(tb2));
      Serial.print("TB2:");
      Serial.print(digitalRead(tb2));
      Serial.println();data="";
  }
  else if(data=="tb3")
  {
      digitalWrite(tb3,!digitalRead(tb3));
      Serial.print("TB3:");
      Serial.print(digitalRead(tb3));
      Serial.println(); data="";
  }
  else if(data=="tb4")
  {
      digitalWrite(tb4,!digitalRead(tb4));
      Serial.print("TB4:");
      Serial.print(digitalRead(tb4));
      Serial.println(); data="";
  }
}

Video:

Nhận xét

  1. Play Slots For Free - ChoicesCasino.com
    ChoicesCasino is a 제왕카지노 casino site. 제왕카지노 Play for real. We recommend playing at trusted casinos. We have 100% 인터넷 카지노 legit 더킹카지노 online casinos and no download fees. 샌즈 카지노 게임

    Trả lờiXóa
Mới hơn Cũ hơn