Çözüldü3.85K görüntülenmeArduinoLora
0

Gönderici loradan gönderdiğim bütün veriler gidiyor fakat alıcıda yazdırdıktan sonra belli bir yerden sonra donma oluyor. Fakat arduinoyu resetlediğimde düzeliyor. B

#include "Arduino.h"<br />#include <math.h><br />#include "LoRa_E32.h"<br />#include <SoftwareSerial.h><br />SoftwareSerial mySerial(10, 11);<br />LoRa_E32 e32ttl(&mySerial);<br /> void printParameters(struct Configuration configuration);<br />void printModuleInformation(struct ModuleInformation moduleInformation);<br /> void setup()<br />{<br />  pinMode(A0, INPUT);<br />  Serial.begin(9600);<br />  while (!Serial);<br />  e32ttl.begin();<br />  Serial.println("GONDERICI");<br /> }<br />double Termistor(int analogOkuma) {<br />  double sicaklik;<br />  sicaklik = log(((10240000 / analogOkuma) - 10000));<br />  sicaklik = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * sicaklik * sicaklik)) * sicaklik);<br />  sicaklik = sicaklik - 273.15;<br />  return sicaklik;<br />}<br /> struct paket<br />{<br />  double sayi[10];<br /> };<br /> struct paket veri1;<br />struct paket veri2;<br /> void loop()<br />{<br />  for (int i = 0; i < 10; i++)<br />  {<br />    int deger = analogRead(A0);<br />    double sicaklik = Termistor(deger);<br />    veri1.sayi[i] = sicaklik;<br />    ResponseStatus rs = e32ttl.sendFixedMessage(0, 3, 7, &veri1, sizeof(paket));<br />    delay(1000);<br />    for (int i = 0; i < 10; i++)<br />    {<br />      Serial.println(veri1.sayi[i]);<br />     }<br />  }<br />     for (int i = 0; i < 10; i++)<br />     {<br />       int deger = analogRead(A0);<br />       double sicaklik = Termistor(deger);<br />       veri2.sayi[i] = sicaklik;<br />       ResponseStatus rw = e32ttl.sendFixedMessage(0, 3, 7, &veri2, sizeof(paket));<br />       delay(1000);<br />             for (int i = 0; i < 10; i++)<br />      {<br />        Serial.println(veri2.sayi[i]);<br />       }<br />     }<br />    }<br /> #include "Arduino.h"<br />#include "LoRa_E32.h"<br />#include <SoftwareSerial.h><br />SoftwareSerial mySerial(10, 11);<br />LoRa_E32 e32ttl(&mySerial);<br /> void setup()<br />{<br />  Serial.begin(9600);<br />  while (!Serial);<br />  e32ttl.begin();<br />  Serial.println("ALICI");<br />}<br /> struct paket<br />{<br />   double sayi[10];<br /> };<br /> struct paket veri1;<br />struct paket veri2;<br /> void loop()<br />{<br />  if (e32ttl.available()  > 1) {<br />     for (int i = 0; i < 10; i++) {<br />      ResponseStructContainer rsc = e32ttl.receiveMessage(sizeof(paket));<br />      veri1 = *(paket*) rsc.data;<br />      delay(1000);<br />           for (int i = 0; i < 10; i++) {<br />        Serial.println(veri1.sayi[i],1);<br />      }<br />    }

unun sebebi ne olabilir açıklar mısınız. Teşekkür ederim.

Soru yeni cevaplara kapalıdır.
Mehmet En iyi cevap olarak seçildi Ağustos 19, 2021
0

Hocam bu şekilde kodu tam okuyamıyorum. ancak struct yapısı içinde veriyi byte olarak tanımlar mısın. Soruna çözüm olmak için devre şemasının da fotoğraflarını ekler misin. Bir lora modüllerinin parametre ayar ekranlarını da eklersen yardımcı olabilirim.

Mehmet Cevaplanan soru Ağustos 8, 2021
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.