BYJ48 Stepper Motor (4 / 4 steg)
Steg 4: Ändra koden
/*
BYJ48 Stepper motor kod
Ansluta:
In1 >> D8
IN2 >> D9
IN3 >> D10
IN4 >> D11
VCC... 5V föredrar att använda extern 5V källa
GND
Skrivet av: Mohannad Rawashdeh
28/9/2013
*/#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
int steg = 0;
booleska riktning = sant; / / gre
osignerade långa last_time;
osignerade långa currentMillis;
int steps_left = 4095;
lång tid;
void setup()
{
Serial.BEGIN(115200);
pinMode (IN1, OUTPUT);
pinMode (IN2, OUTPUT);
pinMode (IN3, OUTPUT);
pinMode (IN4, OUTPUT);
Delay(1000);}
void loop()
{
While(steps_left>0) {
currentMillis = micros();
om (currentMillis-last_time > = 1000) {
stepper(1);
tid = tid + micros ()-last_time;
last_time=Micros();
steps_left--;
}
}
Serial.println(Time);
Serial.println("Wait...!");
Delay(2000);
Riktning =! Riktning.
steps_left = 4095;
}Annullera stepper (int xw) {
för (int x = 0; x < xw; x ++) {
Switch(Steps) {
fall 0:
digitalWrite (IN1, låg);
digitalWrite (IN2, låg);
digitalWrite (IN3, låg);
digitalWrite (IN4, hög);
bryta;
fall 1:
digitalWrite (IN1, låg);
digitalWrite (IN2, låg);
digitalWrite (IN3, hög);
digitalWrite (IN4, hög);
bryta;
fall 2:
digitalWrite (IN1, låg);
digitalWrite (IN2, låg);
digitalWrite (IN3, hög);
digitalWrite (IN4, låg);
bryta;
fall 3:
digitalWrite (IN1, låg);
digitalWrite (IN2, hög);
digitalWrite (IN3, hög);
digitalWrite (IN4, låg);
bryta;
fall 4:
digitalWrite (IN1, låg);
digitalWrite (IN2, hög);
digitalWrite (IN3, låg);
digitalWrite (IN4, låg);
bryta;
fall 5:
digitalWrite (IN1, hög);
digitalWrite (IN2, hög);
digitalWrite (IN3, låg);
digitalWrite (IN4, låg);
bryta;
fall 6:
digitalWrite (IN1, hög);
digitalWrite (IN2, låg);
digitalWrite (IN3, låg);
digitalWrite (IN4, låg);
bryta;
fall 7:
digitalWrite (IN1, hög);
digitalWrite (IN2, låg);
digitalWrite (IN3, låg);
digitalWrite (IN4, hög);
bryta;
standard:
digitalWrite (IN1, låg);
digitalWrite (IN2, låg);
digitalWrite (IN3, låg);
digitalWrite (IN4, låg);
bryta;
}
SetDirection();
}
}
void SetDirection() {
IF(Direction==1) {steg ++;}
IF(Direction==0) {steg--;}
IF(Steps>7) {steg = 0;}
IF(Steps<0) {steg = 7.}
}