mutitarea

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

un saludo y gracias

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.

Pues gracias
pero entonces las dos funciones son iguales?? vamos que por ejemplo si tengo puesto delay(500) tendria que poner milis (500)??

gracias de nuevo

mirate el programa qeu viene con arduino, blinkwithoutdelay

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.

Tambien puedes emplear un latch

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)

Pues muchas gracias me habeis servido de gra ayuda al final consegui corregir el problema