← Back to list

Arduino Nano ile LoRa E22 Haberleşmesi — Adım Adım Kurulum ve Konfigürasyon

Bu Proje Hasna Şahinoğlu ile ortak hazırlanmıştır.

Sudenur Elmas · 2026-03-24 09:31 · 1 claps · 3.4 min read
#iot #lora #arduino-nano #kablosuz-haberleşme #arduino-ide
Open on Medium ↗
Wiki topics: FT · Fine-tuning & Adaptation 📟 · Gadgets & IoT

Arduino Nano ile LoRa E22 Haberleşmesi — Adım Adım Kurulum ve Konfigürasyon

Bu Proje Hasna Şahinoğlu ile ortak hazırlanmıştır.

IoT projelerinde uzun mesafe haberleşme gerektiğinde LoRa modülleri oldukça güçlü bir çözüm sunar. Bu yazıda Arduino Nano kullanarak LoRa E22 modülleri arasında haberleşmenin nasıl kurulacağını adım adım anlatacağız.

Bu çalışmada iki LoRa modülü arasında verici (transmitter) ve alıcı (receiver) olarak veri iletişimi gerçekleştirdik.

1. Donanım Kurulumu

İlk adım olarak devreyi aşağıdaki şekilde kurduk.

  • Arduino Nano
  • LoRa E22 modülü
  • Bağlantı kabloları
  • USB bağlantısı

Arduino Nano ile LoRa modülünün haberleşmesi için SoftwareSerial kütüphanesini kullandık.

Bağlantıda kullanılan pinler:

  • RX → Pin 10
  • TX → Pin 11
  • M0 → Pin 7
  • M1 → Pin 6

2. Arduino IDE Board Seçimi

Arduino IDE üzerinden doğru board seçimi yapılmalıdır.

Eski Arduino Nano kullanıyorsanız yükleme sırasında “Uploading…” hatasında takılabilirsiniz.

Bu durumda şu ayarı değiştirmeniz gerekir:

Tools → Processor → ATmega328P (Old Bootloader)

3. Konfigürasyon Kodu

LoRa modülünü konfigüre etmek için Arduino Nano’yu TTL dönüştürücü gibi kullanarak aşağıdaki kodu yükledik.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX
#define M0 7
#define M1 6
void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, HIGH);
}
void loop() {
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
}

4. RF Setting Programının Kurulumu

LoRa modül ayarlarını yapmak için Ebyte RF Setting Tool kullanıyoruz.

İndirme linki:

https://arkis.com.tr/dosyalar/lora/RF_SettingE22-E90SLV2.0.zip

⚠️ Önemli Not Programı çalıştırmadan önce Arduino IDE mutlaka kapatılmalıdır.

Aksi halde port çakışması hatası alınabilir.

Şu şekilde uyarı verebilir, Yine de çalıştır’a tıklıyoruz. Öncesinde Windows birkaç program kurmak isteyebilir, kurulum birkaç dakika sürebilir.

5. LoRa USB TTL Kullanımı (Opsiyonel)

Arduino Nano yerine LoRa modüllerini konfigüre etmek için özel bir USB-TTL adaptör de kullanılabilir.

Örnek cihaz:

https://fixaj.com/e22-900t22d/

Bu cihaz LoRa modüllerini doğrudan bilgisayara bağlayarak parametre ayarlamayı kolaylaştırır.

6. RF Settings Ayarları

RF Setting programında bazı parametrelerin doğru ayarlanması gerekir.

Önemli noktalar:

  • İki LoRa modülünün tüm parametreleri aynı olmalıdır
  • Sadece Address değeri farklı olmalıdır

Örnek:

Verici adresi → 1 Alıcı adresi → 2

E22–900T30D için güç ayarı:

30 dBm

⚠️ Parametrelerden biri bile farklı olursa cihazlar birbirleriyle haberleşemez.

7. Verici (Transmitter) Kodu

#include <LoRa_E22.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);
LoRa_E22 E22(&mySerial);
#define M0 7
#define M1 6
struct veriler {   
 char deger[15];
} data;
void setup() {
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
  Serial.begin(9600);
  E22.begin();
  delay(500);
}
void loop() {
  sprintf(data.deger,"Merhaba");
  ResponseStatus rs = E22.sendFixedMessage(0, 2, 65, &data, sizeof(veriler));
  Serial.println(rs.getResponseDescription());
  delay(2000);
}

Bu kod LoRa modülü üzerinden veri göndermek için temel verici yapısını oluşturur.

8. Alıcı (Receiver) Kodu

#include "LoRa_E22.h"
#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11);
LoRa_E22 E22(&mySerial);
#define M0 7
#define M1 6
struct veriler {
  char deger[15];
} data;
void setup() {
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
  Serial.begin(9600);
  E22.begin();
  delay(500);
}
void loop() {
  while (E22.available() > 1) {
    ResponseStructContainer rsc = E22.receiveMessage(sizeof(veriler));
    struct veriler data = *(veriler*) rsc.data;
    Serial.println("Gelen Mesaj: ");
    Serial.println(data.deger);
    rsc.close();
  }
}

Bu kod gelen LoRa mesajını okuyarak Serial Monitor üzerinden görüntüler.

9. Karşılaşılan Hatalar

Projeyi geliştirirken bazı hatalarla karşılaşabilirsiniz.

1️⃣ Nano TTL hatası

Eğer konfigürasyon sırasında hata alıyorsanız genelde Arduino Nano TTL olarak düzgün çalışmıyordur.

Çözüm:

Nano kartını değiştirin.

2️⃣ Port çakışması

Eğer Arduino IDE açıkken RF Setting programını açarsanız port çakışması oluşabilir.

Çözüm:

Arduino IDE’yi kapatın.

3️⃣ USB-TTL bağlantı hatası

USB-TTL ile bağlanırken bazen bağlantı algılanmayabilir.

Çözüm:

  • Birkaç dakika bekleyip tekrar deneyin
  • Portu yeniden seçin

10. Sonuç

Bu çalışmada Arduino Nano ile LoRa E22 modüllerini kullanarak iki cihaz arasında veri haberleşmesini deneyimledik.

Bu yapı;

  • IoT projeleri
  • Uzun mesafe sensör ağları
  • Tarım otomasyonu
  • Endüstriyel izleme sistemleri

gibi birçok projede kullanılabilir.

LoRa teknolojisi düşük güç tüketimi ve uzun menzili sayesinde kablosuz haberleşme projeleri için oldukça güçlü bir alternatif sunmaktadır.

Kaynakça

https://arkis.com.tr/?page_id=467


메타데이터
post_id
bebc45f4176c
slug
arduino-nano-ile-lora-e22-haberleşmesi-adım-adım-kurulum-ve-konfigürasyon-bebc45f4176c
url
https://medium.com/@sdnrelms/arduino-nano-ile-lora-e22-haberle%C5%9Fmesi-ad%C4%B1m-ad%C4%B1m-kurulum-ve-konfig%C3%BCrasyon-bebc45f4176c
canonical_url
https://medium.com/@sdnrelms/arduino-nano-ile-lora-e22-haberle%C5%9Fmesi-ad%C4%B1m-ad%C4%B1m-kurulum-ve-konfig%C3%BCrasyon-bebc45f4176c
author_url
https://medium.com/@sdnrelms
status
ok
fetched_at
2026-06-09 15:37:30