Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Comment utiliser le balayage servo de la bibliothèque ServoTimer2 (Simple Explain)

Composants et fournitures

Servos (Tower Pro MG996R)
× 1
Arduino UNO
× 1
Câbles de raccordement (générique)
× 1
Pièces électroniques UTSOURCE
× 1

À propos de ce projet

Présentation

J'ai récemment essayé de créer un robot humanoïde, ce qui signifie gérer des servomoteurs. Tout fonctionnait aussi bien juste avant que j'essaye de faire parler le robot. Quand j'ai eu besoin d'utiliser la bibliothèque TMRpcm. Mais il existe des bibliothèques comme

#TMRpcm.h#VirtualWire.h 

sont des bibliothèques qui utilisent le Timer1 d'Arduino. Il semble que vous ne puissiez pas utiliser deux appareils simultanément lorsque les deux utilisent la même minuterie... Donc, si mon robot parle, les servos ne fonctionnent pas. Parce que le Servo.h et le TMRpcm fonctionnent tous les deux sur Arduino TImer1. Ce qui est un gâchis. Si vous voulez que les deux fonctionnent, vous devez utiliser une autre bibliothèque pour les servos. Quelle est la bibliothèque ServoTimer2 ? Cela utilise le Timer2 sur Arduino... Malheureusement sur Internet, je n'ai trouvé aucun tutoriel pour comprendre comment fonctionne réellement cette bibliothèque ServoTimer2 et comment l'utiliser dans le code. J'ai donc décidé de faire un tutoriel pour que les gens comme moi puissent mieux comprendre. Nous utiliserons un servomoteur avec cette bibliothèque et créerons un simple code de balayage Servo

Vous pouvez regarder la vidéo pour mieux comprendre.

Étape 1 : pièces et assemblage :

La partie principale est un servomoteur.

J'utilise un micro servo sg90, n'importe quel modèle est correct.

Ensuite, prenez un bras de servo comme sur la photo 2 et collez-le sur un carton dur (c'est juste pour obtenir une bonne visibilité du degré), puis ajoutez le bras au servo moteur comme sur la photo 4.

Étape 2 :Téléchargez et ajoutez la bibliothèque ServoTimer2 à Arduino

Tout d'abord, vous devrez télécharger la bibliothèque à partir d'ici https://github.com/nabontra/ServoTimer2 et la coller dans le dossier de la bibliothèque Arduino.

Ensuite, allez dans sketch>include library>add zip.file depuis le dossier de la bibliothèque.

Vous êtes maintenant prêt à partir.

Étape 3 : Construisez le circuit simple

C'est la partie la plus facile

  • Servo fil rouge vers Arduino vcc (5v)
  • gris - Terre
  • Orange-numérique 6

Étape 4 :le code.

Avant de connaître le code ServoTimer2, revenons sur le balayage de la bibliothèque Servo.h.

(le moteur tournera de 0 degré à 90 degrés - attendez 1 seconde- puis à 180 degrés-attendez 1 seconde)

#includeServo servo1;void setup() {servo1.attach(6); // mettez votre code de configuration ici, à exécuter une fois}void loop() { // mettez votre code principal ici, à exécuter à plusieurs reprises :servo1.write(0);delay(1000);servo1.write(90);delay( 1000);servo1.write(180);delay(1000);} 

Comme vous pouvez le voir dans cette bibliothèque, si nous souhaitons faire pivoter un servo vers une certaine position, nous devions simplement écrire le degré et le servo ferait très bien l'affaire. Mais dans la bibliothèque ServoTimer2, nous devons écrire la largeur d'impulsion du servo et le servo se déplace vers cette position en utilisant cela. Le plus souvent, 1500 signifie 90 degrés. La largeur d'impulsion maximale est de 2250 et le minimum est de 750. Ce qui signifie que 750 correspond à 0 degré et 2250 à 180 degrés. Mais laissez-moi vous dire que cela varie d'un servo à l'autre. Envoyez simplement vos valeurs et voyez ce qui se passe. Ne vous inquiétez pas, cela ne détruira pas ou n'endommagera pas un peu votre servomoteur.

Maintenant, je vais faire le même code pour ServoTimer 2 et ainsi vous saurez quelles sont réellement les différences.

#include"ServoTimer2.h"ServoTimer2 servo1;void setup() {servo1.attach(6); }void loop() { // mettez votre code principal ici, à exécuter à plusieurs reprises:servo1.write(750); // largeur d'impulsion min pour 0 degrédelay(1000);servo1.write(1500); //largeur d'impulsion pour un délai de 90 degrés (1000);servo1.write(2250) ; // largeur d'impulsion maximale pour environ 180 degrés de retard (1000);} 

Maintenant, alimentez simplement l'arduino et voyez avec une échelle de degrés pour quelle valeur la rotation du servo. Et en faisant cela, vous pouvez faire avancer votre projet. Happy Making.o 2700 pour le faire.

Étape 5:Dernière mise sous tension de l'Arduino et expérimentation

Maintenant, alimentez simplement l'arduino et voyez avec une échelle de degrés pour quelle valeur la rotation du servo. Et achetez en faisant cela, vous pouvez faire avancer votre projet. Bonne fabrication.

Code

  • Servo seep.code
  • ServoTimer2.sweep.code
Servo seep.codeC/C++
#includeServo servo1;void setup() {servo1.attach(6); // mettez votre code de configuration ici, à exécuter une fois}void loop() { // mettez votre code principal ici, à exécuter à plusieurs reprises :servo1.write(0);delay(1000);servo1.write(90);delay( 1000);servo1.write(180);delay(1000);}
ServoTimer2.sweep.codeC/C++
#include"ServoTimer2.h"ServoTimer2 servo1;void setup() {servo1.attach(6); }void loop() { // mettez votre code principal ici, à exécuter à plusieurs reprises:servo1.write(750); // largeur d'impulsion min pour 0 degrédelay(1000);servo1.write(1500); //largeur d'impulsion pour un délai de 90 degrés (1000);servo1.write(2250) ; // largeur d'impulsion maximale pour environ 180 degrés de retard (1000);}

Schémas

ServoTimer2.sweep.code
https://github.com/ashraf-minhaj/Arduino-ServoTimer2-basic-sweep-/tree/code-sweep

Processus de fabrication

  1. Comment créer une plate-forme robotique Arduino+Raspberry Pi
  2. Robot Pi simple
  3. Comment fabriquer de la fibre de verre
  4. Fonction realloc() dans la bibliothèque C :comment l'utiliser ? Syntaxe et exemple
  5. Fonction free() dans la bibliothèque C :comment l'utiliser ? Apprendre avec l'exemple
  6. Est-il facile d'utiliser une thermistance ? !
  7. Comment faire une animation en coupe dans Solidworks
  8. Comment faire un prototype
  9. Comment utiliser une meuleuse de coupe