Mon ami Jules demande:
L'objectif est d'obtenir autant de commandes de servomoteurs que possible - on dirait que le maximum qu'un Arduino produira est de 14?
Broches d'E / S numériques54 (dont 14 fournissent une sortie PWM)
Je suppose que cela devient alors un problème logiciel pour synchroniser plusieurs cartes Mega? - ie tableau 14 x 14 utilisant 14 cartes
Réponses:
J'irais également pour le même itinéraire que todbot a suggéré. Cependant, comme je suis un grand fan d'I2C, j'utilise un servo-contrôleur SD21 qui peut piloter 21 servos. Si vous en avez besoin de plus, il existe un servo-contrôleur SD84 qui peut piloter (vous l'avez deviné) 84 servos.
la source
Si vous souhaitez piloter plusieurs servos, la meilleure solution pourrait être de raccorder quelques servocommandes dédiées à un seul Arduino. Il existe de nombreux exemples open source de servocontrôleurs, mais vous pouvez également en acheter de pleins. Par exemple, voici un contrôleur servo Polulu 8 et un contrôleur servo Pololu 16 . Obtenez-en quelques-uns, connectez-les à toutes les broches numériques de l'Arduino et utilisez la bibliothèque SoftSerial pour leur envoyer des commandes.
la source
Je suis d'accord avec les autres gars, utilisez un servo contrôleur dédié.
Je suis en train de construire le mien pour mon robot hexapode, voir ici le code source et les schémas disponibles.
la source
Une autre approche consiste à utiliser des servos "numériques", comme OpenServo . De cette façon, vous pouvez piloter une douzaine de servos à l'aide de 2 broches Arduino et une douzaine de servos ou plus à l'aide de 2 broches supplémentaires.
la source
J'utilise un servo-contrôleur SSC-32 de Lynxmotion. Il utilise un ATmega8 ou ATmega168 et peut contrôler jusqu'à 32 servos. Vous pouvez trouver tout (schéma de circuit, firmware) pour le construire sur leur page. J'en ai construit un moi-même et cela a bien fonctionné.
la source