Comment faire pour contrôler la vitesse d'un Servo-moteur à l'aide d'arduino Mega
Je suis en train de travailler sur un projet dans lequel j'ai besoin de changer la vitesse de servo-moteurs. Le matériel que j'utilise est un Arduino Mega 2560 conseil et je suis à l'aide du Servo.h bibliothèque de contrôle des servos. Servo tourne en o à 180 degrés. Je suis à l'aide de 12 servomoteurs dans le projet et de les contrôler simultanément. Est-il un moyen?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
delay()
fonction dans une boucle while ou forExemple:
Si ils sont tous au même degré, essayez ce code ci-dessous.
Au très haut (Pas entre "{}"s):
Mettre cela en
Setup
:Vous avez besoin de changer les numéros de broche.
Il suffit de mettre ceci n'importe où (Pas entre "{}"s):
Comment utiliser ce:
Dans
setup
avant de faire quoi que ce soit avec servos, mais après la partie je vous ai dit de le mettre dans le programme d'installation, utilisezClearServos();
pour préparer les servos à être utilisé. (Ce n'est probablement pas nécessairement, mais je ne sais pas ce qui se passe lorsque vous utilisezS1.read
sans le modifier et si les servos sont à des positions différentes, il va résoudre les problèmes. Il peut être évité si elle ne cause pas de problèmes, mais je pense que vous devriez utiliser si vous le pouvez.) Tous d'entre eux vont à 90 degrés. (90 degrés peut être changé avec la variablestartDegree
dansvoid ClearServos
.)À son tour, utiliser
TurnServos(90);
. 90 est le diplôme que vous voulez tourner.N'ai pas testé car je n'ai pas un Mega ou 12 servos. S'il vous plaît commentaire si vous remarquez des erreurs, car c'est énorme. J'ai passé beaucoup de temps sur ce sujet alors j'espère que j'ai aidé. 🙂
Peut-être que vous pouvez mettre des résistances en série pour votre servo à la broche VCC, avant votre servo moteur pour diminuer la tension aux bornes; ainsi, il ralentit. Cependant, ce sera la cause de votre servo est "constante" de la vitesse.
Une autre solution pourrait être de mettre un transistor entre votre servo VCC connexion et définir PWM sur la base de code pin à réguler le courant (pour régler la vitesse), mais ce serait vous coûtera un supplément de pin par servo si vous n'êtes pas à l'aide d'un multiplexeur entre les deux; et peut rendre votre conception un peu plus compliqué.
diaphragme(valeur) le plus proche de 90 null est la plus lente pour 360 servos à la fois panoramique et de transport sur mon timelapse plate-forme, shoot déplacer tirer, dans le temps avec l'obturateur mécanique clicker (mini servo standard).
dans la bibliothèque Servo WriteMicroseconds(...) la fonction définit vitesse de servo.
pour plus d'informations, veuillez cliquez sur