
Kod: Zaznacz cały
osX.run()
osY.run()
Wróć do „Jak ustalić stabilne 200 kroków na obrót.”
Kod: Zaznacz cały
AccelStepper osX(1, pinSTEPX, pinDIRX); // pin - STEP, pin - DIR
osX.setMaxSpeed(2000.0);
osX.setSpeed(2000.0);
osX.setAcceleration(50000.0);
Kod: Zaznacz cały
// rozkaz ruchu jednej osi:
osX.moveTo(osX.currentPosition()+3880400);
// przykladowa kontrola ruchu z dodatkowymi przerywaczami ruchu:
while( n < 4 && osX.distanceToGo()!=0 && koniec == 1 ) {
osX.run() ; // wymagane ciagle wywolywanie dla plynnego ruchu
INDU = digitalRead(pinINDU) ; // dodatkowo czujnik indukcyjny zatrzymuje ruch
if ( INDU==0 ) { ale po kilku wykryciach, co stosowalem gdy zdarzaly sie zaklocenia przy czujniku mechanicznym
Serial.print("i"); // to mi sygnalizowalo zadzialanie czujnika mechanicznego
n=n+1; // i po zliczeniu do zadanej wyżej w warunku granicy przerwało dzialanie
}
if ( czasn < millis() ) { // to wywolanie yield() potrzebne jest na esp8266 zeby soft watch dog nie restartowal procka
yield() ; czasn = millis() + 200 ;
koniec = int(pcf.read(5)) ; // i przy okazji co te 0,2s sprawdzam czy z ekspadera nie ma sygnalu konca.
if (koniec == 0 ) {
Serial.print("!");// sygnalizacja że stąd jest zatrzymanie
}
}
} ;