Table des matières:

Contrôleur PCA9685 de Tim : 5 étapes (avec photos)
Contrôleur PCA9685 de Tim : 5 étapes (avec photos)

Vidéo: Contrôleur PCA9685 de Tim : 5 étapes (avec photos)

Vidéo: Contrôleur PCA9685 de Tim : 5 étapes (avec photos)
Vidéo: ARDUINO : CONTRÔLEZ VOS SERVOMOTEURS AVEC LE DRIVER PCA9685 2024, Juillet
Anonim
Contrôleur PCA9685 de Tim
Contrôleur PCA9685 de Tim

De nombreux projets réalisés avec l'Arduino impliquent l'utilisation d'un servo.

Si vous n'utilisez qu'un ou deux servomoteurs, ceux-ci peuvent être contrôlés directement à partir d'un Arduino à l'aide d'une bibliothèque et en allouant des broches pour ce faire.

Mais pour les projets nécessitant de nombreux servomoteurs à contrôler, le contrôleur de LED PWM Fm + I2C-bus PCA9685 16 canaux, 12 bits, peut être le meilleur choix.

Le contrôleur LED PCA9685, bien que conçu pour contrôler les LED, peut être configuré pour contrôler le servomoteur. (Fiche technique)

Le PCA9685 communique via I2C et a 64 adresses possibles, cela signifie que 64 de ces appareils peuvent être connectés en guirlande les uns après les autres, chacun avec 16 servos ou LED attachés à chacun. Cela totalise 1024 nombres qui peuvent être contrôlés à partir d'un Arduino.

Ayant maintenant un projet qui a de nombreux servomoteurs à contrôler, disons un robot à quatre pattes. Chaque jambe ayant deux servos pour la contrôler. (on commence simple, en théorie mon application peut contrôler 1024)

Configurer huit servos, trouver le réglage de trim pour chacun, déterminer là max. et min. postes, peut prendre beaucoup de temps.

Écrire et réécrire du code pour voir ce qui se passe peut être assez pénible.

Je décide donc de faire une application pour simplifier les choses, et aider à trouver chaque réglage de servo requis et pouvoir exécuter des séquences (script) pour tester les commandes envoyées au servo.

Étape 1: Connexions

"loading=" paresseux"

La section Script est la partie amusante, c'est là que vous pouvez créer des séquences de positions Servo.

Faites en sorte que votre projet fasse ce que vous voulez qu'il fasse.

  • Le bouton Ajouter une valeur ajoute les paramètres actuels du curseur.
  • Le bouton Ajouter un délai ajoute un délai en millisecondes défini dans la case à côté du bouton.
  • Le bouton Ajouter une adresse ajoute un commutateur de commande à un autre PCA9685 (changer l'adresse en haut à gauche) il sert également à changer de mode, de mode Servo ou de mode LED.
  • Le bouton Exécuter le script F, exécute le script actuel vers l'avant.
  • Le bouton Exécuter le script R, exécute le script en cours à l'envers.
  • La case à cocher Boucle fait que le script en cours s'exécute encore et encore lorsque l'un des boutons Exécuter le script est enfoncé. Pour arrêter la boucle, décochez la case.
  • Le bouton Effacer le script fait exactement cela, il efface toutes les commandes de script.
  • Le bouton Charger, charge un script précédemment enregistré.
  • Le bouton Enregistrer, enregistre le script en cours.

Noter!

Je n'ai écrit aucun script de vérification dans l'application, le script doit suivre les règles suivantes:

Une ligne par commande, valeurs séparées par un espace.

  • La servocommande commence par "S" suivi de seize valeurs, chaque valeur comprise entre 0 et 600
  • La commande LED commence par "L" suivi de seize valeurs, chaque valeur comprise entre 0 et 4095
  • La commande Dely commence par "D" suivi d'une valeur, entre 0 et 10 000
  • La commande d'adresse commence par "A" suivi d'une valeur et d'un mot. La valeur entre 0 et 64. Le mot étant "Servo" ou "LED".

L'application peut contrôler le servo ou la LED, ne mettez pas la LED et le servo sur la même carte de dérivation, le servo et la LED ont besoin d'une fréquence différente pour fonctionner correctement.

Si vous essayez de contrôler le servo avec les paramètres LED, ils peuvent paniquer, cela ne leur fera pas de mal, mais s'ils sont installés dans un projet, vous ne voudrez peut-être pas qu'ils se déplacent vers une position.

J'ai fait une vidéo d'un script simple.

Étape 5: épilogue

Au fur et à mesure que les instructions vont sur Instructables, la plupart des gens s'attendent à se retrouver avec un élément physique à la fin d'une instruction.

Je trouve qu'il n'y a pas de catégorie réaliste pour les logiciels.

Je suppose que vous pourriez le classer comme un outil, même ainsi, l'instruction n'est pas de savoir comment fabriquer l'outil, mais comment l'utiliser.

Espérons qu'en ayant un outil comme celui-ci, les gens pourront faire de meilleurs projets avec l'Arduino en utilisant des servos ou des matrices de LED.

Veuillez excuser la vidéo du projet en action, j'utilisais une carte de dérivation ESP32-CAM avec une autre application que j'avais créée pour afficher des images à partir d'ESP32-CAM.

ÉDITER

Je l'ai amélioré.

Les mises à jour peuvent être trouvées ici: Tims_PCA_9685_Controller

Conseillé: