const int DIR = 2;
const int STEP = 4;
const int steps_per_rev = 200;
const int JoyPinY = A18; // Salida analógica del joystick
void setup()
{
Serial.begin(115200); // Inicializa la comunicación serial
pinMode(STEP, OUTPUT);
pinMode(DIR, OUTPUT);
}
void loop()
{
// Lee el valor analógico del joystick
int joyValue = analogRead(JoyPinY);
// Imprime el valor en el Monitor Serial
Serial.print("Valor del joystick: ");
Serial.println(joyValue);
if (joyValue < 2000)
{
digitalWrite(DIR, HIGH); // Gira en el sentido de las agujas del reloj
Serial.println("Spinning Clockwise...");
for (int i = 0; i < steps_per_rev; i++)
{
digitalWrite(STEP, HIGH);
delayMicroseconds(2000);
digitalWrite(STEP, LOW);
delayMicroseconds(2000);
}
delay(1000);
}
else
{
digitalWrite(DIR, LOW); // Gira en sentido contrario a las agujas del reloj
Serial.println("Spinning Anti-Clockwise...");
for (int i = 0; i < steps_per_rev; i++)
{
digitalWrite(STEP, HIGH);
delayMicroseconds(1000);
digitalWrite(STEP, LOW);
delayMicroseconds(1000);
}
delay(1000);
}
}