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.
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
메타데이터
- 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