Table des matières:
- Étape 1: Présentation du projet
- Étape 2: Schémas
- Étape 3: Schéma du contrôleur PS2
- Étape 4: Configuration de la connexion des modules Zio
- Étape 5: connectez le servo du bras robotique au servo-contrôleur Zio 16
- Étape 6: connectez votre servo 16 au booster DC/DC et réglez-le sur 6,0 V
- Étape 7: connectez le Zuino M Uno au servo-contrôleur Zio 16
- Étape 8: Connecter Uno au récepteur PS2
- Étape 9: Code pour le bras robotique
- Étape 10: Exécutez votre code
- Étape 11: Explication du code
Vidéo: Bras robotique avec modules Zio Partie 2 : 11 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Dans le didacticiel d'aujourd'hui, nous utiliserons les 4 servos et une manette sans fil PS2 pour contrôler le bras robotique.
Cet article de blog fait partie de la série Zio Robotics.
introduction
Dans notre blog précédent, nous avons publié le didacticiel de la partie 1 sur la façon de contrôler un bras robotique à l'aide des modules Zio. La partie 1 s'est principalement concentrée sur le contrôle automatique de l'ouverture et de la fermeture de la griffe de votre bras robotique.
Dans le didacticiel d'aujourd'hui, nous allons l'améliorer un peu en incluant une manette sans fil PS2 pour contrôler le bras robotique. Pour ce projet, nous utiliserons 4 servos.
Étape 1: Présentation du projet
Niveau de difficulté:
Zio Padawan
Ressources utiles:
Vous devez avoir une compréhension de base de l'installation des cartes de développement Zio. Dans ce tutoriel, nous supposons que votre carte de développement est déjà configurée et prête à être configurée. Si vous n'avez pas encore configuré votre carte, consultez notre tutoriel Zio Qwiic Start Guide ci-dessous pour commencer:
Guide de démarrage Zio Zuino M UNO Qwiic
Étape 2: Schémas
Voici les schémas de câblage du projet de bras robotique partie 2 ainsi que le schéma du contrôleur PS2 nécessaire pour comprendre votre partie de codage.
Étape 3: Schéma du contrôleur PS2
Étape 4: Configuration de la connexion des modules Zio
Ci-dessous la connexion de nos modules Zio à mettre en place avec le Bras Robotique. Connecter tous les modules ensemble est assez facile et ne prendra pas plus de 10 minutes à configurer.
Étape 5: connectez le servo du bras robotique au servo-contrôleur Zio 16
Étape 6: connectez votre servo 16 au booster DC/DC et réglez-le sur 6,0 V
Nous utilisons un booster DC/DC pour augmenter et ajuster la tension d'alimentation de la batterie à 6,0.
Utilisez le potentiomètre du DC Booster pour ajuster la tension jusqu'à ce que vous obteniez 6,0. Appuyez sur le bouton In/Out jusqu'à ce que l'écran affiche 6.0. Vous devez d'abord alimenter (batterie 3,7 V) votre Booster DC/DC afin d'ajuster la tension.
Étape 7: connectez le Zuino M Uno au servo-contrôleur Zio 16
Qwiic connecte Zuino M Uno au contrôleur Zio Servo avec un câble qwiic.
Étape 8: Connecter Uno au récepteur PS2
Voici un schéma des broches des connexions. Vous avez besoin de 5 fils de connexion mâle à femelle pour cette partie.
Étape 9: Code pour le bras robotique
Nous utiliserons la bibliothèque PS2 Arduino pour coder notre contrôleur sans fil PS2 afin qu'il fonctionne avec notre bras robotique. Vous pouvez trouver et télécharger le code source de ce projet Robotic Arm Part 2 sur notre page Github.
Téléchargez et installez les bibliothèques suivantes et enregistrez-les dans votre dossier de bibliothèques locales Arduino IDE:
- Bibliothèque de pilotes de servomoteurs Adafruit PWM
- Bibliothèque Arduino PS2
Pour installer les bibliothèques, ouvrez votre IDE Arduino, accédez à l'onglet Esquisse, sélectionnez Inclure la bibliothèque -> Add. Zip Library. Sélectionnez les bibliothèques ci-dessus à inclure dans votre IDE.
Arduino a un guide pratique sur la façon d'installer des bibliothèques sur votre IDE Arduino. Découvrez-les ici !
Étape 10: Exécutez votre code
Ouvrez l'IDE Arduino. Sous Fichiers > Exemples > PS2_Arduino_Library, sélectionnez PS2X_Servo
Remarque: avant de pouvoir contrôler votre bras robotique avec la manette PS2, vérifiez les étapes suivantes: Allumez votre manette PS2. Vérifiez que la LED Mode s'allume. Si ce n'est pas le cas, appuyez sur le bouton Mode de votre manette. Après avoir fait ce qui précède, vous devez appuyer sur le bouton de réinitialisation de votre Zuino M Uno pour qu'il lise les paramètres de votre contrôleur. Vous devez appuyer sur L1 et le joystick pour déplacer votre bras robotique.
- Le joystick gauche contrôle la flexion du bras vers le haut ou vers le bas
- Le joystick droit contrôle l'ouverture ou la fermeture de la griffe et la rotation de la griffe vers la gauche ou la droite.
Étape 11: Explication du code
L'utilisation de la bibliothèque PS2X Arduino est simple, ne nécessitant qu'une initialisation, une configuration, puis une commande de lecture.
Pour définir la connexion de votre manette PS2 avec votre Uno, voici les broches que vous devez définir dans votre code:
/****************************************************** ******************* * set de pins connecté à la manette PS2: * - 1e colonne: original * - 2e colmun: Stef ? * remplacez les numéros de broche par ceux que vous utilisez****************************************** **********************/#define PS2_DAT 13 //14 #define PS2_CMD 11 //15#define PS2_SEL 10 //16#define PS2_CLK 12 // 17
Nous avons remplacé les broches par celles que nous utilisons pour nous connecter à notre Uno, comme indiqué sur le schéma des broches ci-dessus.
/****************************************************** **************** sélectionnez les modes de la manette PS2: * - pressions = lecture analogique des boutons poussoirs * - grondement = grondement du moteur * décommentez 1 des lignes pour chaque sélection de mode** ************************************************** ************/ //#define pressions true#define pressions false //#define rumble true#define rumble false
Ici, nous avons défini le mode PS2 pour les pressions et le grondement comme faux. Nous avons commenté ceux que nous n'utilisons pas.
Nous n'utiliserons que la commande du joystick du contrôleur et L1 pour contrôler le mouvement de notre bras robotique.
void loop() {/* Vous devez lire la manette de jeu pour obtenir de nouvelles valeurs et définir des valeurs de vibration ps2x.read_gamepad (petit moteur allumé/éteint, plus grande force du moteur de 0 à 255) si vous n'activez pas le grondement, utilisez ps2x.read_gamepad (); sans valeur Vous devriez l'appeler au moins une fois par seconde*/ if(error == 1) // ignore la boucle si aucun contrôleur n'a été trouvé return; else { // Contrôleur DualShock ps2x.read_gamepad(false, vibrate); //lire le contrôleur et régler le gros moteur pour qu'il tourne à la vitesse de « vibration » si (ps2x. Button(PSB_START))//sera TRUE tant que le bouton est enfoncé Serial.println("Start est maintenu"); if(ps2x. Button(PSB_SELECT)) Serial.println("La sélection est maintenue"); vibrer = ps2x. Analog(PSAB_CROSS); // cela définira la grande vitesse de vibration du moteur en fonction de la force avec laquelle vous appuyez sur le bouton bleu (X) if(ps2x. Button(PSB_L1) || ps2x. Button(PSB_R1)) { //imprimer les valeurs du bâton si l'un ou l'autre est VRAI RY_Value =ps2x. Analog(PSS_RY); RX_Value=ps2x. Analog(PSS_RX); LY_Value=ps2x. Analog(PSS_LY); LX_Value=ps2x. Analog(PSS_LX);Serial.print("Stick Values:"); Serial.print(RX_Value); Serial.print(" "); Serial.print(RY_Value); Serial.print(" "); Serial.print(LY_Value); Serial.print(" "); Serial.println(LX_Value);
Le code ci-dessous est l'endroit où nous codons nos servos qui contrôlent notre bras robotique que nous incluons dans l'appel de fonction sous ps2x.button(PSB_L1)|| ps2x.bouton(PSB_R1).
Vous devez appuyer sur le bouton L1 ou R1 avec le joystick pour contrôler votre bras robotique.
Le joystick gauche contrôle les servos 2 et 3 pour la partie bras - contrôlent respectivement la flexion vers le haut et vers le bas du bras, tandis que le joystick droit contrôle les servos 0 et 1 de la griffe du bras robotique pour ouvrir ou fermer, et pour tourner à gauche ou à droite.
SERVO 0, 1 - Griffe SERVO 2, 3 - Bras
Vous pouvez modifier les valeurs de cette section pour contrôler le degré d'angle de votre bras robotique:
pulselen0=map(RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1=map(RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2=map(LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3=map(LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);
Conseillé:
BRAS ROBOTIQUE Xbox 360 [ARDUINO] : BRAS AXIOM : 4 étapes
BRAS ROBOTIQUE Xbox 360 [ARDUINO] : BRAS AXIOM :
Contrôler le bras robotique avec Zio à l'aide du contrôleur PS2 : 4 étapes
Contrôlez le bras robotique avec Zio à l'aide d'un contrôleur PS2 : ce billet de blog fait partie de la série Zio Robotics. Dans ce tutoriel, nous allons ajouter une autre partie à notre bras robotique. Les tutoriels précédents n'incluent pas de base pour le
Bras robotique avec modules Zio Partie 3 : 4 étapes
Bras robotique avec modules Zio Partie 3 : Ce billet de blog fait partie de la série Zio Robotics.Introduction Dans notre blog précédent, nous avons publié un didacticiel des parties 1 et 2 sur la façon de contrôler un bras robotique à l'aide de modules Zio. La partie 1 s'est principalement concentrée sur le contrôle automatique de votre griffe de bras robotique t
Contrôler un bras robotique avec les modules Zio Partie 1 : 8 étapes
Contrôler un bras robotique avec des modules Zio Partie 1 : Ce billet de blog fait partie de la série Zio Robotics.IntroductionDans ce didacticiel, nous allons créer un projet dans lequel nous utiliserons des modules Zio pour contrôler le bras robotique. Ce projet vous apprendra comment faire en sorte que votre griffe de bras robotique s'ouvre et se ferme. Ce n
COMMENT ASSEMBLER UN BRAS DE ROBOT EN BOIS IMPRESSIONNANT (PARTIE 3: BRAS DE ROBOT) - BASÉ SUR LE MICRO: BITN: 8 étapes
COMMENT ASSEMBLER UN BRAS DE ROBOT EN BOIS IMPRESSIONNANT (PARTIE 3 : BRAS DE ROBOT) -- BASÉ SUR LE MICRO : BITN : Le prochain processus d'installation est basé sur l'achèvement du mode d'évitement d'obstacle. Le processus d'installation de la section précédente est le même que le processus d'installation en mode suivi de ligne. Jetons ensuite un coup d'œil à la forme finale de A