Çözüldü1.81K görüntülenmeLoraLoRa e22
0

merhaba ben yusuf e22 müllerinden aldım 6 kanal uzaktan kumanda yapmak için vericiden bilgi gönderiyorum seri porttan gönderdiğimi görüyorum ama alıcı almıyor bilgiyi seri porttan da bir şey görmüyorum lütfen yardımcı olabilir misiniz 

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

devre şeması ve kullandığın kodları görebilir miyim? ürünleri nereden aldın bu arada?

Mehmet En iyi cevap olarak seçildi Mart 19, 2022

sorularınızı üst tarafta cevapladım mehmet bey

0

ürünleri n11 sayfanızdan aldım ve kodlar da sizin sayfanızda paylaşmış olduğunuz videosunu paylaştığınız kontaktör devresi burada yapmak istediğim şey 2 kabloyu kısa devre yaptırıp seri port ekranından görmek veri gönderiliyor ama port 11 de veri aldığı gözükmüyor

#include "LoRa_E22.h"
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // Arduino RX <-- e32 TX, Arduino TX --> e32 RX
LoRa_E22 E22(&mySerial);
  String sifre = "";
#define M0 7
#define M1 6
#define StartBtn 2
#define StopBtn 9
    struct Signal {
  char type[15];
  bool role;
} data;
  void setup() 
 {
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  pinMode(StartBtn, OUTPUT);
  pinMode(StopBtn, OUTPUT);
    digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
  digitalWrite(StartBtn, LOW);
  digitalWrite(StopBtn, LOW);
    Serial.begin(9600);
  E22.begin();
  delay(500);
}
      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) 
      {
        Serial.println("role start");
        digitalWrite(StartBtn, HIGH);
        delay(10);
        } 
                 else
                  {
        Serial.println("role stop");
        digitalWrite(StartBtn, LOW);
        delay(10);
        }
    }
      rsc.close();
  }
}
   vericinin kodları şu şekilde 
      #include "LoRa_E22.h"
#include <SoftwareSerial.h>
  SoftwareSerial mySerial(10, 11);
  /*
   Pinler     Arduino Nano    Lora E32 433T20d
                  11                3
                  10                4
*/
  LoRa_E22 E22(&mySerial);
  struct Signal {
  char type[15] = "Fixaj.com";
  bool role;
} data;
  #define M0 7
#define M1 6
#define BTN 2
  volatile bool roleDurumu = false;
volatile bool butonDurumu = false;
    void setup() {
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
    pinMode(BTN, INPUT_PULLUP);
    Serial.begin(9600);
  E22.begin();
  delay(500);
  attachInterrupt(digitalPinToInterrupt(BTN), butonOku, RISING);
}
  void loop() {
    if (butonDurumu) {
    butonDurumu = false;
    if (roleDurumu) {
      data.role = 1;
      ResponseStatus rs = E22.sendFixedMessage(0, 45, 25, &data, sizeof(Signal));
      Serial.println(rs.getResponseDescription());
    } else {
      data.role = 0;
      ResponseStatus rs = E22.sendFixedMessage(0, 45, 25, &data, sizeof(Signal));
      Serial.println(rs.getResponseDescription());
    }
      Serial.print("data.role: ");
    Serial.println(data.role);
  }
    }
  void butonOku() {
  static unsigned long last_interrupt_time = 0;
  unsigned long interrupt_time = millis();
  if (interrupt_time - last_interrupt_time > 500)
  {
    roleDurumu = !roleDurumu;
    butonDurumu = true;
  }
  last_interrupt_time = interrupt_time;
}

ismail sinaplı Düzenlenmiş yorum Haziran 8, 2022

Kumanda kısmındaki kanal ve adresi kontrol edin, bende de aynı sorun vardı düzelttim.