LoRa merupakan singkatan dari Long Range, dimana module ini menggunakan frekuensi radio dengan jarak yang jauh dan konsumsi daya yang rendah. Terdapat frekuensi yang umum digunakan yaitu 433 MHz, 868Mhz dan 915MHz. Sementara untuk module LoRa ini bisa melakukan komunikasi sejauh 15-20Km dengan daya yang rendah. Nah teknologi ini cocok sekali digunakan untuk menunjang perangkat IoT anda.

Untuk menggunakan LoRa ini anda memerlukan 2 buah LoRa, 1 digunakan sebagai transmitter (pengirim) dan 1 lagi sebagai receiver (penerima). Hal yang perlu diperhatikan pada Lora adalah pemilihan antena yang tepat, dengan memilih antena yang sesuai dengan frekuensi modulenya. Antena ini sangat penting karena mempengaruhi jarak komunikasi.

Oke langsung saja kita coba untuk menggunakan LoRa ini dengan Arduino. Dana yang akan kita coba adalah untuk menyalakan LED dengan potensiometer dengan mengatur kecerahannya. Lora yang dipakai adalah Ra-02 Sx1278 dengan frekuensi 433MHz, selengkapnya alat dan bahan yang dibutuhkan sebagai berikut :

Rangkaian

Keterangan :

  • GND LoRa ke GND Arduino
  • 3.3V LoRa ke 3.3V Arduino
  • RESET LoRa ke pin 9 Arduino
  • DIO0 LoRa ke pin 2 Arduino
  • NSS LoRa ke pin 10 Arduino
  • MOSI LoRa ke pin 11 Arduino
  • MISO LoRa ke pin 12 Arduino
  • SCK LoRa ke pin 13 Arduino
  • Potensiometer ke pin A0

KeteranganĀ  :

  • Untuk LoRa sama disini ada penambahan LED dan resistor ke pin 3 Arduino.

Selanjutnya silahkan buka Arduino IDE dan masukkan librarynya.

Program Transmitter

#include <SPI.h>
#include <LoRa.h> 
int pot = A0;

void setup() {
  Serial.begin(9600);
  pinMode(pot,INPUT);
  
  while (!Serial);  
  Serial.println("LoRa Sender");
  if (!LoRa.begin(433E6)) { // or 915E6, the MHz speed of yout module
    Serial.println("Starting LoRa failed!");
    while (1);
  }
}

void loop() {
  int val = map(analogRead(pot),0,1024,0,255);
  LoRa.beginPacket();  
  LoRa.print(val);
  LoRa.endPacket();
  delay(50);
}

Jika anda menggunakan jenis LoRa dengan frekuensi lain misalnya 915MHz, silahkan ganti pada kode program dari 433E6 ke 915E6 :

if (!LoRa.begin(433E6)) // 915E6

Program Receiver

#include <SPI.h>
#include <LoRa.h> 
int LED = 3;
String inString = "";    // string to hold input
int val = 0;

void setup() {
  Serial.begin(9600);
  pinMode(LED,OUTPUT);
  
  while (!Serial);
  Serial.println("LoRa Receiver");
  if (!LoRa.begin(433E6)) { // or 915E6
    Serial.println("Starting LoRa failed!");
    while (1);
  }
}

void loop() {
  
  // try to parse packet
  int packetSize = LoRa.parsePacket();
  if (packetSize) { 
    // read packet    
    while (LoRa.available())
    {
      int inChar = LoRa.read();
      inString += (char)inChar;
      val = inString.toInt();       
    }
    inString = "";     
    LoRa.packetRssi();    
  }
      
  Serial.println(val);  
  analogWrite(LED, val);
}

Upload program sesuai dengan rangakaian transmitter dan reaciever, hasilnya berikut ini :

Silahkan uji coba seberapa jauh jarak yang bisa dijangkau.

Terima kasih, semoga bermanfaat.

Kategori: Arduino

4 Komentar

mr.X · Juni 23, 2020 pada 12:16 pm

kalo lora failed itu knapa ya gan?

    ajie · Juni 27, 2020 pada 2:38 pm

    failed kan banyak kak, mungkin bisa diperjelas failed-nya karena apa?

Ismail · Juli 10, 2020 pada 10:51 am

ini nanti si receiver-nya bisa menerima data dari lora transmitter lain dengan frekuensi yg sama? misal ada orang lain sedang buat lora transmitter di dekat area kita, jika frekuensinya sama, apakah receiver kita bisa menangkap datanya? Terima kasih.

    ajie · Juli 15, 2020 pada 12:11 am

    bisa kak, memang terminologi teknologi LORA seperti itu. Untuk mengantisipasinya bisa menggunakan enkripsi data, jadi hanya receiver yang tahu kode dekripsinya aja ynag ‘paham’ data yang dikirim

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Scroll Up
id_IDIndonesian
en_USEnglish id_IDIndonesian