Table des matières:

[Robot Arduino] Comment faire un robot de capture de mouvement - Pouces Robot - Servomoteur - Code source : 26 étapes (avec photos)
[Robot Arduino] Comment faire un robot de capture de mouvement - Pouces Robot - Servomoteur - Code source : 26 étapes (avec photos)

Vidéo: [Robot Arduino] Comment faire un robot de capture de mouvement - Pouces Robot - Servomoteur - Code source : 26 étapes (avec photos)

Vidéo: [Robot Arduino] Comment faire un robot de capture de mouvement - Pouces Robot - Servomoteur - Code source : 26 étapes (avec photos)
Vidéo: Mysteries of the Pyramids and the Great Sphinx: Beyond the Mainstream Theories 2024, Juillet
Anonim
Image
Image
[Robot Arduino] Comment faire un robot de capture de mouvement | Pouces Robot | Servomoteur | Code source
[Robot Arduino] Comment faire un robot de capture de mouvement | Pouces Robot | Servomoteur | Code source

Pouce Robot. Utilisé un potentiomètre du servomoteur MG90S. C'est très amusant et facile! Le code est très simple. Il n'y a qu'une trentaine de lignes. Cela ressemble à une capture de mouvement.

S'il vous plaît laissez toute question ou commentaire!

[Instruction]

  • Code source
  • Fichiers d'impression 3D

[À propos du fabricant]

Youtube

Étape 1: PIÈCES ARDUINO

PIÈCES ARDUINO
PIÈCES ARDUINO
PIÈCES ARDUINO
PIÈCES ARDUINO
PIÈCES ARDUINO
PIÈCES ARDUINO

Installer l'IDE Arduino

https://www.arduino.cc/en/Main/Software

Installer le pilote CH340 (pour la version chinoise)

https://www.wch.cn/download/CH341SER_ZIP.html

TÉLÉCHARGER - code source

  • https://github.com/happythingsmaker/ThumbsRobot
  • Comme vous pouvez le voir, il existe un fichier zip. Extrayez tous les fichiers et double-cliquez sur le fichier de code source.

Sélectionnez la carte / Processeur / Port Com

  • Arduino Nano
  • ATmega328P (ancien chargeur de démarrage)

Branchez votre arduino nano

Branchez le câble USB et un nouveau port apparaîtra

Rechercher / sélectionner un port de communication émergent

  • Cliquez sur le port apparu et appuyez sur le bouton de téléchargement
  • Appuyez sur le bouton de téléchargement

Étape 2: IMPRESSION DE PIÈCES EN 3D

PIÈCES D'IMPRESSION 3D
PIÈCES D'IMPRESSION 3D

Téléchargez des fichiers de modélisation 3D depuis Thingiverse

https://www.thingverse.com/thing:2844993

Imprimer toutes les pièces une par une

Étape 3: partie du circuit

Pièce de circuit
Pièce de circuit

Utilisez la carte d'extension Arduino Nano. Parce que l'Arduino Nano lui-même n'a pas beaucoup de broches, vous devrez utiliser une carte d'extension.

Lorsque vous regardez le câblage connecté au moteur, vous pouvez voir trois couleurs. Jaune, rouge et marron. Le marron doit être connecté à G (Terre).

Dans les étapes suivantes, nous l'examinerons à nouveau de près.

Étape 4: PIÈCE MATÉRIELLE - Préparez toutes les pièces

PIÈCE MATÉRIELLE - Préparez toutes les pièces
PIÈCE MATÉRIELLE - Préparez toutes les pièces

[Les pièces]

  • 1 x Arduino Nano
  • 1 x carte d'extension Arduino Nano
  • 6 x servomoteurs
  • 2 x globes oculaires jouets
  • 12 x boulons à vis (2 * 6mm)

[Outils]

  • Imprimante 3D (Anet A8)
  • Filament pour impression 3d (PLA 1.75mm)
  • Pince à fil
  • Pince à dénuder
  • Pistolet à colle thermofusible
  • Tournevis (+)
  • Bande électronique
  • Outils de soudage (Hakko)
  • Main à souder
  • Tournevis électrique

