|
|
@@ -17,13 +17,13 @@ public class Beschleunigungssensor extends AppCompatActivity implements SensorEv |
|
|
|
|
|
|
|
private SensorManager bsmanager; |
|
|
|
private ArrayList<Float> Gesamt_be; |
|
|
|
private int sensorType = Sensor.TYPE_GYROSCOPE, zaehler_runde =0, listen_groesse = 10000; |
|
|
|
private int sensorType = Sensor.TYPE_GYROSCOPE, zaehler_runde =0, listen_groesse = 200, kalibrieren; |
|
|
|
private Sensor sens, sensor_l; |
|
|
|
private float x_value = 0, y_value, z_value, Vorbesetzung = 0, gesamt_runde =0; |
|
|
|
private double Schwellwert = 0.5, mittelwertsumme = 0.0, Offset; |
|
|
|
private double Schwellwert = 0.2, mittelwertsumme = 0.0, Offset = 0.1; |
|
|
|
String Daten, Warnung, Zeitstempel; |
|
|
|
TextView Daten_Bsensor, Warnung_Bsensor, test; |
|
|
|
private boolean toggle = true, ts_setzen = true, kalibrieren; |
|
|
|
private boolean toggle = true, ts_setzen = true, start_messen; |
|
|
|
|
|
|
|
@Override |
|
|
|
protected void onCreate(Bundle savedInstanceState) { |
|
|
@@ -42,15 +42,16 @@ public class Beschleunigungssensor extends AppCompatActivity implements SensorEv |
|
|
|
sens = bsmanager.getSensorList(sensorType).get(0); |
|
|
|
} |
|
|
|
Gesamt_be = new ArrayList<Float>(); |
|
|
|
for (int i = 0; i < listen_groesse; i++){ |
|
|
|
for (int i = 0; i < listen_groesse ; i++){ |
|
|
|
Gesamt_be.add(Vorbesetzung); |
|
|
|
} |
|
|
|
kalibrieren = true; |
|
|
|
kalibrieren = 0; |
|
|
|
start_messen = false; |
|
|
|
} |
|
|
|
|
|
|
|
public static String getTimestamp(){ |
|
|
|
Long tslong = System.currentTimeMillis(); |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy, HH:mm:ss"); |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); |
|
|
|
Date date = new Date(tslong); |
|
|
|
String result = sdf.format(date); |
|
|
|
|
|
|
@@ -69,6 +70,7 @@ public class Beschleunigungssensor extends AppCompatActivity implements SensorEv |
|
|
|
Gesamt_be.remove(zaehler_runde); |
|
|
|
Gesamt_be.add(zaehler_runde, gesamt_runde); |
|
|
|
mittelwertsumme = 0.0; |
|
|
|
|
|
|
|
//Mittelwert des Arrays berechnen |
|
|
|
for (int i = 0; i < listen_groesse; i++){ |
|
|
|
if (Gesamt_be.get(i) < 0){ |
|
|
@@ -78,17 +80,18 @@ public class Beschleunigungssensor extends AppCompatActivity implements SensorEv |
|
|
|
} |
|
|
|
} |
|
|
|
mittelwertsumme = mittelwertsumme/listen_groesse; |
|
|
|
if (kalibrieren == true){ |
|
|
|
if (kalibrieren < listen_groesse){ |
|
|
|
Offset = mittelwertsumme; |
|
|
|
kalibrieren = false; |
|
|
|
kalibrieren++; |
|
|
|
}else { |
|
|
|
start_messen = true; |
|
|
|
} |
|
|
|
mittelwertsumme = mittelwertsumme - Offset; |
|
|
|
StringBuilder testsb = new StringBuilder(); |
|
|
|
testsb.append(mittelwertsumme); |
|
|
|
String tests = testsb.toString(); |
|
|
|
test.setText(tests); |
|
|
|
|
|
|
|
if((mittelwertsumme > Schwellwert ) & (ts_setzen == true)){ |
|
|
|
if((mittelwertsumme > (Schwellwert+Offset) ) & (ts_setzen == true) &(start_messen == true)){ |
|
|
|
Zeitstempel = getTimestamp(); |
|
|
|
StringBuilder ts = new StringBuilder(); |
|
|
|
ts.append("Warnung: ") |
|
|
@@ -98,8 +101,8 @@ public class Beschleunigungssensor extends AppCompatActivity implements SensorEv |
|
|
|
Warnung = ts.toString(); |
|
|
|
Warnung_Bsensor.setText(Warnung); |
|
|
|
ts_setzen = false; |
|
|
|
}else if((mittelwertsumme > Schwellwert) & (ts_setzen == false)){ |
|
|
|
} else if ((mittelwertsumme < Schwellwert) & (ts_setzen == false)) { |
|
|
|
}else if((mittelwertsumme > (Schwellwert+Offset)) & (ts_setzen == false)){ |
|
|
|
} else if ((mittelwertsumme < (Schwellwert+Offset)) & (ts_setzen == false)) { |
|
|
|
Warnung_Bsensor.setText(""); |
|
|
|
ts_setzen = true; |
|
|
|
} |