我有一个带esp8266的代码MPU6050运动传感器。
我尝试分析从运动传感器(在运动和静态过程中)获得的值。
然后我尝试创建两个条件:
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()
{
}
如何确定执行时间是静态的还是动态的?