Çözüldü6.02K görüntülenmeLora#elektrikliaraç #nano #proximitysensör
0

KODLAR BU ŞEKİLDE BİRBİRLERİYLE HABERLEŞMİYORLAR VE GSM MODULUNDEN VEYA SERİ PORT EKRANINDAN HERHANGİ BİR VERİ OKUNMUYOR 
PARAMETRE AYARLARININ RESİMLERİ DE EKTEDİR
 
 
 
 
 
 
 
 
 
 
 
GSM SHİELD İÇİN
 
 
#include "LoRa_E22.h"
LoRa_E22 E22(&Serial1, 2, 7, 6);
 
#define M0 7
#define M1 6
 
struct Signal {
  char type[15];
  int role;
} data;
 
#include <KapadokyaGSM.h>
KapadokyaGSM Kapadokya;
String smsMetni, smsNumarasi;
#define gonderilecekTelNumarasi  "+905551112233" // Numarayı değiştirmeyi unutmayın :)
 
 
void setup() {
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
 
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
 
  Serial.begin(9600);
  E22.begin();
  delay(500);
 
  Kapadokya.basla();
  delay(4000);
  Kapadokya.tumSmsSil();
  delay(4000);
  Serial.println("Sistem Basladi");
  Kapadokya.smsGonder(gonderilecekTelNumarasi, "Sistem acildi.");
}
 
 
 
void loop() {
  while (E22.available()  > 1) {
 
    // Gelen mesaj okunuyor
    ResponseStructContainer rsc = E22.receiveMessage(sizeof(Signal));
    struct Signal data = *(Signal*) rsc.data;
    Serial.print("Gelen Messaj: ");
    Serial.println(data.type);
 
    if (strcmp(data.type, "Fixaj.com") == 0) {
      Serial.println("şifre doğru");
      if (data.role == 11) {
        Serial.println("gaz kacagi basladi");
        Kapadokya.smsGonder(gonderilecekTelNumarasi, "gaz kacagi basladi");
        delay(1000);
 
      } else if (data.role == 10) {
        Serial.println("gaz kacagi durdu");
        Kapadokya.smsGonder(gonderilecekTelNumarasi, "gaz kacagi durdu");
        delay(1000);
      }
      else if (data.role == 21) {
        Serial.println("hareket algilandi");
        Kapadokya.smsGonder(gonderilecekTelNumarasi, "hareket algilandi");
        delay(1000);
      }
      else if (data.role == 20) {
        Serial.println("hareket durdu");
        Kapadokya.smsGonder(gonderilecekTelNumarasi, "hareket durdu");
        delay(1000);
      }
      else  {
        Serial.println("diger");
        delay(1000);
      }
    }
 
    rsc.close();
  }
}
 
GAZ SENSÖRÜ İÇİN
 

#include "LoRa_E22.h"
#include <SoftwareSerial.h>
 
SoftwareSerial mySerial(10, 11);
LoRa_E22 E22(&mySerial);
 
struct Signal {
char type[15] = "Fixaj.com";
int sensor;
} data;
 
#define M0 7
#define M1 6
 
volatile bool roleDurumu = false;
volatile bool butonDurumu = false;
 
bool gaz, eGazDrm;
 
void setup() {
pinMode(M0, OUTPUT);
pinMode(M1, OUTPUT);
digitalWrite(M0, LOW);
digitalWrite(M1, LOW);
 
Serial.begin(9600);
E22.begin();
delay(500);
}
 
void loop() {
// Serial.println(analogRead(A0));
if (analogRead(A0) > 80) {
gaz = true;
}
else {
gaz = false;
}
 
if (eGazDrm != gaz) {
if (gaz) {
eGazDrm = gaz;
data.sensor = 11;
ResponseStatus rs = E22.sendFixedMessage(0, 1, 18, &data, sizeof(Signal));
Serial.println(rs.getResponseDescription());
} else {
eGazDrm = gaz;
data.sensor = 10;
ResponseStatus rs = E22.sendFixedMessage(0, 1, 18, &data, sizeof(Signal));
Serial.println(rs.getResponseDescription());
}
 
Serial.print("data.sensor: ");
Serial.println(data.sensor);
}
}

 
 
 
HAREKET SENSÖRÜ İÇİN 
 

#include "LoRa_E22.h"
#include <SoftwareSerial.h>
 
SoftwareSerial mySerial(10, 11);
LoRa_E22 E22(&mySerial);
 
struct Signal {
  char type[15] = "Fixaj.com";
  int sensor;
} data;
 
#define M0 7
#define M1 6
 
volatile bool roleDurumu = false;
volatile bool butonDurumu = false;
 
bool hrkt, eHrktDrm;
 
void setup() {
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
 
  Serial.begin(9600);
  E22.begin();
  delay(500);
}
 
void loop() {
  // Serial.println(analogRead(A0));
  if (digitalRead(A0)) {
    hrkt = true;
  }
  else {
    hrkt = false;
  }
 
  if (eHrktDrm != hrkt) {
    if (hrkt) {
      eHrktDrm = hrkt;
      data.sensor = 21;
      ResponseStatus rs = E22.sendFixedMessage(0, 1, 18, &data, sizeof(Signal));
      Serial.println(rs.getResponseDescription());
    } else {
      eHrktDrm = hrkt;
      data.sensor = 20;
      ResponseStatus rs = E22.sendFixedMessage(0, 1, 18, &data, sizeof(Signal));
      Serial.println(rs.getResponseDescription());
    }
 
    Serial.print("data.sensor: ");
    Serial.println(data.sensor);
  }
}

 
 
 
 
 

Soru yeni cevaplara kapalıdır.
Mehmet En iyi cevap olarak seçildi Mart 30, 2022
0

hocam söylediklerinizi uyguladım .  seri port ekranın da sisteme gelen mesaj diye yazıyor ancak sensör bilgisi gelince bu yazı ekrana çıkmıyor ancak sensörden bilgi gelince loraların her ikisininde lambası yanıyor ancak sensör bilgisi ekrana gelmiyor

Harun Kayaokay Cevaplanan soru Mart 27, 2022
16 cevaptan 1'ini inceliyorsun, tüm cevapları görmek için buraya tıklayın.