• Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
Kamis, Maret 23, 2023
mikroavr.com
No Result
View All Result
  • Login
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
No Result
View All Result
mikroavr
No Result
View All Result
Home Arduino

LoRa Shield Arduino Support Arduino Uno, Arduino mega dan Arduino Mega128

Jimmi Sitepu by Jimmi Sitepu
Oktober 15, 2020
0 0
0
LoRa Shield Arduino Support Arduino Uno, Arduino mega dan Arduino Mega128
0
SHARES
806
VIEWS
Share on FacebookShare on Twitter

Apa LoRa Shield Arduino?

LoRa Shield Arduino adalah sebuah modul yang bisa mengirimkan data baik berupa data sensor atau data printah antar Arduino dengan radio frekuensi. LoRa Shield ini mampu mengirimkan data antar arduino dengan jarak yang sangat jauh namun dengan konsumi power yang sangat rendah. Beberapa orang yang telah mencoba lora shield kita mampu mengirim data sejauh 1km, 2km namun ada juga yang hanya 500m, tergantung kondisi lapangan, tipe antenna dan ketinggian. Namun menurut datasheet, LoRa ini mampu mengirim data sejauh 10km. (chip LoRa yang di gunakan adalah Sx1276).

Frekuensi LoRa shield ini bisa di adjust dengan program ( firmware ) di arduino ide nya. Freq bisa di adjust antaran 915mhz-920mhz sesuai dengan regulasi pemerintah.

READ ALSO

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

LoRa shield Kita

Disini, kami dari mikroavr.com, membuat sebuah LoRa shield yang support dengan Arduino Uno, Arduino Mega dan juga Arduino Mega128 ( Arduino buatan mikroavr.com). LoRa ini kami design sesederhana mungkin menggunakan software kicad, Teman-teman bisa lihat gambar LoRa desgin di bawah ini.

PCB LoRa shield

Konfigurasi pin

Ada pun configurasi pin LoRa shield karya kita ini adalah sebagai berikut.

LoRa PinArduino Pin
RST5
CS6
DIO03
DIO12
DIO24
Tabel pin config pin LoRa Shield

Contoh Program

Sebelum memprogram Arduino nya, teman-teman tambah dulu library berikut di arduino Ide anda. cukup click link berikut ini.

https://github.com/sandeepmistry/arduino-LoRa

Setelah add ketikkan program sederhana berikut ini,

LoRa Node program


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

const long frequency = 915E6;  // LoRa Frequency

const int csPin = 6;          // LoRa radio chip select
const int resetPin = 5;        // LoRa radio reset
const int irqPin = 3;          // change for your board; must be a hardware interrupt pin

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

  LoRa.setPins(csPin, resetPin, irqPin);

  if (!LoRa.begin(frequency)) {
    Serial.println("LoRa init failed. Check your connections.");
    while (true);                       // if failed, do nothing
  }

  Serial.println("LoRa init succeeded.");
  Serial.println();
  Serial.println("LoRa Simple Node");
  Serial.println("Only receive messages from gateways");
  Serial.println("Tx: invertIQ disable");
  Serial.println("Rx: invertIQ enable");
  Serial.println();

  LoRa.onReceive(onReceive);
  LoRa.onTxDone(onTxDone);
  LoRa_rxMode();
}

void loop() {
  if (runEvery(1000)) { // repeat every 1000 millis

    String message = "HeLoRa World! ";
    message += "I'm a Node! ";
    message += millis();

    LoRa_sendMessage(message); // send a message

    Serial.println("Send Message!");
  }
}

void LoRa_rxMode(){
  LoRa.enableInvertIQ();                // active invert I and Q signals
  LoRa.receive();                       // set receive mode
}

void LoRa_txMode(){
  LoRa.idle();                          // set standby mode
  LoRa.disableInvertIQ();               // normal mode
}

void LoRa_sendMessage(String message) {
  LoRa_txMode();                        // set tx mode
  LoRa.beginPacket();                   // start packet
  LoRa.print(message);                  // add payload
  LoRa.endPacket(true);                 // finish packet and send it
}

void onReceive(int packetSize) {
  String message = "";

  while (LoRa.available()) {
    message += (char)LoRa.read();
  }

  Serial.print("Node Receive: ");
  Serial.println(message);
}

void onTxDone() {
  Serial.println("TxDone");
  LoRa_rxMode();
}

boolean runEvery(unsigned long interval)
{
  static unsigned long previousMillis = 0;
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis >= interval)
  {
    previousMillis = currentMillis;
    return true;
  }
  return false;
}

Upload program di atas ke LoRa node, atau Lora yang kita jadi kan sebagai Node, selanjut nya LoRa sebagai gateway