Étape 5: Modifier 3 servomoteurs en capteur de position

Les étapes suivantes vous montrent comment transformer un servomoteur en capteur de position. fondamentalement, la plupart des servomoteurs ont un potentiomètre ou un encodeur pour obtenir une valeur d'angle.

Nous utiliserons ce potentiomètre lui-même. nous devons ouvrir le boîtier, démonter la carte et la recâbler à nouveau.

Étape 6: Dévissez 4 boulons à l'arrière et ouvrez le boîtier avant

Dévissez 4 boulons à l'arrière et ouvrez le boîtier avant
Dévissez 4 boulons à l'arrière et ouvrez le boîtier avant
Dévissez 4 boulons à l'arrière et ouvrez le boîtier avant
Dévissez 4 boulons à l'arrière et ouvrez le boîtier avant

Vous aurez besoin d'un petit tournevis car ils sont trop petits. Le moteur a 3 parties - avant, corps et arrière.

Lorsque vous ouvrez la face avant, vous verrez les engrenages. En fait, nous n'utilisons pas ce moteur comme "moteur". Ainsi, les engrenages ne sont plus nécessaires théoriquement. Mais nous en utiliserons une partie pour que l'angle de fonctionnement ait toujours une limitation de rotation.

Étape 7: Retirez la 3e vitesse

Retirer la 3e vitesse
Retirer la 3e vitesse
Retirer la 3e vitesse
Retirer la 3e vitesse
Retirer la 3e vitesse
Retirer la 3e vitesse

Le potentiomètre du servomoteur a une limitation angulaire d'environ 180 degrés. Le potentiomètre a son propre mécanisme de limitation mais il est tellement faible. Il se casse souvent facilement. Afin de le protéger, l'engrenage donne un autre mécanisme. Le premier engrenage a un pare-chocs en plastique qui sera en contact avec le deuxième engrenage.

Nous avons certainement besoin de la première vitesse pour le cadre global, la deuxième vitesse est nécessaire pour la limitation. Donc, on ne peut pas s'en débarrasser. Au lieu d'eux, nous pouvons retirer la troisième vitesse.

Vous vous demandez peut-être pourquoi nous devons retirer un engrenage. Ces trois servomoteurs seront utilisés pour obtenir des informations d'angle. S'il y a des engrenages en eux, le mouvement sera raide. Donc, nous devons nous débarrasser d'un de leurs engins.

Étape 8: recâblage/soudure

Re-câblage / Soudage
Re-câblage / Soudage

Coupez les fils qui sont connectés aux moteurs.

Étape 9: utilisez un outil de soudure et détachez la carte

Utilisez un outil de soudure et détachez la carte
Utilisez un outil de soudure et détachez la carte
Utilisez un outil de soudure et détachez la carte
Utilisez un outil de soudure et détachez la carte

Étape 10: Coupez un fil et préparez-vous pour la soudure

Coupez un fil et préparez-vous pour la soudure
Coupez un fil et préparez-vous pour la soudure
Coupez un fil et préparez-vous pour la soudure
Coupez un fil et préparez-vous pour la soudure

et mettre de la pâte et mettre du plomb sur le câble

Étape 11: Soudez-le

Soudez-le
Soudez-le
Soudez-le
Soudez-le
Soudez-le
Soudez-le
Soudez-le
Soudez-le

du côté très gauche rouge jaune et marron

Étape 12: Mettez de la colle dessus

Mettez de la colle dessus
Mettez de la colle dessus
Mettez de la colle dessus
Mettez de la colle dessus

et récupérer sa face arrière

Nous avons besoin de 2 potentiomètres supplémentaires. faire le même travail pour deux autres moteurs

Étape 13: Faire le premier sous-sol commun

Faire le premier sous-sol commun
Faire le premier sous-sol commun
Faire le premier sous-sol commun
Faire le premier sous-sol commun
Faire le premier sous-sol commun
Faire le premier sous-sol commun

