Go Down

Topic: Asignación con símbolos > ? :  (Read 77 times) previous topic - next topic

jehu_bulsara

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;

Code: [Select]

#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);
  }
}

RIG

Busca Operador ternario
Baiscamente lo que dice esa linea seria lo mismo que esto:
Code: [Select]
if (leer > 511){ rotacion=1; }
else {rotacion=-1;}

Go Up