Strana 71 z 73
Poznámky redaktora
begin(21, 22);
node.0;
PZEMPower ((node.readInputRegisters(0x0000, 6);
if (res node.begin(SD_CS_PIN)) return false;
sdAvailable true;
if (afterBoot) MCU právě zapnul
findLastIndex(); hledej nejvyšší index
createNewLogFile(); vždy založ nový soubor
} else karta byla znovu zasunuta
createNewLogFile();
}
return true;
}
// ---------- setup ----------
void setup() {
Serial.begin(9600, SERIAL_8N2, 16, 17);
Wire.0 PI;
.readGyro(gx, gy, gz);
BMI160.begin(pzemSlaveAddr, Serial2);
delay(1000);
if (!BMI160.begin(BMI160GenClass::I2C_MODE, 0x68)) {
Serial.println("SD karta není zasunuta čekám vložení.getResponseBuffer(0) 100.0;
PZEMCurrent node.getResponseBuffer(4);
}
// --- BMI160 ---
BMI160.ku8MBSuccess) {
PZEMVoltage node.getResponseBuffer(1) 100.getResponseBuffer(2)) 10.0 PI;
float roll atan2(-ax, az) 180.println("BMI160 chyba!"); while (1);
}
bmiAutoCalibrate();
if (!initSD(true)) {
Serial.begin(115200);
Serial2.getResponseBuffer(5) 16) +
node.readAccelerometer(axRaw, ayRaw, azRaw);
float (axRaw ACC_SENS) G_CONST;
float (ayRaw ACC_SENS) G_CONST;
float (azRaw ACC_SENS) G_CONST;
float pitch atan2(ay, sqrt(ax az)) 180.71
bool initSD(bool afterBoot) {
if (!SD.getResponseBuffer(3) 16) +
node.0;
PZEMEnergy (node.");
}
}
// ---------- loop ----------
void loop() {
unsigned long now millis();
if (now previousMillis interval) return;
previousMillis now;
// --- PZEM-017 ---
uint8_t res node