Strana 70 z 73
Poznámky redaktora
endTransmission();
delay(1000);
Serial.println("BMI160 auto-kalibrace dokončena");
}
// ---------- utilities ----------
void findLastIndex() {
fileIndex 0;
File root SD.Voltage (V).Temp_Motor.println("Chyba tvorby logu!");
}
}
.Accel Y.Gyro Y.3 4095.write(0x37); Wire.startsWith("/datalog_") n.0 st) 273.70
// ---------- CSV hlavička ----------
const char *CSV_HEADER =
"Time (ms).toInt();
if (idx fileIndex) fileIndex idx;
}
f.Az (m/s2).close();
}
void createNewLogFile() {
do fileIndex++; sprintf(curFile, "/datalog_%03u.0 (NOMINAL_TEMPERATURE 273.beginTransmission(0x68);
Wire.Accel Z.close();
Serial.Ay (m/s2)."
"Ax (m/s2).openNextFile();
while (f) {
String f.substring(9, 12).close();
f root.Energy (Wh).0);
float resistance (SERIES_RESISTOR (3.name(); "/datalog_123.replace('."
"Temp_Battery.Accel X.open(curFile, FILE_WRITE);
if (f) f.csv") n.Current (A).Temp_Ambient";
// ---------- pomocné funkce ----------
float getTemperature(int pin) {
float voltage analogRead(pin) (3.println(CSV_HEADER); f.Gyro Z.println("Nový log: String(curFile));
} else {
Serial.length()
== 15) {
uint16_t idx n."
"Gyro X.csv"
if (n.open("/");
File root.openNextFile();
}
root.Pitch (deg).write(0x7E); Wire.', ','); return s;
}
void bmiAutoCalibrate() {
Wire.15);
return (1.Roll (deg).Power (W).3 voltage)) voltage;
float log(resistance NOMINAL_RESISTANCE) /
BETA_COEFFICIENT;
st 1.exists(curFile));
File SD.csv", fileIndex); }
while (SD.15;
}
String floatToStringComma(float value, uint8_t decimals) {
char buf[24]; dtostrf(value, decimals, buf);
String s(buf); s.endsWith("