Bonsoir, PatHornet,
On m'a déconseillé de faire tout avec un méga, mais à priori tu n'a pas de problème de saturation donc j'ai envie de tenter le coup.
En général, il est infiniment plus simple d'avoir un seul processeur plutôt que plusieurs qui communiquent. C'est vrai tant au niveau conception que réalisation, test, modification...
Mais bien sûr tout dépend de ce qu'on veut faire. Si je comprends bien, ton idée c'est que l'opérateur commande l'aiguillage par un interrupteur, et que l'Arduino transforme cette commande en une commande servo?
Dans ce cas, la charge du microcontrôleur est négligeable, c'est seulement un problème de nombre de points de connexion.
Je pense utiliser des inverseurs doubles (un circuit pour informer le méga et l'autre pour visualiser la position de l'aiguillage avec des leds) c'est ce que j'avais fait pour le proto avec les nanos
Ce serait plus sympa que les LEDs soient commandées aussi par l'Arduino, pour confirmer que la commande a bien été exécutée.
Sur un de nos réseaux, en digital, les LEDs sont commandées directement par le coeur d'aiguille, ce qui fait qu'on voit non seulement la position, mais aussi les défauts d'alimentation.
Mais là il y a 45 servos à piloter... et les plus longues connexion des pca vers les servos vont faire 2m50, mais j'ai lu quelque part que des résistances de pull up fiabilisaient le fonctionnement...
Les résistances de pull-up sont obligatoires sur le bus I2C (liaison Arduino - PCA9685).
Celui-ci peut être assez long, tout dépend de la façon dont il est câblé, et notamment la masse. Une façon simple d'allonger ce bus est d'en réduire la vitesse; c'est totalement invisible vu de l'extérieur.
La distance entre les PCA9685 et les servos est moins critique. On a jusqu'à 4m sur un des réseaux que j'ai évoqué précédemment. Sans pull-up.
N'étant pas informaticien je ne veut pas y passer trop de temps donc le vieil adage le chemin le plus court c'est celui qu'on connait....
Bien d'accord sur la méthode, mais que veux tu dire par "pas trop de temps"? (Ce n'est pas une question
)