Bluetooth komutlarını yerleştirme
  • selamlar, halihazırda çalışan bir kodum var ve ben sinyali bluetooth ile aktarmak istiyorum. ama bluetooth komutlarını koda nasıl yerleştireceğimi bilemedim. yardımcı olur musunuz?
    Arduino Kodu:

    #include < FIRFilter.h>
    #include < IIRFilter.h>

    const float ECG_samplefreq = 250;
    const uint8_t ECG_pin = A0;
    const int16_t DC_offset = 511;

    // 50 Hz notch
    const float b_notch[] = { 1.39972748302835, -1.79945496605670, 1.39972748302835 };

    // 35 Hz Butterworth low-pass
    const float b_lp[] = { 0.00113722762905776, 0.00568613814528881, 0.0113722762905776, 0.0113722762905776, 0.00568613814528881, 0.00113722762905776 };
    const float a_lp[] = { 1, -3.03124451613593, 3.92924380774061, -2.65660499035499, 0.928185738776705, -0.133188755896548 };

    // 0.3 Hz high-pass
    const float b_hp[] = { 1, -1 };
    const float a_hp[] = { 1, -0.995 };

    FIRFilter notch(b_notch);
    IIRFilter lp(b_lp, a_lp);
    IIRFilter hp(b_hp, a_hp);

    void setup() {
    Serial.begin(115200);
    }

    void loop() {
    const static unsigned long ECG_interval = round(1e6 / ECG_samplefreq);
    static unsigned long ECG_prevmicros = micros();

    if (!Serial) {
    ECG_prevmicros = micros();
    } else if (micros() - ECG_prevmicros >= ECG_interval) {
    measureECGAndSend();
    ECG_prevmicros += ECG_interval;
    }
    }

    void measureECGAndSend() {
    int16_t value = analogRead(ECG_pin);
    float filtered = notch.filter(
    lp.filter(
    hp.filter(value - DC_offset)));
    value = round(filtered) + DC_offset;
    Serial.println(value);
    }
  • Bluetooth kodları zaten yok ki burada , neleri yerleştirmek istiyorsunuz koda , basit blt örneklerini çalıştırmayı deneyin ,daha sonra bir kaç arduino başlangıç dersi izleyin.
  • Kodun zaten bluetooth komutları yok, nasıl yerleştirileceğini soruyorum. Sadece asıl koddaki A0 sinyalini iletmek istiyorum. Aşağıdaki bluetooth örneği mesela, bu kodun gerekmeyen yerlerini silip yukarıdaki koda yerleştirdim ama bir yerde yanlış yapıyorum.

    char veri;
    void setup() {
    Serial.begin(9600);
    pinMode(13,OUTPUT);
    Serial.println("Robotiktak HC-06 Kontrol Projesi");
    }

    void loop() {
    if (Serial.available()>0){

    veri=Serial.read();

    if(veri=='1'){
    digitalWrite(13,1);
    Serial.println("LED Yakildi.");
    }

    if (veri=='0'){
    digitalWrite(13,0);
    Serial.println("LED Sonduruldu." );
    }
    }
    delay(100);
    }
  • Yerleştirdiğiniz haline paylaşabilir misiniz? onun üzerinden gidelim.
  • #include < FIRFilter.h>
    #include < IIRFilter.h>

    char veri; //burayı ekledim
    const float ECG_samplefreq = 250;
    const uint8_t ECG_pin = A0;
    const int16_t DC_offset = 511;

    // 50 Hz notch
    const float b_notch[] = { 1.39972748302835, -1.79945496605670, 1.39972748302835 };

    // 35 Hz Butterworth low-pass
    const float b_lp[] = { 0.00113722762905776, 0.00568613814528881, 0.0113722762905776, 0.0113722762905776, 0.00568613814528881, 0.00113722762905776 };
    const float a_lp[] = { 1, -3.03124451613593, 3.92924380774061, -2.65660499035499, 0.928185738776705, -0.133188755896548 };

    // 0.3 Hz high-pass
    const float b_hp[] = { 1, -1 };
    const float a_hp[] = { 1, -0.995 };

    FIRFilter notch(b_notch);
    IIRFilter lp(b_lp, a_lp);
    IIRFilter hp(b_hp, a_hp);

    void setup() {
    Serial.begin(115200);
    }

    void loop() {
    Serial.available() // burayı akledim
    Serial.println(analogRead(ECG_pin)); //burayı ekledim
    veri=Serial.read(); //burayı ekledim

    const static unsigned long ECG_interval = round(1e6 / ECG_samplefreq);
    static unsigned long ECG_prevmicros = micros();

    if (!Serial) {
    ECG_prevmicros = micros();
    } else if (micros() - ECG_prevmicros >= ECG_interval) {
    measureECGAndSend();
    ECG_prevmicros += ECG_interval;
    }
    }

    void measureECGAndSend() {
    int16_t value = analogRead(ECG_pin);
    float filtered = notch.filter(
    lp.filter(
    hp.filter(value - DC_offset)));
    value = round(filtered) + DC_offset;
    Serial.println(value);
    }

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.