Tengo un mega arduino que se comunica con un arduino leonardo.
el leonardo controla algunos motores (en otras palabras, le dice al leonardo cuántos pasos hay que hacer ... leonardo es un coprocesador del motor).
para las pruebas, intento enviar el número 20 desde el mega al leonardo. Envié el número como una secuencia de char, con 2 char de obtentor, así que en este caso estoy enviando 'M > 0020' como 6 char (6 bytes). leonardo envía el estado (listo / ocupado) de vuelta al maestro a través del pin4 (esto es para evitar los interrputs en Wire.h que pueden agregar demora en el código del motor si el maestro requiere datos al esclavo).
La comunicaciónparece estar bien, pero si conecto la fuente de alimentación (12V), la comunicación se bloquea. si reinicio el mega, el leonardo lee 11049 (no tengo el tablero allí, podría ser un número diferente, pero siempre es el mismo), los recibidos son 5/6 veces el número correcto 20, luego la comunicación se bloquea y mega accidente.
Traté de desconectar todas las cosas relacionadas con el motor de leonardo, así que solo tengo 4 hilos:
- terreno común
- sda
- slc
- el cable para el estado (listo / ocupado) del esclavo.
los problemas ocurren cada vez que enchufé la fuente de alimentación. a veces sucede que el problema se produce incluso sin alimentación externa de 12 V (por lo tanto, un cable USB que alimenta a Leonard) después de algún tiempo (media hora)
las 2 placas arduino están conectadas con un cable de 8 m (he usado el comprobador y el cable parece estar bien, era un cable para una red LAN).
alguna sugerencia?