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

Support de caméra FPV à double axe avec module de manette de commande

Composants et fournitures

Arduino UNO
× 1
Micro-servomoteur SG90
× 2

À propos de ce projet

Bonjour à tous,

Aujourd'hui, nous allons voir le didacticiel complet sur la façon de contrôler le support de caméra FPV à 2 axes avec module joystick, le support de caméra est livré dans un petit emballage contenant des supports et des pièces en acrylique, des vis et deux servomoteurs.

Exigence :Alors s'il vous plaît avant de continuer, si vous n'êtes pas familier avec le joystick, ni les servomoteurs, voici deux tutoriels pour vous :

  • Comment interfacer simplement le module Joystick avec la carte Arduino
  • Utiliser des servomoteurs avec Arduino

Nous allons donc utiliser ici deux méthodes pour contrôler les servos :la première où les servos suivent la position du joystick et ils bougent pendant que nous bougeons notre stick, la seconde où les servos commencent à se déplacer vers la direction où pointe le joystick et ils y restent jusqu'à ce que nous déplacions à nouveau le bâton ou changions de direction.

Voici une démo de ce que nous aurons à la fin :

Dans la vidéo du didacticiel, je suis allé étape par étape lors du câblage ou de l'étalonnage également étape par étape lors du codage, mais ici je vais vous donner l'ensemble du câblage qui n'est pas un problème car aucun module ou servo n'affecte les autres.

A ne pas confondre avec l'axe du joystick qu'a mon joystick (axe X en haut puis axe Y) ici sur la photo ils sont inversés et nommés autrement mais j'ai laissé le câblage comme j'ai utilisé vous pouvez le changer à votre guise (broches servo, joystick entrées, directions …)

Donc pour ne pas vous embrouiller car j'ai en fait utilisé beaucoup de codes dans la vidéo, mais ils sont très basiques (positionnement des servos, lecture de la valeur analogique depuis le joystick…) Je n'ai téléchargé que les deux codes pour les deux versions finales comme on le voit dans la vidéo.

Si vous avez besoin de quoi que ce soit à ce sujet, vous pouvez me contacter.

Code

  • Code 1 comme dans la vidéo
  • Code 2 comme dans la vidéo
Code 1 comme dans la vidéoArduino
//Ce code est à utiliser avec le berceau de caméra fpv à double axe qui utilise deux servos, en ajoutant un module de joystick//nous contrôlons la position du berceau en déplaçant le stick analogique, le berceau suit les mouvements du joystick//Se référer à surtrtech.com pour plus d'informations#include  //Bibliothèque de servos et déclarationServo myservo1;Servo myservo2;int YAxis =1; //Déclarer où l'axe X et l'axe Y des broches du joystick sont wiredint XAxis =0; //Bien sûr, les entrées analogiques void setup() { Serial.begin (9600); //Définition du débit en bauds du moniteur série et lancement de pinMode(XAxis, INPUT); //Déclaration des modes de broches et des broches d'asservissement myservo1.attach(8) ; pinMode(YAxis, INPUT); myservo2.attach(9);}boucle vide() { int X=analogRead(XAxis); //Lecture depuis le potentiomètre de l'axe X X=X*0.1756; //Convertir la plage du potentiomètre de 0-1023 à 0-180 limites du servo, vous pouvez les changer si vous avez un servo à 360 ° X=180-X; // Ceci est utilisé pour que le servo tourne à la position exacte sinon il sera inversé myservo1.write(X); //Après l'adaptation, nous injectons cette valeur dans le premier servo int Y=analogRead(YAxis);//Lecture du potentiomètre de l'axe Y Y=Y*0.1466; // Ici, nous avons effectué une conversion qui correspond aux limites du servo, nous sommes donc passés de 0-1023 à 0-150 myservo2.write(Y); // Et nous injectons dans notre servo}
Code 2 comme dans la vidéoArduino
//Ce code est à utiliser avec le berceau de caméra fpv à double axe qui utilise deux servos, en ajoutant un module de joystick//Nous contrôlons la position du berceau en déplaçant le stick analogique, le berceau se déplace dans la direction où le stick est pointer//jusqu'aux limites et y rester//Reportez-vous à surtrtech.com pour plus d'informations#include  //Bibliothèque de servos et déclarationServo myservo1;Servo myservo2;int a,b,X,Y; //Variables nécessaires laterint YAxis =1; //Déclarer où l'axe X et l'axe Y des broches du joystick sont wiredint XAxis =0; //Bien sûr, les entrées analogiques void setup() { Serial.begin (9600); //Définition du débit en bauds du moniteur série et lancement de pinMode(XAxis, INPUT); //Déclaration des modes de broches et des broches d'asservissement myservo1.attach(8) ; pinMode(YAxis, INPUT); monservo2.attach(9);}boucle vide() { a=monservo1.read(); // La lecture des positions précédentes des servos est une étape importante afin que nous puissions savoir où ils doivent se positionner ensuite b=myservo2.read(); X=analogRead(XAxis);//Lecture des valeurs du joystick Y=analogRead(YAxis); if(X>550){ //Ici nous n'avons fait aucun calibrage donc le joystick a trois positions (Gauche|Repos|Droite) a=a-1; // cela dépend de la valeur que nous lisons, nous pouvons savoir dans quelle direction le bâton pointe et j'ai laissé la position de repos grande en fait c'est juste 1 valeur myservo1.write(a); //on injecte la nouvelle valeur delay(50); //Vous pouvez rendre le délai grand ou court ou agir sur a=a-x pour faire de grands pas ou des pas courts } if(X<450){ a=a+1; // Ici, nous avons effectué l'opération opposée pour passer dans la direction opposée myservo1.write(a); retard (50); } if(Y>600){ //Ici nous n'avons fait aucun calibrage donc le joystick a trois positions (Haut|Repos|Bas) idem b=b+1; monservo2.write(b); retard (50); } si(Y<450){ b=b-1; monservo2.write(b); retard (50); }

Schémas

Il y a un servo supérieur et un servo inférieur, ne les confondez pas

Processus de fabrication

  1. Contrôle d'accès avec QR, RFID et vérification de la température
  2. Framboise avec caméra dans le nichoir
  3. Caméra de sécurité Discord avec ESP32
  4. Robot de désinfection avec des lumières ultraviolettes
  5. Contrôler l'accepteur de pièces avec Arduino
  6. Télécommande TV alimentée par batterie avec boîtier imprimé en 3D
  7. Obstacles pour éviter le robot avec servomoteur
  8. Tour avec CNC
  9. Contrôle des caractéristiques du tour à banc incliné avec graphiques de vérification