LoRa Gateway Program


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

const long frequency = 915E6;  // LoRa Frequency

const int csPin = 6;          // LoRa radio chip select
const int resetPin = 5;        // LoRa radio reset
const int irqPin = 3;          // change for your board; must be a hardware interrupt pin

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

  LoRa.setPins(csPin, resetPin, irqPin);

  if (!LoRa.begin(frequency)) {
    Serial.println("LoRa init failed. Check your connections.");
    while (true);                       // if failed, do nothing
  }

  Serial.println("LoRa init succeeded.");
  Serial.println();
  Serial.println("LoRa Simple Gateway");
  Serial.println("Only receive messages from nodes");
  Serial.println("Tx: invertIQ enable");
  Serial.println("Rx: invertIQ disable");
  Serial.println();

  LoRa.onReceive(onReceive);
  LoRa.onTxDone(onTxDone);
  LoRa_rxMode();
}

void loop() {
  if (runEvery(5000)) { // repeat every 5000 millis

    String message = "HeLoRa World! ";
    message += "I'm a Gateway! ";
    message += millis();

    LoRa_sendMessage(message); // send a message

    Serial.println("Send Message!");
  }
}

void LoRa_rxMode(){
  LoRa.disableInvertIQ();               // normal mode
  LoRa.receive();                       // set receive mode
}

void LoRa_txMode(){
  LoRa.idle();                          // set standby mode
  LoRa.enableInvertIQ();                // active invert I and Q signals
}

void LoRa_sendMessage(String message) {
  LoRa_txMode();                        // set tx mode
  LoRa.beginPacket();                   // start packet
  LoRa.print(message);                  // add payload
  LoRa.endPacket(true);                 // finish packet and send it
}

void onReceive(int packetSize) {
  String message = "";

  while (LoRa.available()) {
    message += (char)LoRa.read();
  }

  Serial.print("Gateway Receive: ");
  Serial.println(message);
}

void onTxDone() {
  Serial.println("TxDone");
  LoRa_rxMode();
}

boolean runEvery(unsigned long interval)
{
  static unsigned long previousMillis = 0;
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis >= interval)
  {
    previousMillis = currentMillis;
    return true;
  }
  return false;
}

Produk LoRa mikroavr

Produk LoRa kami ini di bandrol dengan Harga Rp. 260.000, dengan Harga yang sangat competitive jika di bandingkan dengan LoRa merek lain. Kami sengaja membuat harga yang lebih murah agar kita bisa belajar LoRa dengan lebih mudah, cost yang lebih kecil tapi kualitas yang baik. Jika teman-teman tertarik dengan lora ini, cukup clik tomboh di bawah ini,

Tanya LoRa Shield

Untuk view 3D dari lora ini, bisa di lihat dari gambar di bawah ini

LoRa Shield Arduino

Sekian dulu artikel nya

Thanks

ShareTweetShare
Previous Post

Enkripsi Data Lora pada Modul ESP32 Lora

Next Post

Merubah ATmega128 menjadi Arduino ATmega128

Jimmi Sitepu

Jimmi Sitepu

Hobbyist Embedded System, Robotic, IOT and write all about them. So we have nice quote "Learning and Sharing"

Related Posts

sensor URM14 Arduino
ESP32

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega
Arduino

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Mendapatkan Waktu Akurat dengan NTP GPS
ESP32

Mendapatkan Waktu Akurat dengan NTP GPS

Mei 8, 2022
Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G
IOT

Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

April 14, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32
Arduino

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
ethernet arduino
Arduino

Arduino Ethernet Tutorial, Project dengan Arduino Uno dan Mega

Februari 24, 2022
Next Post
Merubah ATmega128 menjadi Arduino ATmega128

Merubah ATmega128 menjadi Arduino ATmega128

Mengenal Pin Out ESP32 Agar Tidak Salah Dalam Penggunaan nya

Mengenal Pin Out ESP32 Agar Tidak Salah Dalam Penggunaan nya

Please login to join discussion

Tulisan Terbaru

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Mendapatkan Waktu Akurat dengan NTP GPS

Mendapatkan Waktu Akurat dengan NTP GPS

Mei 8, 2022
Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

April 14, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
ethernet arduino

Arduino Ethernet Tutorial, Project dengan Arduino Uno dan Mega

Februari 24, 2022

Browse by Category

  • Arduino
  • Ebook
  • ESP32
  • IOT
  • jasa
  • Komponen
  • PCB
  • Produk
  • program Arduino
  • Project
  • Rangkaian
  • Sensor
  • Tips
  • Uncategorized

Recent News

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.

No Result
View All Result
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.

Welcome Back!

Sign In with Google
OR

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist