Pues me a surgido un problema con mi proyecto, es un robot que detecta obstaculos mediante un sensor sharp, el problema es que necsito que los servomoteres que giran las ruedas, funcionen a la vez que detecta el sensor. Porque ahora lo que me hace es primero detecta luego recorre una distancia hacia adelante, y luego vuelve a detectar pero necesito que haga las dos cosas a la vez. Alguna solución???
El sensor lo tengo conectado a una salida analogica y los servors a las salidas digitales
Las dos cosas a la ves no puedes hacerlas, yo te recomiendo para un robot no utilizar el delay() y utilizar la función millis() y veras que parece que lo haga todo a la vez.
delay sirve para detener la ejecución : delay(500) para 0.5 segundos.
millis() se usa de otra forma, devuelve el número de milisegundos que hace que se encendió arduino, puedes compararlo con un tiempo anterior y decidir cual de las acciones vas a hacer ahora (detectar , encender / apagar el motor, no hacer nada ...)
compara el funcionamiento de blink y blinkwithoutdelay como dijo Sergegsx.
Dejas el motor con el latch cargado a 1 (significaria ir adelante) hasta que sensor detecte que tiene que parar, con lo cual en ese momento por unos milisegundos dejaria de atender el sensor y cargaria un 0 en el latch.
Por ejemplo.
obviamente emplearia las interrupciones (atachinterrupt)