J'ai utilisé une planche de cuisine pour réaliser ce projet. il est bon marché et ferme de l'utiliser. Afin de fixer le cadre sur la planche, vous devrez utiliser des vis à bout pointu. Il fait un trou et un filetage en même temps.

Il y a 6 moteurs. 3 moteurs sur le côté gauche sont les moteurs d'origine. par contre, il y a 3 moteurs qui sont modifiés en avant pas.

Étape 14: Faire le joint de lacet

Faire le joint de lacet
Faire le joint de lacet
Faire le joint de lacet
Faire le joint de lacet

Vous devrez utiliser un boulon à vis M2 * 6 mm.

Étape 15: Assemblez le joint de lacet avec le premier moteur

Assembler le joint de lacet avec le premier moteur
Assembler le joint de lacet avec le premier moteur
Assembler le joint de lacet avec le premier moteur
Assembler le joint de lacet avec le premier moteur

Comme vous pouvez le voir sur la dernière photo, vous devrez mettre le joint dans le sens horizontal. Et l'emplacement doit être à 90 degrés du moteur et du potentiomètre.

En d'autres termes, vous pouvez faire pivoter ces articulations en lacet de 90 degrés dans le sens des aiguilles d'une montre et dans le sens inverse des aiguilles d'une montre à partir de cet emplacement.

Étape 16: Assemblez l'Arduino Nano avec la carte d'extension Arduino Nano

Assemblez l'Arduino Nano avec la carte d'extension Arduino Nano
Assemblez l'Arduino Nano avec la carte d'extension Arduino Nano
Assemblez l'Arduino Nano avec la carte d'extension Arduino Nano
Assemblez l'Arduino Nano avec la carte d'extension Arduino Nano

Assurez-vous que la direction. Le port USB sera du même côté avec la prise DC.

Étape 17: La connexion de la première couche

La connexion de première couche
La connexion de première couche
La connexion de première couche
La connexion de première couche

Le potentiomètre est connecté à la broche analogique 0 de l'Arduino. Vous devez le brancher correctement. Cet Arduino Nano dispose de 8 canaux ADC (convertisseur analogique numérique). Fondamentalement, le potentiomètre donne le niveau ou la tension analogique. Vous pouvez lire cette valeur de volt en utilisant les broches ADC

D'un autre côté, le servomoteur est connecté au Digital 9 de l'Arduino. Les servomoteurs peuvent être contrôlés en utilisant PWM (Pulse Width Modulation). L'Arduino Nano a une broche PWM à 6 canaux (broches 9, 10, 11, 3, 5 et 6). Ainsi, nous pouvons utiliser jusqu'à 6 servomoteurs.

Dans cette étape, le code source ressemble à ceci

#comprendre

Servo servo[6]; configuration vide() { pinMode (A0, INPUT); servo[0].attach(9);}int tempADC[3] = {0};void loop() { tempADC[0] = analogRead(A0); servo[0].write(map(tempADC[0], 0, 1023, 0, 180));}

Étape 18: Assemblez la deuxième couche

Assembler la deuxième couche
Assembler la deuxième couche
Assembler la deuxième couche
Assembler la deuxième couche
Assembler la deuxième couche
Assembler la deuxième couche
Assembler la deuxième couche
Assembler la deuxième couche

La deuxième couche est également simple à réaliser. Ce dont vous devez faire attention, c'est de le mettre au bon endroit lorsque vous branchez le câble sur l'Arduino.

  • Le servomoteur gauche est connecté à la broche 10
  • Le potentiomètre droit est connecté à A1

#comprendre

Servo servo[6]; configuration vide() { pinMode (A0, INPUT); pinMode (A1, ENTREE); servo[0].attache(9); servo[1].attach(10);}int tempADC[3] = {0};void loop() { tempADC[0] = analogRead(A0); servo[0].write(map(tempADC[0], 0, 1023, 0, 180)); tempADC[1] = analogRead(A1); servo[1].write(map(tempADC[1], 0, 1023, 0, 180));}

Étape 19: Assemblez les cadres de la 3e couche

Assembler les cadres de la 3ème couche
Assembler les cadres de la 3ème couche

