Çözüldü1.42K görüntülenmeLoraLora
0

https://fixaj.com/kablosuz-ve-adresli-yangin-alarm-sistemi/ ni yapmaya çalışıyorum. Kodları yüklüyorum. Vericinin Serialinde Success yazıyor ama alıcıya bilgi gitmiyor.

//Vericinin Kodları<br />#include <LoRa_E32.h><br />#include <SoftwareSerial.h><br />  SoftwareSerial mySerial(10, 11);<br />  /*<br />   Pinler     Arduino Nano    Lora E32 433T20d<br />                  11                3<br />                  10                4<br />*/<br />  LoRa_E32 E32(&mySerial);<br />  struct Signal {<br />  char type[15] = "Urfa63";<br />  byte role;<br />} data;<br />  #define M0 7<br />#define M1 6<br />#define BTN 3<br />#define LED 9<br />  bool ledAcKapa = false;<br />volatile bool ledDurum = false;<br />volatile bool butonDurumu = false;<br />  //akıllı bekleme<br />unsigned long kanalBekleme_sure = 0;<br />int kanalBekleme_bekleme = 1000;<br />  void setup() {<br />  pinMode(M0, OUTPUT);<br />  pinMode(M1, OUTPUT);<br />  digitalWrite(M0, LOW);<br />  digitalWrite(M1, LOW);<br />    pinMode(BTN, INPUT_PULLUP);<br />  pinMode(LED, OUTPUT);<br />  digitalWrite(LED, LOW);<br />    Serial.begin(9600);<br />  E32.begin();<br />  //delay(500);<br />  attachInterrupt(digitalPinToInterrupt(BTN), butonOku, FALLING);<br />  //delay(500);<br />    }<br />  void loop() {<br />    if (butonDurumu) {<br />    butonDurumu = false;<br />    data.role = 1;<br />    ResponseStatus rs = E32.sendFixedMessage(0, 1, 25, &data, sizeof(Signal));<br />    Serial.println(rs.getResponseDescription());<br />    Serial.print("Yangın ikaz butona basıldı: ");<br />    Serial.println("2-Mutfak");<br />  }<br />    if (ledDurum) {<br />    if (millis() > kanalBekleme_sure + kanalBekleme_bekleme) {<br />      kanalBekleme_sure = millis();<br />      ledAcKapa = !ledAcKapa;<br />      digitalWrite(LED, ledAcKapa);<br />    }<br />  }else{<br />    digitalWrite(LED, LOW);<br />  }<br />}<br />  void butonOku() {<br />  static unsigned long last_interrupt_time = 0;<br />  unsigned long interrupt_time = millis();<br />  if (interrupt_time - last_interrupt_time > 500)<br />  {<br />    ledDurum = !ledDurum;<br />    butonDurumu = true;<br />  }<br />  last_interrupt_time = interrupt_time;<br />}

//Alıcının Kodları<br />#include <LoRa_E32.h><br />  #include <SoftwareSerial.h><br />     SoftwareSerial mySerial(10, 11);<br />  /*<br />   Pinler     Arduino Nano    Lora E32 433T20d<br />                  11                3<br />                  10                4<br />*/<br />  LoRa_E32 E32(&mySerial);<br />  struct Signal {<br />  char type[15];<br />  byte role;<br />} data;<br />  #define M0 7<br />#define M1 6<br />    void setup() {<br />  pinMode(M0, OUTPUT);<br />  pinMode(M1, OUTPUT);<br />  digitalWrite(M0, LOW);<br />  digitalWrite(M1, LOW);<br />    Serial.begin(9600);<br />  E32.begin();<br />}<br />  void loop() {<br />    while (E32.available()  > 1) {<br />      // Gelen mesaj okunuyor<br />    ResponseStructContainer rsc = E32.receiveMessage(sizeof(Signal));<br />    struct Signal data = *(Signal*) rsc.data;<br />    Serial.print("Gelen Messaj: ");<br />    Serial.println(data.role);<br />      if (strcmp(data.type, "Urfa63") == 0) {<br />      Serial.println("sifre doğru");<br />      if (data.role == 1) {<br />          Serial.println("DİKKAT!!! Mutfak'da Yangın başladı");<br />        } else if (data.role == 2) {<br />        Serial.println("DİKKAT!!! Depo'da Yangın Başladı");<br />      }<br />    }<br />    rsc.close();<br />  }<br />}

Vericinin Programı, Alıcıda sadece adress 62. Fixed Mode’u Eneabled yapsam da bir değişiklik olmadı.

Devrede push button yerine touch button kullandım.

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

Hocam E32.sendFixedMessage(0, 1, 25, yazıyor verici kodunda bu sizin parametre ayarları ile hiç alakalı değil. 1 adresi, 25 kanalı gösteriyor. Lütfen videoları biraz dikkatli izleyin youtube 40 tan fazla video hazırladım.

Ayrıca soruyu okumam çok zor oldu size zahmet kodları cevap olarak tekrar yollayın, üstte insert code yazan yerden. devrenizin fotoğraflarını da yükleyin

Mehmet En iyi cevap olarak seçildi Şubat 19, 2022