Schritt 5: Arduino Beispielcode
Dan 15 / 06 / 2010
#define DIR1_PIN 4
#define STEP1_PIN 5
#define DIR2_PIN 6
#define STEP2_PIN 7
#define DIR3_PIN 8
#define STEP3_PIN 9
#define DELAY 150
void setup() {}
Serial.Begin(9600);
pinMode(DIR1_PIN,OUTPUT);
pinMode(STEP1_PIN,OUTPUT);
pinMode(DIR2_PIN,OUTPUT);
pinMode(STEP2_PIN,OUTPUT);
pinMode(DIR3_PIN,OUTPUT);
pinMode(STEP3_PIN,OUTPUT);
}
void loop() {}
Int i;
DigitalWrite (DIR1_PIN, LOW); Legen Sie die Richtung.
DigitalWrite (DIR2_PIN, LOW); Legen Sie die Richtung.
DigitalWrite (DIR3_PIN, LOW); Legen Sie die Richtung.
Delay(Delay);
Serial.println (">>");
für (ich = 0; ich < 6800; i ++) / / für 4000 Mikroschritte durchlaufen.
{
DigitalWrite (STEP1_PIN, LOW); Dieses niedrig zu hoch ist, was schafft die
DigitalWrite (STEP1_PIN, hohe); "Steigende Flanke" damit die Easydriver weiß, wann man Schritt.
{If((i%2)==0)}
DigitalWrite (STEP2_PIN, LOW); Dieses niedrig zu hoch ist, was schafft die
DigitalWrite (STEP2_PIN, hohe); "Steigende Flanke" damit die Easydriver weiß, wann man Schritt.
}
{If((i%4)==0)}
DigitalWrite (STEP3_PIN, LOW); Dieses niedrig zu hoch ist, was schafft die
DigitalWrite (STEP3_PIN, hohe); "Steigende Flanke" damit die Easydriver weiß, wann man Schritt.
}
delayMicroseconds(DELAY); Diese Verzögerungszeit ist in der Nähe von Höchstgeschwindigkeit für diese
} / / besondere Motor. Nicht schneller Stände des Motors.
DigitalWrite (DIR1_PIN, hohe); Ändern Sie Richtung.
DigitalWrite (DIR2_PIN, hohe); Ändern Sie Richtung.
DigitalWrite (DIR3_PIN, hohe); Ändern Sie Richtung.
Delay(Delay);
Serial.println ("<<");
für (ich = 0; ich < 6800; i ++) / / für 4000 Mikroschritte durchlaufen
{
DigitalWrite (STEP1_PIN, LOW); Dieses niedrig zu hoch ist, was schafft die
DigitalWrite (STEP1_PIN, hohe); "Steigende Flanke" damit die Easydriver weiß, wann man Schritt.
{If((i%2)==0)}
DigitalWrite (STEP2_PIN, LOW); Dieses niedrig zu hoch ist, was schafft die
DigitalWrite (STEP2_PIN, hohe); "Steigende Flanke" damit die Easydriver weiß, wann man Schritt.
}
{If((i%4)==0)}
DigitalWrite (STEP3_PIN, LOW); Dieses niedrig zu hoch ist, was schafft die
DigitalWrite (STEP3_PIN, hohe); "Steigende Flanke" damit die Easydriver weiß, wann man Schritt.
}
delayMicroseconds(DELAY); Diese Verzögerungszeit ist in der Nähe von Höchstgeschwindigkeit für diese
} / / besondere Motor. Nicht schneller Stände des Motors.
}