Çözüldü1.59K görüntülenmeArduinolora22
0

MERHABA ;Değerli arkadaşlar

mehmet beyin yardımlarıyla 2tane lora modülü haberleştirdim ,sonsuz teşekkürlerimi sunarım bana elinden gelen çabayı gösterdiği için.

 sorum şu; röle alıcı karttaki KODA, wdt bekçi köpeği ekledim fixaj’daki kodları aynısını röle kısmına yapıştırdım ,”BEKÇİ KÖPEĞİ” doğru stabil çalışıyor mu? wdt nin çalıştığını nasıl anlayabilirim.kodlarda yanlışlık varmı yazılım konusunda biraz zayıfım yardımlarınızı rica ediyorum.

” kodları aşağıda paylaştım ”

//ismail sinaplı, RÖLE KARTI<br /> #include <avr/wdt.h> // BEKÇİ KÖPEĞİ kütüphanesi tanımlandı <br />#include "LoRa_E22.h"<br />#include <SoftwareSerial.h><br />SoftwareSerial mySerial(10, 11);<br />LoRa_E22 e32ttl(&mySerial);<br /> #include <LiquidCrystal_I2C.h><br />LiquidCrystal_I2C lcd(0x27, 16, 2);<br /> #define ROLE_PIN A3<br /> #define M0 7<br />#define M1 6<br /> struct Signal {<br />  char type[15] = "Bahce";<br />  byte temp[4];<br />  byte role;<br />} data;<br />  void setup()<br />{<br />  Serial.begin(9600);<br />  Serial.println("Setup kısmından başlıyor..");<br />  delay(2000);    <br />  wdt_enable(WDTO_8S); //8 saniye bekle sonra reset at!<br />   // 2X16 İ2C LCD ekran TANIMLAMALARINI YAPIYORUZ<br />  lcd.begin ();<br />  lcd.setCursor(0,0);<br />lcd.print("KABLOSUZ KUYU");<br />lcd.setCursor(0,1);<br />lcd.print("DEPO KONTROL");<br />delay(2500);<br />lcd.clear();<br />lcd.setCursor(0,0);<br />lcd.print  ("BURAK-OTOMASYON");<br />lcd.setCursor(0,1);<br />lcd.print("ISMAIL SINAPLI");<br />delay(1700);<br />lcd.clear();<br />        pinMode(M0, OUTPUT);<br />  pinMode(M1, OUTPUT);<br />  digitalWrite(M1, LOW);<br />  digitalWrite(M0, LOW);<br />  pinMode(ROLE_PIN, OUTPUT);<br />     Serial.begin(9600);<br />  Serial.println("Test");<br />  e32ttl.begin();<br />  delay(500);<br />  }<br />void loop()  {<br /> Serial.println("Loop kısmından başlıyor..");<br />   for (int i = 0; i <= 5; i++) {<br />    Serial.print("Loop : ");<br />    Serial.print(i);<br />    Serial.println();<br />    delay(500);<br />    wdt_reset(); //watchdog bekleme süresini sıfırla<br />    }<br />          // delay(1000);<br />   //digitalWrite(ROLE_PIN, 0);<br />  /*<br />     (float*)(data.temp) = 74;<br />     (int*)(data.role) = int(digitalRead(ROLE_PIN));<br />     ResponseStatus rs = e32ttl.sendFixedMessage(0, 44, 25, &data, sizeof(Signal));<br />    Serial.println(rs.getResponseDescription());<br />     Serial.println(*(float*)(data.temp));<br />    Serial.println(*(int*)(data.role));<br />  */<br />  while (e32ttl.available()) {<br />    ResponseStructContainer rsc = e32ttl.receiveMessage(sizeof(Signal));<br />    struct Signal data = *(Signal*) rsc.data;<br />          Serial.print("buton: ");<br />    Serial.println(data.role);<br />             if (data.role == 1) {<br />      digitalWrite(ROLE_PIN, HIGH);<br />      Serial.println("DİKKAT!DEPO BOSALIYOR");<br /> lcd.setCursor(0,0);<br />  lcd.print("   DIKKAT !!!"); // LCD <br /> lcd.setCursor(0,1);<br />lcd.print("DEPO DOLIYOR");<br />              } else if (data.role == 0) {<br />       digitalWrite(ROLE_PIN, LOW);<br />      Serial.println(" DEPO DOLU ");<br />       lcd.setCursor(0,0);<br />  lcd.print(" ISLEM TAMAM "); // LCD <br />lcd.setCursor(0,1);<br /> lcd.print(" depo doldu "); <br />    }<br />    rsc.close();<br />  }<br />}<br />  ////// VERİCİ KISMI<br /> //ismail sinaplı çalıştı çok şükür<br />#include "LoRa_E22.h"<br />#include <SoftwareSerial.h><br />SoftwareSerial mySerial(10, 11);<br />LoRa_E22 e32ttl(&mySerial);<br /> #define BUTON_PIN 5<br /> #define M0 7<br />#define M1 6<br /> struct Signal {<br />  char type[15] = "LoRa Test";<br />  byte temp[4];<br />  byte role;<br />} data;<br /> void setup() {<br />  pinMode(M0, OUTPUT);<br />  pinMode(M1, OUTPUT);<br />  digitalWrite(M0, LOW); <br />  digitalWrite(M1, LOW); <br />  pinMode(BUTON_PIN, INPUT_PULLUP);<br />  Serial.begin(9600);<br />  e32ttl.begin();<br />  delay(500);<br />}<br /> void loop() {<br />  *(float*)(data.temp) = float(74.63);<br />  data.role = digitalRead(BUTON_PIN);<br />  Serial.print("buton: ");<br />  Serial.println(digitalRead(BUTON_PIN));<br />//alıcı röle kartındaki loranın adresini ve kanal nosunu yazıyoruz.<br />  ResponseStatus rs = e32ttl.sendFixedMessage(0, 63, 25, &data, sizeof(Signal));<br />  Serial.println(rs.getResponseDescription());<br />  delay(1000);<br />   while (e32ttl.available()  > 1) {<br />    ResponseStructContainer rsc = e32ttl.receiveMessage(sizeof(Signal));<br />    struct Signal data = *(Signal*) rsc.data;<br />     Serial.print("Yer: ");<br />    Serial.println(data.type);<br />    Serial.print("Ortam Sıcaklığı: ");<br />    Serial.println(*(float*)(data.temp));<br />    Serial.print("role: ");<br />    Serial.println(*(int*)(data.role));<br />    rsc.close();<br />  }<br />}

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

hocam kodu okuyamıyorum. bana mail atın [email protected]

Mehmet En iyi cevap olarak seçildi Haziran 24, 2022

mail gönderdim hocam.

0

mail gönderdim hocam.

ismail sinaplı Cevaplanan soru Haziran 22, 2022