Hola a todos, soy principiante programando y tengo que hacer un proyecto en Arduino.
Se trata de una base móvil controlada por un Arduino MEGA y un brazo robótico embarcado encima controlado por un Arduino UNO, ambos comunicados mediante I2C.
La base móvil sigue un circuito siguelíneas en el que hay unas paradas programadas donde debe coger y dejar piezas. Cuando llega a una de estas paradas, el Arduino MEGA, configurado como maestro, avisa al Arduino UNO configurado como esclavo de que "recoja" o "deje" una pieza, cuando este terminó la secuencia de movimientos, escribe un 4 en una variable denominada "response", que es solicitada por el maestro y le indica que ya terminó y que puede reanudar su marcha hasta la siguiente parada.
Tengo un problema a la hora de que el maestro lea el "4" del esclavo, puesto que siempre recibe un cero. Os adjunto el código a ver si alguien puede echarme una mano. He probado a meter el fragmento de código que está dentro del loop del código del brazo, dentro de las funciones receivveEvent y requestEvent, en ese caso, se envía correctamente el "4" y se reanuda la marcha, pero no realiza los delay que hay entre los movimientos de cada servo.
Muchísimas gracias de antemano.
brazoi2c.txt (1.64 KB)
basei2c.txt (5.98 KB)