Buenos días comunidad, necesito de su ayuda estoy utilizando un motor a pasos 28BYJ-48 con un driver ULN2003 mediante un joystick, encontré un código que hace girar el motor dependiendo el movimiento del joystick, funciona a la perfección entiendo todo el código menos una linea, una asignación que no conocía y que por mas que busque no encontré respuesta, mi pregunta es, ¿Que hace esta linea de código y cual es el uso de los símbolos > ? : en una asignación?
rotacion = leer>511?1:-1;
#include <Stepper.h>
int pasos=100;
int pasosPorLectura=5;
int leer;
int rotacion;
Stepper stepper(pasos, 8,10,9,11);
int velocidadMotor;
void setup(){
pinMode (A0, INPUT);
stepper.setSpeed(200);
}
void loop(){
leer=analogRead(A0);
velocidadMotor=abs(map(leer, 0, 1023, -20, 20))*10;
if (velocidadMotor>10){
rotacion = leer>511?1:-1;
stepper.setSpeed(velocidadMotor);
stepper.step(rotacion*5);
}
}