Arduino sans fil Animatronic main 9 étapes

Arduino sans fil Animatronic main 9 étapes

Arduino sans fil Animatronic main 9 étapes

BTW. Instructable est awsomeeeeee


Ceci est très simple, mais en même temps un projet très difficile en fonction de votre niveau de compétence. Permet d'obtenir à la construction!

Ce que cela est, est une main animatronique sans fil qui n'a pas besoin d'un ordinateur pour fonctionner. L'utilisateur porte un gant de contrôle et peut contrôler la main animatronique avec précision. Bellow quelques photos du produit final:

Étape 1: Vidéo

Étape 2: Contrôle Glove

Arduino sans fil Animatronic main 9 étapes

Arduino sans fil Animatronic main 9 étapes

Matériaux:
Arduino w / ATMEGA 328
XBee w / Shield
5 capteurs Flex
Gant
9v
Brancher le fil
outils de fabrication de PCB sur mesure
(5) résistances 10k

8.From ici je mets toutes les planches ensemble et testé pour voir si tout fonctionne (sous tension).
9. Je les capteurs de flexion cousu sur le gant en enfonçant un trou en haut et en cours d'exécution de la chaîne sur et sous le capteur pour qu'il puisse encore se déplacer librement.
10. i construit le brassard avec une certaine bande élastique et une certaine STRONG double face.

Étape 3: PCB personnalisé (gants)

Arduino sans fil Animatronic main 9 étapes

Arduino sans fil Animatronic main 9 étapes

Arduino sans fil Animatronic main 9 étapes

Arduino sans fil Animatronic main 9 étapes


Donc, pour le gant i fait un PCB personnalisé pour vous connecter à arduino. Ce PCB est pour les 5 capteurs flexibles pour les entrées arduino. Ceci est mon premier PCB il n'a pas été par tous les moyens complexes, ni professionnel. Je l'ai fait dans EAGLE CAD et a utilisé la méthode Sharpie.

Étape 4: La main!

Arduino sans fil Animatronic main 9 étapes

Arduino sans fil Animatronic main 9 étapes

Arduino sans fil Animatronic main 9 étapes

Arduino sans fil Animatronic main 9 étapes

Cela a pris le plus long à construire.

1. Je mains et fait des recherches sur un diagramme trouvé où les articulations sont.
2. Je coupe ensuite les joints avec le couteau exacto
3. Je mets tous les doigts sans le pouce.
4. Je mets les quatre doigts et les fortifiais legos
5. Je scotchée la sécurité et de mettre le pouce sur ceux de sorte qu'il aurait humain comme flex.
6. i scotchée les servos remplir ensemble les espaces avec styromousse
7. J'ai ajouté les 5 servos à la main avec legos et bande
8. Je construit le circuit sur une carte de test avec une puissance juste délivrant les servos et ayant les fils de commande à l'entrée numérique sur l'arduino
9. i couru attirail de pêche de la pointe du doigt à travers le tube et ancré sur le servo

Étape 5: main PCB Shield

Arduino sans fil Animatronic main 9 étapes

Arduino sans fil Animatronic main 9 étapes


Pour la main je suis toujours en train de construire un pcb pour enlever les fils et de réduire l'espace. Cette fois, je me sers de toner méthode de transfert. J'ai fait à nouveau la mise en page schématique et planche à EAGLE CAD. je l'ai utilisé du papier magazine pour imprimer sur. J'Engineered ce à être utilisé comme un écran sur le arduino.

Étape 6: CODE.

Arduino sans fil Animatronic main 9 étapes


La chose Tout d'abord que vous voulez faire est vous assurer que votre bouclier ou de XBee sont débranchés du arduino. Ou assurez-vous que les cavaliers corrects sont au bon endroit (dans mon cas). J'ai écrit ce code et si vous ne l'utilisez veulent crédit.

Voici le code pour l'envoi Arduino:

int Finger1 = 0;
int finger2 = 1;
int Finger3 = 2;
int Finger4 = 3;
int Finger5 = 4;

void setup()
Serial.begin (9600);
>

void loop ()
octet servoValue1;
octet servoValue2;
octet servoValue3;
octet servoValue4;
octet servoValue5;

int FingerV1 = analogRead (Finger1);
int FingerV2 = analogRead (finger2);
int FingerV3 = analogRead (Finger3);
int FingerV4 = analogRead (Finger4);
int FingerV5 = analogRead (Finger5);

si (FingerV1 < 200) FingerV1 = 200;
else if (FingerV1> 460) FingerV1 = 460;
si (FingerV2 < 200) FingerV2 = 200;
else if (FingerV2> 460) FingerV2 = 460;
si (FingerV3 < 200) FingerV3 = 200;
else if (FingerV3> 460) FingerV3 = 460;
si (FingerV4 < 200) FingerV4 = 200;
else if (FingerV4> 460) FingerV4 = 460;
si (FingerV5 < 200) FingerV5 = 200;
else if (FingerV5> 460) FingerV5 = 460;

octet servoVal1 = map (FingerV1,460, 200, 255, 0);
octet servoVal2 = map (FingerV2,460, 200, 255, 0);
octet servoVal3 = map (FingerV3,460, 200, 255, 0);
octet servoVal4 = map (FingerV4,460, 200, 255, 0);
octet servoVal5 = map (FingerV5,460, 200, 255, 0);

Serial.print (servoVal1);
Serial.print (servoVal2);
Serial.print (servoVal3);
Serial.print (servoVal4);
Serial.print (servoVal5);

Voici la réception:

Servo myservo1; // créer l'objet d'asservissement pour commander un servo
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;

void setup()
Serial.begin (9600);

myservo1.attach (2); // attache le servo sur la broche 9 de l'objet asservi
myservo2.attach (3);
myservo3.attach (4);
myservo4.attach (5);
myservo5.attach (6);
>

void loop ()
if (Serial.available ()> = 5)
octet servoAng1 = Serial.read ();
octet servoAng2 = Serial.read ();
octet servoAng3 = Serial.read ();
octet servoAng4 = Serial.read ();
octet servoAng5 = Serial.read ();


// Envoyer le servo à la position de lecture. (Remarque: vous arrivez à ce faire)
myservo1.write (servoAng1);
myservo2.write (servoAng2);
myservo3.write (servoAng3);
myservo4.write (servoAng4);
myservo5.write (servoAng5);
>
>

Articles Liés