Avanzar con tiempo y potencia

Este bloque permite mover el robot hacia adelante por un tiempo determinado. La acción será realizada durante un tiempo que definiremos, luego el motor se detendrá hasta que se le defina un nuevo movimiento.

El tiempo se establece en milisegundos (donde un valor de 1000 equivale a 1 segundo).

El valor mínimo es 0 y el máximo es 32000 (que equivale a 32 segundos).

El rango de potencia posible es de 0 a 255. Esto definirá la velocidad de desplazamiento. Esta velocidad dependerá de las características físicas de cada robot: tipo de motor, tamaño de la rueda, peso del objeto, entre otros.

La potencia mínima para que el motor avance también depende de las características del objeto. Algunos tipos de motores requieren menos potencia para iniciar el movimiento.

 


Ejemplo


Código

//Avanzar 3000 milisegundos con potencia 255

bitWrite (datoMultiplexor, orden_dir1A, true);

bitWrite (datoMultiplexor, orden_dir1B, false);

bitWrite (datoMultiplexor, orden_dir2A, true);

bitWrite (datoMultiplexor, orden_dir2B, false);

shiftOut(pinData, pinClock, MSBFIRST, datoMultiplexor);

analogWrite(pin_vel1, 255);

analogWrite(pin_vel2,255);

digitalWrite(pinLatch, HIGH);

delay(1);

digitalWrite(pinLatch, LOW);

delay(3000);

analogWrite(pin_vel1,0);

analogWrite(pin_vel2,0);