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

Tête humaine à tête de robot

Composants et fournitures

Arduino UNO
× 1
servomoteur
× 3
Appareil Android
× 1
Carte d'alimentation régulée
× 1

Outils et machines nécessaires

Fer à souder (générique)

Applications et services en ligne

SensoDuino

À propos de ce projet

Prévoyez de faire quelque chose de nouveau mais pas si coûteux. J'aime beaucoup la robotique. Mais en raison de l'exigence de servos et d'autres pièces, je n'aime pas le faire. Maintenant, j'ai 4 servomoteurs qui ne coûtent que 13 $. J'ai déjà Link it one board et Arduino board.

Prévoyez donc de faire une tête de robot qui bouge comme notre tête dans tous les axes mais en pas cher. Étudiez pour différents capteurs et méthodes, mais trouvez enfin un moyen avec tous les éléments dans ma main. Beaucoup de choses que j'étudie au cours de ce projet. Allez je vous explique ce que j'étudie. Je mentionne ce que j'apprends en caractères gras.

Utilisez le capteur Smart Mobile Tilt pour contrôler la tête

Étape 1 :Matériel requis

Matériaux que j'ai utilisés

1) Arduino uno.

2) Linkit un tableau.

3) 3 servomoteurs.

4) Application Android gratuite SensoDuino Téléchargez à partir d'ici.

5) Carte d'alimentation régulée (12 V, 5 V, 3,3 V).

6) PCB ordinaire.

7) Connecteurs PCB mâles

8) Déchets d'aluminium alimentant la pièce coupée.

9) Pistolet à colle chaude.

10) Adaptateur 12V et 5V.

11) Quelques autres objets à décorer.

Pourquoi Linkit one board et Arduino uno

Si vous avez une carte Linkit et un servomoteur 3V, vous n'avez pas besoin d'Arduino UNO car mon servomoteur 5V ne fonctionne pas correctement Linkit un tableau.

Si vous avez un module Arduino uno et Bluetooth, alors pas besoin de Linkit un tableau.

Je n'ai pas de protection Bluetooth, alors j'utilise Linkit one et Arduino uno.

Étape 2 : Propriétaire Servo Shield

1) Créez un blindage de servomoteur pour Arduino. (Faites attention si vous utilisez même des servos 3v Linkit one n'ont que 2 broches PWM)

2) Je fais un blindage comme PCB pour servomoteur.

3) En utilisant cette carte, nous avons pu contrôler 6 servomoteurs à partir d'arduino pind (3,5,6,9,10,11).

4) Des servos à 3 fils sont utilisés ici. où l'alimentation est fournie par la carte d'alimentation externe du régulateur 5 V.

5) Pendant que le servo de contrôle utilise un adaptateur pour la carte Arduino. Parce que l'alimentation USB du PC provoque des vibrations. Cela provoque une surchauffe dans le servomoteur et endommage le Servomoteur . (un de mes dommages au servo)

Étape 3 : Etablissez une connexion Linkit

1) Linkit on veut parler avec arduino pour contrôler les servos.

2) Pour cela, connectez le Tx de la carte Linkit one au Rx de la carte Arduino et les deux Gnd.

3) chaque fois que les données reçues sont envoyées à l'Arduino.

Remarque :-

Si vous avez un bouclier Bluetooth Arduino, vous contrôlez l'ensemble de la configuration à l'aide d'une seule carte.

Étape 4 :Position du servo

1) Réglez tous les servomoteurs à 90 degrés. Pour cela, téléchargez le programme ci-dessus sur arduino..

2) Connectez l'alimentation servo et l'alimentation arduino à la carte d'alimentation du régulateur aux broches 5V et 12V.

3) Connectez le connecteur femelle du servomoteur au connecteur mâle si le PCB que nous fabriquons dans les broches numériques Arduino 3,5,6.

3) Connectez l'adaptateur 12V à la carte d'alimentation du régulateur.

4) Allumez l'adaptateur.

5) Maintenant, tous les moteurs tournent à 90 degrés selon le programme.

Déconnectez maintenant les moteurs pour les assembler sans déranger le rotor.

Le code IDE de la position Arduino est donné en tant que Servoposition.ino


Étape 5 : Planifier

1) Rotation de la tête sur 3 axes x,y,z.

2) Les rotations sont

a) Lacet - Voir à gauche et à droite.

b) Pitch -Voir haut et bas

c) Roll-Shake côté sage.

