Selamat datang di sonoku.com

Memulai komunikasi sederhana dengan LoRa Ra-02 SX1278 dan Arduino

LoRa (Long Range) merupakan teknologi frekuensi radio nirkabel yang dibuat oleh perusahaan Semtech. Teknologi LoRa ini biasa digunakan untuk mengirimkan sebuah informasi dua arah dalam jarak jauh dengan jangkauan hingga 15 KM menggunakan daya yang cukup kecil. Pada artikel kali ini kita akan belajar bagaimana berkomunikasi dengan module LoRa.

Modul LoRa Ra-02

Spesifikasi:

  • Communication distance: 15 KM
  • Sensitivity: down to -148dBm
  • Programmable bit rates: up to 300kbps
  • RSSI dynamic range: 127dB
  • Wireless frequency: 433-525 MHz
  • Working voltage: 1.8-3.7v
  • Working temperature: -40-+80 ℃

Wiring Diagram

Wiring diagram koneksi antara LoRa dengan Arduino bisa dilihat pada gambar berikut.

Wiring diagram lora arduino

Wiring diagram LoRa Arduino

Rangkaian diatas dibuat dua kali dengan konfigurasi pin yang sama masing-masing untuk Transmitter dan Receiver.

Tabel 1. Wiring LoRa Ra-02 SX1278 Transmitter dan Receiver

Arduino Uno LoRa Ra-02 SX1278
3.3V 3.3V
GND GND
NSS D10
DIO0 D2
SCK D13
MISO D12
MOSI D11
RST D9

Perangkat keras pada Arduino Uno dan LoRa Ra-02 SX1278

Diagram alir pada Gambar 2 merupakan proses pengiriman pesan pada Arduino Uno menggunakan LoRa Ra-02 SX1278 sebagai transmitter. Pertama – tama sistem akan memastikan apakah transmitter mengirimkan pesan pada frekuensi 433 MHz, jika tidak maka sistem akan menampilkan pesan “Starting LoRa failed!” pada serial monitor. Jika sistem bekerja pada frekuensi 433 MHz maka sistem akan mulai mengirimkan data dalam bentuk paket (data yang dimaksud adalah data per huruf).

Diagram alir sistem pengiriman pesan (transmitter)

Diagram alir pada Gambar 3 merupakan proses penerimaan pesan pada Arduino Uno menggunakan LoRa Ra-02 SX1278 sebagai receiver. Seperti pada transmitter¸ receiver perlu memastikan apakah sistem bekerja pada frekuensi 433 MHz. Frekuensi tersebut bisa diubah dari rentang 433 MHz hingga 525 MHz asalkan frekuensi transmitter dengan receiver sesuai. Jika frekuensi pada receiver berada pada 433 MHz maka sistem akan memulai menerima data dalam bentuk paket (data yang dimaksud adalah data per huruf).

Diagram alir sistem penerimaan pesan (receiver)

Kode program Transmitter (Pemancar)

Kode program berikut berfungsi untuk mengirimkan pesan yang akan dikirimkan melalui LoRa Ra-02 SX1278 sebagai transmitter atau sender pada frekuensi 433 MHz.

#include <SPI.h>
#include <LoRa.h>

int counter = 0;

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("LoRa Sender");

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

void loop() {
  Serial.print("Sending packet: ");
  Serial.println(counter);

  // send packet
  LoRa.beginPacket();
  LoRa.print("Hello ");
  LoRa.print(counter);
  LoRa.endPacket();

  counter++;
  
  delay(1000);
}

Kode program Receiver (Penerima)

Kode program berikut berfungsi untuk menerima pesan yang telah dikirimkan melalui LoRa Ra-02 SX1278 pada frekuensi 433 MHz. Pesan yang telah dikirimkan, akan diterima oleh LoRa Ra-02 SX1278 receiver dan ditampilkan pada serial monitor Arduino.

#include <LoRa.h>

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("LoRa Receiver");

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

void loop() {
  int packetSize = LoRa.parsePacket();
  if (packetSize) {
    
    // received a packet
    Serial.print("Received packet :");

    // read packet
    while (LoRa.available()) {
      Serial.print((char)LoRa.read());
    }
   Serial.println("");
  }
}

Percobaan Komunikasi

Hasil percobaan komunikasi antara LoRa Ra-02 SX1278 sebagai transmitter dan receiver.

 

Comments

comments

Leave a Reply