Requiero hacer una consulta. Supongamos que tengo un arduino mega como principal, y 3 arduinos nano como esclavos. Yo puedo introducir el mismo codigo en los arduinos nano? Es decir que todos usen la misma señal? Que no tenga que crear un codigo para cada uno, si no que usen todos el mismo?
Si, pero tendras que indicarle a cada uno que dirección esclava tiene. Eso puedes hacerlo generico y almacenarlo en la EEPROM para no variar tu código en los NANOs.
También podes setear la dirección usando 2 pines (si hay disponibles).
En base a como los conectas tienes hasta 4 direcciones diferentes.
Similar a como se hace en casi todos periféricos I2C que habitualmente usamos.
No, no es más fácil, porque hay que primero grabar el dato en la eeprom.
De hecho, si quisiese hacer una placa de backup, guardando la dirección en eeprom se complica.
Con 2 pines, y puentes, dip switches o lo que sea, cambia la dirección en nada.
Ahh te parece que no es fácil grabar 1 dato en la EEPROM. Y solo leerlo con el setup?
Nunca mas lo usas pero que el OP haga lo que quiera.
Por qué? Porque no arranca con la dirección que tu quieres? Vaya problema.
Creo que exageras @MaximoEsfuerzo, pero bueno. Que el interesado haga como quiera.
A ver, tienes 3 placas (direcciones 0x10, 0x11, 0x12) y una más de backup por si una falla. ¿Qué dirección le grabas a la de backup si no sabes en qué posición va a ser usada?
Tengo varias respuestas a esto. Ya que tenemos 3 esclavos y uno falla, podriamos hacer alguna de estas opciones.
Te haces otro sketch para guardarle la dirección.
le grabo 0x13 y lo tengo en cuenta en el código maestro. Si hay un 0x13 es porque me falta un nodo ya sea 0x10, 0x11 o 0x12. El que no responda es el que falta. Entonces creo un metodo para cambiarlo.
Lo que todavía no entiendo es para qué guardar la dirección en eeprom si finalmente queda fija, es prácticamente lo mismo que fijarla en el código y se evita tanta complicación.
Hay que hacer más pasos para finalmente obtener el mismo resultado.
Como decía un viejo profesor "Un problema tiene tantas soluciones como programadores y todas son válidas".