nichtgedacht
User
Hallo zusammen,
ich habe die Arduino Lib https://github.com/jarzebski/Arduino-MS5611
modifiziert: https://github.com/nichtgedacht/Arduino-MS5611-Interrupt
Für Eigenbausensoren (Variometer etc.) steht nun die Zeit die die MCU
bisher mit Warten auf die AD-Wandlung verbringt zum Rechnen zur Verfügung.
Für ein einfaches Variometer sieht die Hauptschleife z.B. so aus:
Mit Nutzung einer Telemetrie Library kann der Wert stattdessen zum RC-Empfänger
geschrieben werden.
Gruß
Dieter
ich habe die Arduino Lib https://github.com/jarzebski/Arduino-MS5611
modifiziert: https://github.com/nichtgedacht/Arduino-MS5611-Interrupt
Für Eigenbausensoren (Variometer etc.) steht nun die Zeit die die MCU
bisher mit Warten auf die AD-Wandlung verbringt zum Rechnen zur Verfügung.
Für ein einfaches Variometer sieht die Hauptschleife z.B. so aus:
Code:
void loop () {
if (ms5611.data_ready) { 12.5 ms if MS5611_ULTRA_HIGH_RES, MS5611_STANDARD (P-, T-Resolution)
long realPressure = ms5611.getPressure (true);
double relativeAltitude = ms5611.getAltitude (realPressure, referencePressure);
r_altitude0 = r_altitude0 - 0.076923 * (r_altitude0 - relativeAltitude); // dt 12500 us T = 0.15
r_altitude = r_altitude - 0.04 * (r_altitude - relativeAltitude); // T = 0.3
climb0 = (r_altitude0 - r_altitude) * 6.66667; // dt 12500 us
climb = climb - 0.1111 * ( climb - climb0 ); // T = 0.1
Serial.println (climb);
}
}
Mit Nutzung einer Telemetrie Library kann der Wert stattdessen zum RC-Empfänger
geschrieben werden.
Gruß
Dieter