3) Utilisez d'abord un ruban adhésif double face pour planifier les servos.

4) Coupez la cloison en aluminium en forme de L pour fixer le servo supérieur au second.

5) Connectez le klaxon du servomoteur selon votre plan ou comme indiqué sur l'image

6) Tout le centre des servos doit être droit à 90 degrés.

7) collez tous les servos et la pièce en L en aluminium à l'aide de ruban adhésif double face et vérifiez que le mouvement ne peut pas perturber les autres servos.

Étape 6 : Construction

1) Il est maintenant temps de le réparer définitivement.

2) Retirez l'autocollant double face un par un et fixez-le définitivement à l'aide d'un pistolet à colle chaude.

3) Attention à ne pas endommager les servos.

4) Connectez à nouveau le connecteur servo à la carte arduino et allumez l'alimentation

5) conformez-vous tout droit comme la dernière image.

Étape 7 :Détails de l'application Android

1) Ouvrez SensoDuino dans votre téléphone Android. Il a des options pour afficher toute la lecture du capteur mobile et capable de l'envoyer via la dent bleue.

2) Tous les derniers capteurs sont répertoriés et nous ne pouvons sélectionner que les capteurs disponibles dans notre téléphone.

3) Allez dans le menu et sélectionnez Connecter Bluetooth.

4) La liste affiche les appareils Bluetooth disponibles.

5) Sélectionnez le Bluetooth Linkit one.

6) Pour notre projet, nous utilisons un capteur d'orientation. Cochez la première case pour activer et la deuxième case pour envoyer des données via Bluetooth.

7) Nous définissons également les performances de chaque capteur en sélectionnant l'option de performance dans le menu. Modifiez l'intervalle de temps pour chaque lecture.

Étape 8 :Codage

1) Deux codages sont ici un pour Linkit un.

En utilisant la dent bleue, il récupère les données du mobile et les envoie à l'Arduino en utilisant le port série

2) Programme Arduino

Lorsque les données sont reçues sur le port série, elles concatènent les caractères sous forme de chaîne. Et en utilisant indexof et substring, divisez un résultat d'ensemble complet. Dans cet ensemble, utilisez à nouveau l'indexof et la sous-chaîne pour obtenir chaque position. À partir de là, utilisez la carte dans arduino pour contrôler le servo de 0 à 180 degrés. Si vous utilisez le bouclier Bluetooth, modifiez le programme en fonction de l'exigence.

Comment fonctionne le programme

1) À l'aide du capteur d'orientation, le robot tourne la tête comme nous.

a) Le lacet est la rotation de 0 à 360 degrés selon la position magnétique. Pour cela, nous utilisons 90 à 270 degrés où 180 est le 90 degrés pour le servo. Nous voulons donc faire face à 180 degrés en tant que ficelle lorsque nous portons la casquette.

b) Le pas est à l'avant vers le haut et vers le bas. Sa lecture du capteur est de -180 à + 180. Nous utilisons -90 à +90.

c) Le rouleau est secoué latéralement, il est de 0 à 90 à 0 à -90 à 0. nous utilisons -90 à 90.


Le code Linkit one est fourni dans Linkitonehead.ino

Le code Arduino est fourni dans Arduinohead.ino


Étape 9 :Commandez les planches

1) connectez les deux cartes de blindage au sommet des deux microcontrôleurs.

2) Collez le tout avec l'autocollant double face l'un sur l'autre.

3) Attention à ne tirer sur aucun terminal.

Étape 10 :Tracez avec la main

Allumez maintenant toute l'alimentation et utilisez le mobile en main. Asseyez-vous face à 180 degrés dans le mouvement de lacet et utilisez le mobile pour contrôler les trois servomoteurs.

Étape 11 :Corrigez un visage

1) C'est l'heure de Noël, alors j'ai trouvé beaucoup de poupées du père noël dans la boutique.

2) Achetez une poupée et fixez la tête à l'aide d'un robinet double latéral sur le bras servo supérieur.

Étape 12 :Préparez un chapeau de contrôle

1) Prenez un chapeau normal.

2) Collez l'autocollant double face sur le devant du capuchon comme indiqué sur la figure.

3) Collez votre téléphone portable sur le ruban adhésif double face.

Étape 13 :Tester la vidéo

Test de faible performance signifie le taux de rafraîchissement du capteur toutes les 250 millisecondes.

Étape 14 :Vidéo finale

Voir l'action au taux de lecture du capteur d'une lecture par 100 millisecondes

