LoRa ile Toprak Nemi Ölçme Projesi

Toprak Nemi Ölçme & Kablosuz Veri Gönderme Projesi

Merhaba Dostlar, bugün sizlerle beraber “LoRa ile Toprak Nemi Ölçme Projesi” yapacağız. Bu projede bir toprak nem ölçme sensörü ile bir saksının toprağının nemi ölçeceğiz ve sonrasında LoRa üzerinden uzaktaki merkez noktamıza toprak nemi ile ilgili bilgileri göndereceğiz. Özellikle bu yaz aylarına girdiğimizde tarımda sulama üretim artışında rekolte de önem arz etmektedir. Sulama yaparken de tarlanın her tarafına eşit bir şekilde sulama yapılmalıdır. Mevcut sulamada çoğu tarlada sulama sırasında tarlaya girmek zor olduğu için takip yapılamamaktadır. LoRa sayesinde tarlanın belirlemiş olduğumuz noktalarına dilediğimiz gibi kontrol yapabileceğiz.

1.1 Gerekli Malzemeler

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
40dBi SMA 433 MHz Anten

40dBi SMA 433 MHz Anten

Bu anten, 433 MHz frekansında yüksek kazançlı bir veri iletimi sağlar ve LoRa cihazlar için idealdir.

Ürün Sayfasına Git
E32-433T20D LoRa Modülü

E32-433T20D LoRa Modülü

433 MHz frekansında çalışan, SX1278 çipli uzun mesafe veri iletişimi için ideal bir LoRa modülüdür.

Ürün Sayfasına Git
LoRa Parametre Ayarları İçin USB Stick

LoRa Parametre Ayarları İçin USB Stick

Bu USB stick, LoRa modülleri için parametre ayarlamayı kolaylaştırır ve hızlı veri iletimi sağlar.

Ürün Sayfasına Git

1 adet toprak nem sensörü

1.2 Devre Şeması

Devre şemasında ben hazır pcb kullandığım için özel bir devre kurmadım. Toprak nem ölçerin A0 pinini arduino Nano üzerinden A1 pinine bağladım. D0 pinini boş bıraktım. Toprak nem sensörünün pinleri hakkında detaylı bilgiyi youtube videomuzda anlatacağım.

1.3 Kod Yapısı

Burada 2 noktamız var slave kısmımız toprağın nemini ölçecek ve Merkez noktamıza sürekli olarak toprak nemi için veri gönderecek.

Slave (toprak nemi ölçecek kısım)

#include "LoRa_E32.h"
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // Arduino RX <-- e32 TX, Arduino TX --> e32 RX
LoRa_E32 e32ttl(&mySerial);

const int analogInPin = A1;
int sensorValue = 0;

struct Signal {
  char type[15];
  byte Nem[4];
} data;

void setup() {
  Serial.begin(9600);
  e32ttl.begin();
  delay(500);
}

void loop() {

  sensorValue = analogRead(analogInPin);
  Serial.print("sensor = ");
  Serial.println(sensorValue);

  //Gönderilecek paket veri hazırlanıyor
  struct Signal  {
    char type[15] = "Pamuk Tarlası";
    byte Nem[4];
  } data2;

  *(int*)(data2.Nem) = sensorValue;


  ResponseStatus rs = e32ttl.sendFixedMessage(0, 63, 23, &data2, sizeof(Signal));
  Serial.println(rs.getResponseDescription());

  delay(500);

}

Master (Ölçümleri toplandığımız ve görüntülediğimiz merkez)

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

SoftwareSerial mySerial(10, 11);

/*
   Pinler     Arduino Nano    Lora E32 433T20d
                  11                3
                  10                4
*/

LoRa_E32 e32ttl(&mySerial);

struct Signal {
  char type[15] = "Fixaj.com";
  byte Nem[4];
} data;
 

void setup() {
  Serial.begin(9600);
  e32ttl.begin();
  delay(500); 
}

void loop() { 

  while (e32ttl.available()  > 1) {
    ResponseStructContainer rsc = e32ttl.receiveMessage(sizeof(Signal));
    struct Signal data = *(Signal*) rsc.data;
    Serial.print("Yer: ");
    Serial.println(data.type);
    Serial.print("Toprak Nemi: ");
    Serial.println(*(int*)(data.Nem));
    rsc.close();
  } 
}

Sonuç

Anlatacaklarım bu kadar. Elimden geldiğince konuyu basit anlatmaya çalıştım. İnşallah faydalı olur. Özellikle şu dönemde işinize çok yarayacak bir proje olduğunu düşünüyorum. Hazır okullar bitmiş müsahit iseniz ve biraz para kazanmak istiyorsunuz. bu proje ile tarlaları dolaşa bilir. Satışlar yapabilirsiniz.

Aklınıza bir soru takılırsa her zaman burdayız. Teknik konularla ilgili sorularınızı Soru&Cevap sayfamıza yazabilirsiniz. Yardımcı olmaya çalışırız.

Herkese iyi günler.