Çözüldü2.07K görüntülenmeArduino#e32 #roket
0

Merhaba,

E22 modülünüz ve arduino kullanarak uzaktan kumanda yapmak istiyorum. Verici devremde 2 adet buton , alıcı devremde 2 adet röle olacak. 1. buton hıgh olunca 1. röle hıgh olacak, 1. buton low olunca 1. röle low olacak . Aynı durum 2. buton ve röle içinde geçerli olacak. Sizin sayfanızda bulunan ” Lora ile Uzaktan Kontaktör Devresi ” projesini uyguladığımda haberleşme sağlanıyor . Fakat Emre beyin kodlarını uyguladığımda kanal ve adres kısımlarını doğru ayarlamış olamama rağmen haberleşme olmuyor. Kontaktör uygulamasında set etme kodu yüklediğimden kaynaklı bir durum olabilir mi acaba. Kodları görsel olarak ekliyorum. Bahsetmiş olduğum proje için destek olursanız çok sevinirim . İyi çalışmalar dilerim.

Sipariş No: 2879835

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

çok fazla vaktim yok ama sizin için buton kısmını baştan yazdım. umarım alıcı kısmını kendiniz yazabilirsiniz. video dakinin aynısı

#include "LoRa_E22.h"
#include <SoftwareSerial.h>
 #define M0 7
#define M1 6
#define buton1 5
#define buton2 4
 SoftwareSerial mySerial(10, 11);
LoRa_E22 E22(&mySerial);
 struct Signal {
  char sifre[15] = "Fixaj.com";
  char konum[15];
  byte btn1;
  byte btn2;
} data;
 bool btn1Durum = false;
bool btn2Durum = false;
bool gonder = false;
 unsigned long kanalBekleme_sure = 0;
int kanalBekleme_bekleme = 1000;  //bağlantı yok ledi 
 void setup() {
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
   Serial.begin(9600);
  E22.begin();
   pinMode(buton1, INPUT_PULLUP);
  pinMode(buton2, INPUT_PULLUP);
   btn1Durum = digitalRead(buton1);
  btn2Durum = digitalRead(buton2);
   delay(500);
  Serial.println("başlıyoruz.. Fixaj.com");
}
 void loop() {
   if (digitalRead(buton1) == LOW) {
    // poor mans debounce/press-hold, code not ideal for production
    delay(50);
    if (digitalRead(buton1) == LOW) {
      Serial.println("Button1 toggle");
      data.btn1 = 1;
      gonder = true;
    }
  } else {
    Serial.println("Button1 false 2");
    data.btn1 = 0;
    gonder = true;
  }
     if (digitalRead(buton2) == LOW) {
    // poor mans debounce/press-hold, code not ideal for production
    delay(50);
    if (digitalRead(buton2) == LOW) {
      Serial.println("Button2 toggle");
      data.btn2 = 1;
      gonder = true;
    }
  } else {
    Serial.println("Button2 false 2");
    data.btn2 = 0;
    gonder = true;
  }
   if (millis() > kanalBekleme_sure + kanalBekleme_bekleme && gonder) {
    kanalBekleme_sure = millis();
    ResponseStatus rs = E22.sendFixedMessage(0, 1, 63, &data, sizeof(Signal));
    Serial.println(rs.getResponseDescription());
    gonder = false;
  }
}

Mehmet En iyi cevap olarak seçildi Ekim 26, 2022
2 cevaptan 1'ini inceliyorsun, tüm cevapları görmek için buraya tıklayın.