Kütüphanesiz LoRa Kullanımı

Arkadaşlardan çokça soru gelen kütüphanesiz lora modülü kullanımı ile ilgili örnekleri bu sayfada toparlıyorum.

LoRa Başlangıç Seti

LoRa Başlangıç Seti (SX1278 E32-433T20D)

LoRa teknolojisi ile tanışmak isteyenler için 433 MHz bandında çalışan, SX1278 çipli modül ve anten içeren bir başlangıç setidir.

Ürün Sayfasına Git
LoRa Uzman Seti

LoRa Uzman Seti (E22-900T22D)

Kablosuz şifreli veri iletimi ve güvenli iletişim için tasarlanmış bu set, 900 MHz frekansında çalışır ve LoRa uygulamalarında güvenli veri iletimi sağlar.

Ürün Sayfasına Git

1 İnt Tipinde Büyük Sayıları Yollama ve Alma

Gönderici Kodu:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <SoftwareSerial.h>
SoftwareSerial FixSerial(3, 4); //PCB versiyon 4.3 den sonra bu şekilde olmalı
 
#define M0 7
#define M1 6
 
void setup() {
  Serial.begin(115200);
 
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
 
  FixSerial.begin(9600);
}
 
void loop() {
  FixSerial.write((byte)0x00); //Alıcı Adresi HIGH
  FixSerial.write(3);       //Alıcı Adresi LOW
  FixSerial.write(18);       //Alıcı Kanalı =0x17=23    (410M+23=433 MHz)
 
  intGonder(12345); // Bu Sayıyı Göndereceğiz ->
  delay(1000);
}
 
void intGonder(int sayi) {
  FixSerial.write(highByte (sayi));
  FixSerial.write(lowByte (sayi));
}
 
//GÖNDERİCİ LORA

Alıcı Taraf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <SoftwareSerial.h>
SoftwareSerial FixSerial(3, 4); //PCB versiyon 4.3 den sonra bu şekilde olmalı
 
#define M0 6
#define M1 7
byte upperByte, lowerByte;
int newInt=0;
 
void setup() {
  Serial.begin(115200);
   
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
   
  FixSerial.begin(9600);
}
 
void loop() {
  if (FixSerial.available() > 1) {
    upperByte = FixSerial.read();
    lowerByte = FixSerial.read();
 
    newInt = (upperByte << 8) + lowerByte;
    Serial.print("Sayi= ");
    Serial.println(newInt);
  }
}
 
//ALICI LORA

2 String Yollama

Gönderici

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <SoftwareSerial.h>
SoftwareSerial FixSerial(3, 4); //PCB versiyon 4.3 den sonra bu şekilde olmalı
byte i = 0;
#define M0 7
#define M1 6
void setup() {
  Serial.begin(115200);
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
  FixSerial.begin(9600);
}
void loop() {
  FixSerial.write((byte)0x00); //Alıcı Adresi HIGH
  FixSerial.write(3);       //Alıcı Adresi LOW
  FixSerial.write(18);       //Alıcı Kanalı =0x17=23    (410M+23=433 MHz)
   
  FixSerial.println("Selam");
  delay(500);
}

Alıcı

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <SoftwareSerial.h>
 
SoftwareSerial FixSerial(3, 4); //PCB versiyon 4.3 den sonra bu şekilde olmalı
char rc;
 
#define M0 6
#define M1 7
 
 
void setup() {
  Serial.begin(115200);
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
  FixSerial.begin(9600);
}
 
void loop() {
  while (FixSerial.available()) {
    rc = FixSerial.read();
    Serial.print(rc);   
  }
}

3 Video

Youtube fixaj kanalımız üzerinden de kütüphanesiz lora kullanım videosunu izlemenizi tavsiye ederim.