Soru & Cevap

İki HC05 modül arası sensör verisi aktarımı

09.12.2020 - 11:40

Herkese merhaba. İki HC05 sensör arasında veri transferi ile alakalı sıkıntı yaşıyorum. Temel amacım üzerinde Loadcell sensör ve mesafe sensörü olan bir araçtan kuvvet ve mesafe verilerini bluetooth haberleşme ile anlık olarak alıp bilgisayarda seri ekrana yazdırmak. Bu amaç için bir sürü uğraşlar sonucunda biraz yol katettim. Ancak bir noktada sıkıştım ve malesef haftalardır çözüm bulamadım. Bu nedenle buradan sizlerden yardım talep ediyorum. 

Master olarak ayarladığım bluetooth modülünden verileri bilgisayara bağlı slave olarak atadığım başka bir modüle göndermek istiyorum. Bu modülden gelen verileri de seri ekranda yazdırmak istiyorum (bilgisayarımın bluetooth modülü arızalı olduğundan ikinci bir bluetooth modülü slave olarak kullanmak durumunda kaldım).

İlk sorum: İki farklı sensörden okuduğum verileri aynı bluetooth modülü ile aynı anda gönderme şansım var mı ?

İkinci sorum: İlk sorunu çözemediğim için mesafe sensörünü kullanmadan veri transferi yapmayı denedim. Veri transferi gerçekleşiyor ancak döngü 20 saniye gecikme ardından 1 saniye veri aktarımı şeklinde devam ediyor. Sürekli veri transferini nasıl sağlayabilirim?

Kullandığım kod:

#include <SoftwareSerial.h>
#define tx 2
#define rx 3
SoftwareSerial HC05master(rx,tx); //RX, TX


#define trigPin 13
#define echoPin 12
 float duration, distanced, d;
 


#include "HX711.h" // can be download from https://learn.sparkfun.com/tutorials/load-cell-amplifier-hx711-breakout-hookup-guide/all 
const int loadCell_DT = 9;
const int loadCell_SCK = 8;

HX711 load;

void setup()
{
  Serial.begin(9600);
  
  HC05master.begin(9600);
  
  pinMode(tx, OUTPUT);
  pinMode(rx, INPUT);
  
     pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);
    load.begin(loadCell_DT, loadCell_SCK);

}

void loop()
{


float Force=((load.read()+18252.00)*0.102/123446.000)*9.81+1;

 /*  digitalWrite(trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  
  distanced = (duration * 0.0343 / 2);
  d=sqrt (pow (distanced,2)-pow(1.30,2));

 /*
 HC05master.write(Force);
 
// HC05master.write(d);
 
}

38 Görüntülenme

0 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.