Schritt 4: Stepper Motorsteuerung
Der erste Teil zum laufen zu bringen war die Schrittmotoren - ich wollte ursprünglich verwenden zwei Motoren, der Reisen konvexe Spiegel und der Schlitz Stepper, die an die Linkit One über eine EasyDriver-Board angeschlossen werden würde. An diesem Punkt festgestellt habe ich, dass das Schlitz Stepper eine fünf-Draht-Einheit war und derzeit, ich weiß nicht, wie man diese Art Draht zu dem einfachen Treiber.
Chage von Plänen
So zog während ich noch die Schlitze brauche und Sie, dass Stepper installiert sehen können in den verbleibenden Bilder wird es manuell s erforderlich. Wichtige Motor ist der Reisen Spiegel als diese eine, spaltet sich das Spektrum des Lichts und dann können Sie sie über den Schlitz verschieben, damit den ersten Strahl zu schaffen, die dann von den spiegeln, die Folgen und das Beugungsgitter aufgeteilt ist.
Ich musste wissen, wie weit man den Spiegel zu bewegen, so dass ich schrieb ein kleines Skript vom Spielfeld laufen und die Anzahl der Grafen eingestellt, bis ich die richtige Bewegung hatte.
Ich begann durch das Schneckenrad manuell verschieben, bis das Spektrum des Lichtes war zu Beginn des Schlitz-Position und dann die Führungsschiene mit einem Stift markiert, dann begann ich das Skript und machte eine zweite Marke auf der Führungsschiene als der Spektren andere Ende die Schlitz-Position übergeben. Dies gab mir die Entfernung des Reisens. Dies ist der Code für den Reise-Test.
Int X = 0;
void setup() {}
Serial.Begin(9600);
PinMode (8, OUTPUT);
PinMode (9, OUTPUT);
DigitalWrite (8, LOW);
DigitalWrite (9, LOW); }
void loop() {}
DigitalWrite (9, HIGH);
Delay(1);
DigitalWrite (9, LOW);
Delay(1);
X = X + 1;
Serial.println(x);
}
Der Wert von x wird auf den Serial Monitor-Fenster auf dem Computer geöffnet angezeigt, wie das Stepper erreichte die zweite Marke auf der Führungsschiene, die habe ich den Wert von x und meine Einrichtung dies aufgenommen, 19124 motor Schritte war. Dies später erwies sich als zu groß, wie es die Zeit für eine Lektüre viel zu lange für meine Geduld und reduzierte sich auf rund 11500
Im folgenden ist der resultierende Code den Spiegel zu schwingen.
Int Dirpin = 2;
Int steppin = 3;
void setup() {}
Serial.Begin(9600);
PinMode (Dirpin, Ausgang);
PinMode (steppin, OUTPUT);
}
void loop() {}
Int i;
DigitalWrite (Dirpin, LOW); Legen Sie die Richtung.
Delay(1000);
für (ich = 0; ich < 19124; i ++) / / für 19124 Mikroschritte durchlaufen.
{
DigitalWrite (steppin, niedrig); Dieses niedrig zu hoch ist, was schafft die
DigitalWrite (steppin, hoch); "Steigende Flanke" damit die Easydriver weiß, wann man Schritt. delayMicroseconds(1500); Diese Verzögerungszeit ist in der Nähe von Höchstgeschwindigkeit für diese
} / / besondere Motor. Nicht schneller Stände des Motors.
DigitalWrite (Dirpin, HIGH); Ändern Sie Richtung.
Delay(100);
für (ich = 0; ich < 19124; i ++) / / für 19124 Mikroschritte durchlaufen
{
DigitalWrite (steppin, niedrig); Dieses niedrig zu hoch ist, was schafft die
DigitalWrite (steppin, hoch); "Steigende Flanke" damit die Easydriver weiß, wann man Schritt. delayMicroseconds(1500); Diese Verzögerungszeit ist in der Nähe von Höchstgeschwindigkeit für diese
} / / besondere Motor. Nicht schneller Stände des Motors.
}