0% encontró este documento útil (0 votos)
32 vistas3 páginas

Codigo Del Proyecto

El documento define los pines de control para dos motores, incluyendo pines de paso, dirección y botones. También define una función para mover cada motor un paso a la vez.

Cargado por

Jesus Guzman
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas3 páginas

Codigo Del Proyecto

El documento define los pines de control para dos motores, incluyendo pines de paso, dirección y botones. También define una función para mover cada motor un paso a la vez.

Cargado por

Jesus Guzman
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

// Definir los pines de control del primer motor

#define STEP_PIN_1 3 // Pin para el paso del primer motor


#define DIR_PIN_1 4 // Pin para la dirección del primer
motor
#define BUTTON_PIN_UP_1 5 // Pin para el botón de subida del
primer motor
#define BUTTON_PIN_DOWN_1 6 // Pin para el botón de bajada del
primer motor

// Definir los pines de control del segundo motor


#define STEP_PIN_2 7 // Pin para el paso del segundo motor
#define DIR_PIN_2 8 // Pin para la dirección del segundo
motor
#define BUTTON_PIN_UP_2 9 // Pin para el botón de subida del
segundo motor
#define BUTTON_PIN_DOWN_2 10 // Pin para el botón de bajada del
segundo motor

// Definir el número de pasos por revolución


const int STEPS_PER_REV = 200;

void setup() {
// Configurar los pines como salida para los motores y como
entrada para los botones
pinMode(STEP_PIN_1, OUTPUT);
pinMode(DIR_PIN_1, OUTPUT);
pinMode(BUTTON_PIN_UP_1, INPUT);
pinMode(BUTTON_PIN_DOWN_1, INPUT);

pinMode(STEP_PIN_2, OUTPUT);
pinMode(DIR_PIN_2, OUTPUT);
pinMode(BUTTON_PIN_UP_2, INPUT);
pinMode(BUTTON_PIN_DOWN_2, INPUT);
}

void loop() {
// Control del primer motor
if (digitalRead(BUTTON_PIN_UP_1) == HIGH) {
// Configurar la dirección del primer motor (sentido horario)
digitalWrite(DIR_PIN_1, HIGH);
moveMotor(STEP_PIN_1);
} else if (digitalRead(BUTTON_PIN_DOWN_1) == HIGH) {
// Configurar la dirección del primer motor (sentido anti-
horario)
digitalWrite(DIR_PIN_1, LOW);
moveMotor(STEP_PIN_1);
} else {
// Apagar el primer motor cuando no se presiona ningún botón
digitalWrite(STEP_PIN_1, LOW);
}

// Control del segundo motor


if (digitalRead(BUTTON_PIN_UP_2) == HIGH) {
// Configurar la dirección del segundo motor (sentido horario)
digitalWrite(DIR_PIN_2, HIGH);
moveMotor(STEP_PIN_2);
} else if (digitalRead(BUTTON_PIN_DOWN_2) == HIGH) {
// Configurar la dirección del segundo motor (sentido anti-
horario)
digitalWrite(DIR_PIN_2, LOW);
moveMotor(STEP_PIN_2);
} else {
// Apagar el segundo motor cuando no se presiona ningún botón
digitalWrite(STEP_PIN_2, LOW);
}
}

// Función para mover el motor


void moveMotor(int stepPin) {
// Mover el motor una vez (un paso)
for (int i = 0; i < STEPS_PER_REV; i++) {
digitalWrite(stepPin, HIGH); // Activar el paso del
motor
delayMicroseconds(500); // Retardo para
establecer la velocidad del motor
digitalWrite(stepPin, LOW); // Desactivar el paso del
motor
delayMicroseconds(500); // Retardo para
establecer la velocidad del motor
}
}

También podría gustarte