Code

  • Servoposition.ino
  • Linkitonehead.ino
  • Arduinohead.ino
Servoposition.inoArduino
#include  Servo leftright ;Servo updown ;Servo shake ;void setup() { Serial.begin(9600); leftright.attach(3); updown.attach(5); secouer.attacher(6) ; leftright.write(90); updown.write(90); shake.write(90); }boucle vide() {}
Linkitonehead.inoArduino
#include #include int readval;String inputString ="";String outputString ="";int firstpoint=0;int secondpoint=0;void setup() { if(! LBTServer.begin((uint8_t*)"Sivam_LIO")) { return; }// Serial.begin(9600); Serial1.begin(9600); }boucle vide() { uint8_t buf[64]; int bytesRead ; if(LBTServer.connected()) { while(true) { bytesRead =LBTServer.readBytes(buf, 32); if(!bytesRead) break ; chaîne d'entrée="" ; for(int j=0;j<32;j++) { char inChar =char(buf[j]); // l'ajoute à inputString :inputString +=inChar; }// Serial.println(inputString); Serial1.println(inputString);// firstpoint=inputString.indexOf('>');// Serial.println(inputString);// Serial.println(firstpoint);// if (firstpoint>0)// {/ / secondpoint=inputString.indexOf('>',firstpoint+1);// if (secondpoint>0)// {// outputString=inputString.substring(firstpoint,secondpoint);// inputString=inputString.substring(secondpoint);// Serial.println(outputString);// }// } } delay(100); } else { LBTServer.accept(5); }}
Arduinohead.inoArduino
#include  Servo leftright;Servo updown;Servo shake;String inputString ="";boolean stringComplete =false;String teststr2;String sensorid;String sensorrecid;String sensorval1;String sensorval2;String sensorval3;int S1;int S2;int S3;int startchr=0;int endchr=0;int rot1;int rot2;int rot3;void setup() { Serial.begin(9600);// inputString.reserve(200); leftright.attach(3); updown.attach(5); shake.attach(6);}void loop() {}void serialEvent() { while (Serial.available()) { char inChar =(char)Serial.read(); if (inChar !='\n') { inputString +=inChar; } } startchr =inputString.indexOf('>'); if (startchr>=0) { endchr =inputString.indexOf('>',startchr+1); if (endchr>0) { teststr2=inputString.substring(startchr,endchr); inputString=inputString.substring(endchr); startchr =teststr2.indexOf(','); sensorid =teststr2.substring(1,startchr); endchr =teststr2.indexOf(',',startchr+1); sensorrecid=teststr2.substring(startchr+1,endchr); startchr=endchr; endchr =teststr2.indexOf(',',startchr+1); sensorval1=teststr2.substring(startchr+1,endchr); startchr=endchr; endchr =teststr2.indexOf(',',startchr+1); sensorval2=teststr2.substring(startchr+1,endchr); startchr=endchr; sensorval3=teststr2.substring(startchr+1); S1=sensorval1.toInt(); S2=valeur2.toInt(); S3=valeur3.toInt(); rot1=map(S1, 90, 270, 180, 0); si (rot1<0) rot1=0; sinon si (rot1>180) rot1=180 ; rot2=map(S2, -90, 90, 0, 180); si (rot2<0) rot2=0; sinon si (rot2>180) rot2=180 ; rot3=map(S3, 90, -90, 0, 180); si (rot3<0) rot3=0; sinon si (rot3>180) rot3=180 ; if (rot1!=0 &rot1!=180) { leftright.write(rot1); } if (rot1!=0 &rot1!=180) { updown.write(rot2); } if (rot1!=0 &rot1!=180) { shake.write(rot3); } délai(15); // Serial.print("Sensor-");// Serial.println(sensorid);// Serial.print("Sensor Val1-");// Serial.println(rot1;// Serial.print(" Sensor Val2-");// Serial.println(rot2); // Serial.print("Sensor Val3-");// Serial.println(rot3); } } }

Processus de fabrication

  1. Robot boîtier CD Raspberry Pi
  2. Robot d'alarme roulante
  3. Carte RaspiRobot V2
  4. Créer un robot Minecraft Creeper
  5. Archimedes :The AI ​​Robot Owl
  6. Open CV Robot
  7. Robot ROS
  8. DÉTECTION HUMAINE DU ROBOT SONBI À L'AIDE DE KINECT ET DE RASPBERRY PI
  9. Robot Pi simple