Étape 20: Assemblez le cadre avec le 2ème moteur / potentiomètre

Assemblez le cadre avec le 2ème moteur / potentiomètre
Assemblez le cadre avec le 2ème moteur / potentiomètre
Assemblez le cadre avec le 2ème moteur / potentiomètre
Assemblez le cadre avec le 2ème moteur / potentiomètre
Assemblez le cadre avec le 2ème moteur / potentiomètre
Assemblez le cadre avec le 2ème moteur / potentiomètre
Assemblez le cadre avec le 2ème moteur / potentiomètre
Assemblez le cadre avec le 2ème moteur / potentiomètre

Étape 21: Assemblez le 3e moteur dans le cadre commun

Assemblez le 3e moteur dans le cadre commun
Assemblez le 3e moteur dans le cadre commun
Assemblez le 3e moteur dans le cadre commun
Assemblez le 3e moteur dans le cadre commun

Étape 22: Branchez le câble sur l'Arduino

Branchez le câble dans l'Arduino
Branchez le câble dans l'Arduino
Branchez le câble dans l'Arduino
Branchez le câble dans l'Arduino
  • Le 3ème moteur est connecté à la broche 11
  • Le 3ème potentiomètre est connecté à A2

le code ressemble à ceci

#include Servo servo[6];void setup() { pinMode(A0, INPUT); pinMode (A1, ENTREE); pinMode (A2, ENTREE); servo[0].attache(9); servo[1].attache(10); servo[2].attach(11);}int tempADC[3] = {0};void loop() { tempADC[0] = analogRead(A0); servo[0].write(map(tempADC[0], 0, 1023, 0, 180)); tempADC[1] = analogRead(A1); servo[1].write(map(tempADC[1], 0, 1023, 0, 180)); tempADC[2] = analogRead(A2); servo[2].write(map(tempADC[2], 0, 1023, 0, 180));}

Étape 23: Assemblez le cadre des pouces

Assembler le cadre des pouces
Assembler le cadre des pouces
Assembler le cadre des pouces
Assembler le cadre des pouces

Étape 24: Testez et ajustez l'angle

Tester et ajuster l'angle
Tester et ajuster l'angle
Tester et ajuster l'angle
Tester et ajuster l'angle
Tester et ajuster l'angle
Tester et ajuster l'angle

Branchez le câble USB sur n'importe quelle source d'alimentation et le robot s'allumera bientôt. L'angle peut être légèrement différent. Ajustez l'angle un par un.

Étape 25: Un robot de plus ?

Un robot de plus ?
Un robot de plus ?
Un robot de plus ?
Un robot de plus ?

Si vous voulez faire un robot de plus, vous pouvez le faire. Branchez les servos sur 3, 5 et 6.

#include Servo servo[6]; void setup() { pinMode(A0, INPUT); pinMode (A1, ENTREE); pinMode (A2, ENTREE); servo[0].attache(9); servo[1].attache(10); servo[2].attach(11); servo[3].attach(3); servo[4].attach(5); servo[5].attach(6);}int tempADC[3] = {0};void loop() { tempADC[0] = analogRead(A0); servo[0].write(map(tempADC[0], 0, 1023, 0, 180)); servo[3].write(map(tempADC[0], 0, 1023, 0, 180)); tempADC[1] = analogRead(A1); servo[1].write(map(tempADC[1], 0, 1023, 0, 180)); servo[4].write(map(tempADC[1], 0, 1023, 0, 180)); tempADC[2] = analogRead(A2); servo[2].write(map(tempADC[2], 0, 1023, 0, 180)); servo[5].write(map(tempADC[2], 0, 1023, 0, 180));}

Étape 26: C'est fait

Terminé!
Terminé!
Terminé!
Terminé!
Terminé!
Terminé!

Si vous avez des questions, n'hésitez pas à les laisser:)

Concours de microcontrôleurs
Concours de microcontrôleurs
Concours de microcontrôleurs
Concours de microcontrôleurs

Finaliste du concours de microcontrôleurs

Conseillé: