Zusammenfassung
Es ist keine echte Marmorbahn... oder ist es das?
Hier ist dein Marmor... Ich will ihn nicht, also nimm ihn zurück... Nein, es ist dein Marmor, hier ist er...
Diese Diskussion geht weiter, bis du das Gerät ausschaltest.
In der Box kannst du zwei 28BYJ (unglaublich günstige) Schrittmotoren oder die etwas kleinere Version 24BYJ installieren.
Stromversorgung: Drei AA-Batterien.
Stellen Sie sicher, dass beide Arme in einer Linie sind, sonst folgt der Marmor nicht der Spur.
Dieser Arduinmo-Sketch bringt es zum Laufen:
//NanoFull-Schrittmodus
//512 >> 360 Grad, 1,4 Schritte/Grad
//28BYJ Rot + Orange Gelb Rosa Blau
//24BYJ Rot + Schwarz Gelb Braun Blau
int M1A = 9; int M1B = 10; int M1C = 11; int M1D = 12;
int M2A = 2; int M2B = 3; int M2C = 4; int M2D = 5;
int t=3;
void setup()
{
pinMode(M1A, OUTPUT); pinMode(M1B, OUTPUT); pinMode(M1C, OUTPUT); pinMode(M1D, OUTPUT);
pinMode(M2A, OUTPUT); pinMode(M2B, OUTPUT); pinMode(M2C, OUTPUT); pinMode(M2D, OUTPUT);
)
void loop()
{
für(int x=0; x<180;x++){
//Motor 1 im Uhrzeigersinn
digitalWrite(M1A, LOW); digitalWrite(M1B, LOW); digitalWrite(M1C, HIGH); digitalWrite(M1D, HIGH); delay(t);
digitalWrite(M1A, LOW); digitalWrite(M1B, HIGH); digitalWrite(M1C, HIGH); digitalWrite(M1D, LOW); delay(t);
digitalWrite(M1A, HIGH); digitalWrite(M1B, HIGH); digitalWrite(M1C, LOW); digitalWrite(M1D, LOW); delay(t);
digitalWrite(M1A, HIGH); digitalWrite(M1B, LOW); digitalWrite(M1C, LOW); digitalWrite(M1D, HIGH); delay(t);}
für(int x=0; x<180;x++){
//Motor 1 CCW
digitalWrite(M1A, HIGH); digitalWrite(M1B, LOW); digitalWrite(M1C, LOW); digitalWrite(M1D, HIGH); delay(t);
digitalWrite(M1A, HIGH); digitalWrite(M1B, HIGH); digitalWrite(M1C, LOW); digitalWrite(M1D, LOW); delay(t);
digitalWrite(M1A, LOW); digitalWrite(M1B, HIGH); digitalWrite(M1C, HIGH); digitalWrite(M1D, LOW); delay(t);
digitalWrite(M1A, LOW); digitalWrite(M1B, LOW); digitalWrite(M1C, HIGH); digitalWrite(M1D, HIGH); delay(t);}
delay(500);
für(int x=0; x<180;x++){
//Motor 2 CCW
digitalWrite(M2A, HIGH); digitalWrite(M2B, LOW); digitalWrite(M2C, LOW); digitalWrite(M2D, HIGH); delay(t);
digitalWrite(M2A, HIGH); digitalWrite(M2B, HIGH); digitalWrite(M2C, LOW); digitalWrite(M2D, LOW); delay(t);
digitalWrite(M2A, LOW); digitalWrite(M2B, HIGH); digitalWrite(M2C, HIGH); digitalWrite(M2D, LOW); delay(t);
digitalWrite(M2A, LOW); digitalWrite(M2B, LOW); digitalWrite(M2C, HIGH); digitalWrite(M2D, HIGH); delay(t);}
für(int x=0; x<180;x++){
//Motor2 CW
digitalWrite(M2A, LOW); digitalWrite(M2B, LOW); digitalWrite(M2C, HIGH); digitalWrite(M2D, HIGH); delay(t);
digitalWrite(M2A, LOW); digitalWrite(M2B, HIGH); digitalWrite(M2C, HIGH); digitalWrite(M2D, LOW); delay(t);
digitalWrite(M2A, HIGH); digitalWrite(M2B, HIGH); digitalWrite(M2C, LOW); digitalWrite(M2D, LOW); delay(t);
digitalWrite(M2A, HIGH); digitalWrite(M2B, LOW); digitalWrite(M2C, LOW); digitalWrite(M2D, HIGH); delay(t);}
delay(500);
)
Fuente del modelo
