Çözüldü1.58K görüntülenmeLoralorae22
0

İsmail sinaplı 209435324211 sipariş kodu n11 Merhaba 

📌Sizin sitenizdeki Lora ile Uzaktan Kontaktör uygulaması yapıyorum, kumanda kısmını yaptım, kumandadan butona  bastımda serial monitörü açıyorum ekranda role: 0 veya 1 Verinin gittiğini görüyorum. 

Sıkıntı 📌Pano kısmında yazılımda arduino  röle bobin pinlerine  2 ve 9 çıkışlarına bağladım tam emin olamadım röleler çekili vaziyette, pano kısmındaki serial monitörü açtığımda hiç birşey gelmiyor??  Acaba loranın m0 m1 pinlerini toprağamı çekmek lazım?  Pano kısmında kaldım pcb leri sizden aldım pcb ye kurdum devreyi kodlar sizin sitedeki kodlar modüler de e22 900 mhz  Nasıl yapabilirim yardımcı olurmusunuz.  Röle bobin pinlerini hangi girişe bağlamam lazım orda tereddütte kaldım.   

Pano kısmında strt btn 2,stop btn 9 bunlar röle pinleri değilmi? 

#define StartBtn 2
#define StopBtn 9
    struct Signal {
  char type[15];
  

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

//lora  modül pano kısmı
 #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(1000);
        digitalWrite(StartBtn, LOW);
        delay(1000);
                } else {
        Serial.println("role stop");
        digitalWrite(StopBtn, HIGH);
        delay(1000);
        digitalWrite(StopBtn, LOW);
        delay(1000);
        }
    }
      rsc.close();
  }
}

kumanda kısmı

#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, FALLING);
}

void loop() {

if (butonDurumu) {
butonDurumu = false;
if (roleDurumu) {
data.role = 1;
ResponseStatus rs = E22.sendFixedMessage(0, 44, 25, &data, sizeof(Signal));
Serial.println(rs.getResponseDescription());
} else {
data.role = 0;
ResponseStatus rs = E22.sendFixedMessage(0, 44, 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;
}

Mehmet En iyi cevap olarak seçildi Haziran 24, 2022
4 cevaptan 1'ini inceliyorsun, tüm cevapları görmek için buraya tıklayın.
Whatsapp'tan Yaz
1
Ürün Danışmanı Burada!
fixaj.com Ürün Danışmanı
Merhaba,

Ben sadece "Satın Alma" konularında destek vermekteyim.

Kodlama yardımı, haberleşme hataları, bağlantı şemaları vb. konularla ilgili "Soru&Cevap" https://fixaj.com/sorucevap/ sayfamızı ziyaret edebilirsiniz.