Stránka 1 z 1

Měření runtime motoru

Napsal: 21 lis 2019, 11:53
od Queb
Ahoj, jsem začátečník a potřeboval bych poradit. Snažím se vytvořit více méně "stopky" abych mohl říct jak dlouho mi běží DC motor. Chtěl bych, aby program vypsal každé 2 sekundy že motory běží.

Kód: Vybrat vše

#include <AFMotor.h>
AF_DCMotor motorL(3);
AF_DCMotor motorR(4); 

unsigned long MovementTimer = 0;

void setup() {
  Serial.begin(9600);
}

void loop() {
 Forward();
 if ((millis()- MovementTimer) > 1500)
 {
    Serial.println("moving 1.5 sec");
  }
}

void Forward()
{
  MovementTimer = millis();
  motorL.setSpeed(85);
  motorR.setSpeed(85);
  motorL.run(FORWARD);
  motorR.run(FORWARD);
}
Zkoušel jsem to tímto způsobem, ale program nic nevypíše.

Re: Měření runtime motoru

Napsal: 21 lis 2019, 12:12
od KamilV
Protože v každém loopu voláš Forward();
takže se ti neustále posouvá MovementTimer a o řádek níž ta podmínka nemá šanci nikdy být splněna.

Když si zavoláš Forward() pouze jednou např. v setup(), uvidíš rozdíl.