Table des matières:

Libellule qui balance la tête : 11 étapes
Libellule qui balance la tête : 11 étapes

Vidéo: Libellule qui balance la tête : 11 étapes

Vidéo: Libellule qui balance la tête : 11 étapes
Vidéo: Libellule : Travailleuse intime assumée et influenceuse no tabou, découvrez son histoire ! 2024, Novembre
Anonim
Libellule qui balance la tête
Libellule qui balance la tête

J'ai fait la libellule. La libellule balance la tête avec un capteur de gestes et un servomoteur.

Composants

  • Arduino UNO
  • Graine Grove - Geste
  • Servomoteur à rotation continue micro FS90R

Étape 1: Constitution

Constitution
Constitution

Détecter le mouvement du doigt avec le capteur de geste et contrôler le sens de rotation du servo à rotation continue à 360 ° avec Arduino.

Étape 2: Créer une libellule - Tête 1 -

Créer Libellule - Tête 1
Créer Libellule - Tête 1

La tête a été réalisée avec une vis M8 de 12 mm de long. Lors de la rotation de la tête avec le servo, coupez le bâton pour l'arrêter à un angle fixe, coupez le fil à la longueur appropriée et soudez-le à la vis.

Étape 3: Créer une libellule - Tête 2 -

Créer Libellule - Tête 2
Créer Libellule - Tête 2

Les yeux et la bouche étaient faits de sceaux de bijoux scintillants. J'écris la bouche avec un stylo.

Étape 4: Créer une libellule - Tête 3 -

Créer Libellule - Tête 3
Créer Libellule - Tête 3

La connexion entre la tête et la poitrine (servo) est constituée d'un écrou. Fixez les plumes et les écrous fixés au servo avec un adhésif instantané.

Étape 5: Créer Libellule - Corps 1 -

Créer une libellule - Corps 1
Créer une libellule - Corps 1

Faire le servomoteur à la poitrine de la libellule. Vis M6 de 60 mm de long collée comme ventre.

Étape 6: Créer Libellule - Corps 2 -

Créer Libellule - Corps 2
Créer Libellule - Corps 2

Vissez les écrous créés précédemment au servo et collez les plumes des plaques avec les pieds du fil.

Étape 7: Créer une libellule - Corps 3 -

Créer Libellule - Corps 3
Créer Libellule - Corps 3

Attachez un fil épais au servo pour qu'il s'accroche à la barre de remplacement de la tête. Je soude les pieds du fil fin à ce fil épais (pour l'inox).

Étape 8: Créer une libellule - Corps 4 -

Créer une libellule - Corps 4
Créer une libellule - Corps 4

Vissez la tête dans l'écrou et la libellule est terminée. Activez le servo et tournez-le.

Étape 9: Servomoteur à rotation continue à 360 degrés

Ce servo fonctionne avec la bibliothèque Servo qui était à l'origine incluse dans Arduino IDE, mais légèrement différente du servomoteur normal.

  • Arrêt servo avec entrée à 90 degrés
  • Tournez dans le sens des aiguilles d'une montre avec une entrée de 0 à 89 degrés. La vitesse de rotation augmente plus loin de 90 degrés.
  • Tournez dans le sens inverse des aiguilles d'une montre avec une entrée de 91 à 180 degrés. La vitesse de rotation augmente plus loin de 90 degrés.

Étape 10: Code Arduino

Connectez le servo et le capteur de gestes à Arduino UNO.

La bibliothèque de capteurs de gestes utilise ce qui suit.https://github.com/Seed-Studio/Gesture_PAJ7620

J'ai regardé l'exemple de code paj7620_9gestures.ino.

Le geste lui fit reconnaître le sens horaire et le sens antihoraire du doigt.

La broche numérique 8 d'Arduino est connectée à GND afin que le servo tourne lentement dans le sens inverse des aiguilles d'une montre afin que la vis à tête puisse être tournée dans l'écrou.

L'ouverture numérique à 8 broches d'Arduino libère le fonctionnement normal et la détection du capteur de geste commence. Détecte la rotation du mouvement des doigts et se déplace en fonction du servo.

#include #include "paj7620.h" #include Servo myservo; // créer un objet servo pour contrôler un servo

void setup() { uint8_t error = 0; Serial.begin(9600); monservo.attache(A0); // attache le servo sur la broche 9 à l'objet servo pinMode(8, INPUT_PULLUP); erreur = paj7620Init(); // initialiser les registres Paj7620 if (error) { Serial.print("INIT ERROR, CODE:"); Serial.println(erreur); }else { Serial.println("INIT OK"); } Serial.println("Veuillez saisir vos gestes:\n"); }

void loop() { uint8_t data = 0, data1 = 0, error; if(digitalRead(8) == LOW){ myservo.write(90 + 15); }autre{ erreur = paj7620ReadReg(0x43, 1, &data); // Lire Bank_0_Reg_0x43/0x44 pour le résultat du geste. if (!error) { switch (data) { case GES_CLOCKWISE_FLAG: Serial.println("Clockwise"); monservo.write(90 - 20); retard (800); Pause; case GES_COUNT_CLOCKWISE_FLAG: Serial.println("anti-horaire"); monservo.write(90 + 20); retard (800); Pause; par défaut: monservo.write(90); Pause; } } } }

Étape 11: Opération

Opération
Opération

J'ai une jolie libellule qui balance la tête !

Conseillé: