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 2 Adet E32 433T20DC Satın almak için tıkla
Başlanagıç seti Satın almak için Tıkla
1 adet toprak nem sensörü
1 adet USB programlayıcı Satın almak için tıklayın
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.
Bu ürünleri ve daha fazlasını n11 mağazamızdan bulabilirsiniz. N11 mağazamızı incelemek için tıklayın.
N11 de olumlu yorumlarınızla bizleri desteklemeyi unutmayın
Herkese iyi günler.