Tabla de contenido:

Libélula que balancea la cabeza: 11 pasos
Libélula que balancea la cabeza: 11 pasos

Video: Libélula que balancea la cabeza: 11 pasos

Video: Libélula que balancea la cabeza: 11 pasos
Video: ESTA ESTRATEGIA de las libélulas te AYUDARÁ en la DISCOTECA #curiosidades #cosasquenosabías #animal 2024, Noviembre
Anonim
Libélula que balancea la cabeza
Libélula que balancea la cabeza

Hice libélula. La libélula balancea la cabeza con un sensor de gestos y un servomotor.

componentes

  • Arduino UNO
  • Seeed Grove - Gesto
  • Servo de rotación continua micro FS90R

Paso 1: Constitución

Constitución
Constitución

Detectando el movimiento del dedo con el sensor de gestos y controlando la dirección de rotación del servo de rotación continua de 360 ° con Arduino.

Paso 2: Crea Libélula - Cabeza 1 -

Crear libélula - Cabeza 1
Crear libélula - Cabeza 1

La cabeza se realizó con un tornillo M8 de 12 mm de largo. Al girar la cabeza con el servo, corte la varilla para que se detenga en un ángulo fijo, corte el cable a la longitud adecuada y suéldelo al tornillo.

Paso 3: Crea Libélula - Cabeza 2 -

Crear libélula - Cabeza 2
Crear libélula - Cabeza 2

Los ojos y la boca estaban hechos con sellos de joyería brillantes. Escribo la boca con un bolígrafo.

Paso 4: Crea Libélula - Cabeza 3 -

Crear libélula - Cabeza 3
Crear libélula - Cabeza 3

La conexión entre la cabeza y el pecho (servo) está formada por una tuerca. Coloque las plumas y las tuercas unidas al servo con adhesivo instantáneo.

Paso 5: Crea Libélula - Cuerpo 1 -

Crear libélula - Cuerpo 1
Crear libélula - Cuerpo 1

Haz el servomotor al pecho de la libélula. Se adhirió tornillo M6 de 60 mm de largo como vientre.

Paso 6: Crea Libélula - Cuerpo 2 -

Crear libélula - Cuerpo 2
Crear libélula - Cuerpo 2

Atornilla las tuercas creadas anteriormente al servo y une las plumas de las placas con las patas del cable.

Paso 7: Crea Libélula - Cuerpo 3 -

Crear libélula - Cuerpo 3
Crear libélula - Cuerpo 3

Conecte un cable grueso al servo para que se enganche en la barra de reemplazo del cabezal. Sueldo las patas del cable delgado a este cable grueso (para acero inoxidable).

Paso 8: Crea Libélula - Cuerpo 4 -

Crear libélula - Cuerpo 4
Crear libélula - Cuerpo 4

Atornille la cabeza en la tuerca y la libélula estará completa. Active el servo y gírelo.

Paso 9: Servo de rotación continua de 360 grados

Este servo funciona con la biblioteca Servo que se incluyó originalmente en Arduino IDE, pero ligeramente diferente del servomotor normal.

  • Parada de servo con entrada de 90 grados
  • Gire en el sentido de las agujas del reloj con una entrada de 0 a 89 grados. La velocidad de rotación aumenta más de 90 grados.
  • Gire en sentido antihorario con entrada de 91 a 180 grados. La velocidad de rotación aumenta más de 90 grados.

Paso 10: Código Arduino

Conecte el servo y el sensor de gestos a Arduino UNO.

La biblioteca de sensores de gestos utiliza lo siguiente:

Miré el ejemplo de código paj7620_9gestures.ino.

El gesto le hizo reconocer el sentido de las agujas del reloj y el sentido contrario a las agujas del reloj del dedo.

El pin digital de 8 de Arduino está conectado a GND para que el servo gire lentamente en el sentido contrario a las agujas del reloj para que el tornillo de cabeza se pueda girar en la tuerca.

La apertura digital de 8 pines de Arduino libera el funcionamiento normal y comienza la detección del sensor de gestos. Detecta la rotación del movimiento de los dedos y se mueve según el servo.

#include #include "paj7620.h" #include Servo myservo; // crea un objeto servo para controlar un servo

configuración vacía () {uint8_t error = 0; Serial.begin (9600); myservo.attach (A0); // conecta el servo en el pin 9 al objeto servo pinMode (8, INPUT_PULLUP); error = paj7620Init (); // inicializar los registros de Paj7620 if (error) {Serial.print ("INIT ERROR, CODE:"); Serial.println (error); } else {Serial.println ("INICIAR OK"); } Serial.println ("Introduzca sus gestos: / n"); }

bucle vacío () {uint8_t datos = 0, datos1 = 0, error; if (digitalRead (8) == LOW) {myservo.write (90 + 15); } else {error = paj7620ReadReg (0x43, 1, & data); // Leer Bank_0_Reg_0x43 / 0x44 para el resultado del gesto. if (! error) {switch (data) {case GES_CLOCKWISE_FLAG: Serial.println ("A la derecha"); myservo.write (90 - 20); retraso (800); rotura; case GES_COUNT_CLOCKWISE_FLAG: Serial.println ("en sentido antihorario"); myservo.write (90 + 20); retraso (800); rotura; predeterminado: myservo.write (90); rotura; }}}}

Paso 11: Operación

Operación
Operación

¡Tengo una bonita libélula que mueve la cabeza!

Recomendado: