Hocam merhabalar, BMP183 ile irtifa verisi alıp Lora ile göndermek istiyorum. Ancak irtifa verisini olması imkansız değerler alıyorum (30332m gibi…). Sensörde problem yok, aynı kütüphaneyle Lora olmadan çalışıyor. İşin içine Lora girdiğinde sıkıntı yaşanıyor. Veriyi diğer Loraya göndermede sorun yaşamıyorum ancak aldığım veri yanlış. Sebebi ne olabilir? Cevabınız için şimdiden teşekkür ederim. Imu+GPS veya Basınç+GPS gibi verilerin gönderilmesi hakkında video veya yazı da gelirse çok seviniriz.
Soru yeni cevaplara kapalıdır.
Mehmet En iyi cevap olarak seçildi Temmuz 29, 2021
Bu verici
#include "LoRa_E32.h" #include <SPI.h> #include <Adafruit_Sensor.h> #include <Adafruit_BMP183.h> #include <SoftwareSerial.h> SoftwareSerial mySerial(4, 5); // Arduino RX <-- e32 TX, Arduino TX --> e32 RX LoRa_E32 e32ttl(&mySerial); #define BMP183_CLK 13 #define BMP183_SDO 12 #define BMP183_SDI 11 #define BMP183_CS 10 float sensorValue; Adafruit_BMP183 bmp = Adafruit_BMP183(BMP183_CLK, BMP183_SDO, BMP183_SDI, BMP183_CS); struct Signal { byte yukseklik[4]; } data; void setup() { Serial.begin(9600); e32ttl.begin(); delay(500); } void loop() { float seaLevelPressure = SENSORS_PRESSURE_SEALEVELHPA; // should be ~1000 Serial.print("Altitude: "); Serial.print(bmp.getAltitude(seaLevelPressure)); Serial.println(" m"); Serial.println(""); sensorValue=bmp.getAltitude(seaLevelPressure); struct Signal { byte yukseklik[4]; } data2; (*(float*)(data2.yukseklik)) = sensorValue; ResponseStatus rs = e32ttl.sendFixedMessage(0, 2, 2, &data2, sizeof(Signal)); Serial.println(rs.getResponseDescription()); delay(500); }
Bu alıcı
#include "LoRa_E32.h" #include <SoftwareSerial.h> SoftwareSerial mySerial(4, 5); // Arduino RX <-- e32 TX, Arduino TX --> e32 RX LoRa_E32 e32ttl(&mySerial); struct Signal { byte yukseklik[4]; } data; void setup() { Serial.begin(9600); e32ttl.begin(); delay(500); } void loop() { while (e32ttl.available() > 1) { ResponseStructContainer rsc = e32ttl.receiveMessage(sizeof(Signal)); struct Signal data = *(Signal*) rsc.data; Serial.print("Yukseklik: "); Serial.println(*(float*)(data.yukseklik)); rsc.close(); } }
Enes Ertürk Durumu yayınlanmak üzere'ye değiştirildi Temmuz 26, 2021