Resumen
No es una pista de mármol real... ¿o lo es?
Aquí está tu canica... No la quiero, así que tómala de vuelta... No, es tu canica, aquí está...
Esta discusión continúa hasta que apagues la unidad.
En la caja puedes instalar dos motores paso a paso 28BYJ (increíblemente baratos) o la versión ligeramente más pequeña 24BYJ.
Fuente de alimentación: Tres baterías AA.
Asegúrate de que ambos brazos estén en línea, de lo contrario, el mármol no seguirá la trayectoria.
Este sketch de Arduinmo hace que funcione:
//Modo de paso completo Nano.
//28BYJ Rojo + Naranja Amarillo Rosa Azul
//24BYJ Rojo + Negro Amarillo Marrón Azul
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, SALIDA); pinMode(M1B, SALIDA); pinMode(M1C, SALIDA); pinMode(M1D, SALIDA);
pinMode(M2A, SALIDA); pinMode(M2B, SALIDA); pinMode(M2C, SALIDA); pinMode(M2D, SALIDA);
}
void loop()
{
para(int x=0; x<180;x++){
//Motor 1 CW
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, ALTO); digitalWrite(M1B, ALTO); digitalWrite(M1C, BAJO); digitalWrite(M1D, BAJO); delay(t);
digitalWrite(M1A, ALTO); digitalWrite(M1B, BAJO); digitalWrite(M1C, BAJO); digitalWrite(M1D, ALTO); delay(t);}
para(int x=0; x<180;x++){
//Motor 1 CCW
digitalWrite(M1A, ALTO); digitalWrite(M1B, BAJO); digitalWrite(M1C, BAJO); digitalWrite(M1D, ALTO); delay(t);
digitalWrite(M1A, ALTO); digitalWrite(M1B, ALTO); digitalWrite(M1C, BAJO); digitalWrite(M1D, BAJO); 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);}
retraso(500);
para(int x=0; x<180;x++){
//Motor 2 CCW
digitalWrite(M2A, ALTO); digitalWrite(M2B, BAJO); digitalWrite(M2C, BAJO); digitalWrite(M2D, ALTO); delay(t);
digitalWrite(M2A, ALTO); digitalWrite(M2B, ALTO); digitalWrite(M2C, BAJO); digitalWrite(M2D, BAJO); 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);}
para(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, ALTO); digitalWrite(M2B, ALTO); digitalWrite(M2C, BAJO); digitalWrite(M2D, BAJO); delay(t);
digitalWrite(M2A, ALTO); digitalWrite(M2B, BAJO); digitalWrite(M2C, BAJO); digitalWrite(M2D, ALTO); delay(t);}
retraso(500);
}
Source du modèle
