Сколько секунд его статика или в движении? - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть код датчика движения MPU6050 с esp8266.

Я пытаюсь проанализировать значения, которые я получаю от датчика движения (во время движения и статики).

Затем я пытаюсь создатьдва условия:

if( x > 55000 || y < 1000 ) {
    Serial.print("dynamic");
}

if( x > 250 && x < 1000 || y > 64000 ){ 
    Serial.print("static");
}

Я также пробую этот код, чтобы получить фактическую секунду, когда он выполняется, но он не возвращает правильное.

#include <Ticker.h>
#include <Wire.h>
//#include <ESP8266WiFi.h> 
#include <MPU6050.h>

int  startTime=0,endTime=0;
double x;
double y;
int SCL_PIN=26;  //5
int SDA_PIN=25;  //4
MPU6050 mpu;
Ticker blinker;

void changeState()
{
    Vector rawAccel =mpu.readRawAccel();

    x =  rawAccel.XAxis;
    y = rawAccel.YAxis;

    if( x > 250 && x < 1000 || y > 64000 )
    { 
        i++;
        Serial.print("static");
        Serial.println(i);
    }
    else if(x>900||y<500)    
    {
        j++;
        Serial.print("dynamic");
        Serial.println(j);

    }

}


void setup()
{
    Serial.begin(9600);
    Serial.println("Initialize MPU6050");

    while( !mpu.beginSoftwareI2C(SCL_PIN,SDA_PIN,MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G) )
    {
        Serial.println("Could not find a valid MPU6050 sensor, check wiring!");
        delay(500);
    }

    blinker.attach(1, changeState);  //Each 1 second it trigger 

}

void loop()
{

}

Как мне узнатьфактическое время его выполнения, статическое или динамическое?

...