Taula de continguts:

Cap libèl·lula oscil·lant: 11 passos
Cap libèl·lula oscil·lant: 11 passos

Vídeo: Cap libèl·lula oscil·lant: 11 passos

Vídeo: Cap libèl·lula oscil·lant: 11 passos
Vídeo: libèl·lula 2024, De novembre
Anonim
Cap libèl·lula oscil·lant
Cap libèl·lula oscil·lant

Vaig fer libèl·lula. La libèl·lula gira cap amb un sensor de gest i un servomotor.

components

  • Arduino UNO
  • Seeed Grove - Gest
  • Servo de gir continu micro FS90R

Pas 1: Constitució

Constitució
Constitució

Detectar el moviment del dit amb el sensor de gest i controlar la direcció de rotació del servo de rotació contínua de 360 ° amb Arduino.

Pas 2: Creeu libèl·lula - Cap 1 -

Crea libèl·lula - Cap 1
Crea libèl·lula - Cap 1

El cap es va fer amb cargol M8 de 12 mm de llargada. Quan gireu el cap amb el servo, talleu el pal per parar en un angle fix, talleu el cable a la longitud adequada i soldeu-lo al cargol.

Pas 3: Creeu libèl·lula - Cap 2 -

Crea libèl·lula - Cap 2
Crea libèl·lula - Cap 2

Els ulls i la boca es feien amb segells de joies brillants. Escric la boca amb un bolígraf.

Pas 4: Creeu libèl·lula - Cap 3 -

Crea libèl·lula - Cap 3
Crea libèl·lula - Cap 3

La connexió entre el cap i el pit (servo) està formada per una femella. Col·loqueu les plomes i les femelles adherides al servo amb adhesiu instantani.

Pas 5: Creeu una libèl·lula - Cos 1 -

Crea libèl·lula - Cos 1
Crea libèl·lula - Cos 1

Feu el servomotor al pit de la libèl·lula. Cargol M6 de 60 mm de longitud adherit com a panxa.

Pas 6: Creeu libèl·lula - Cos 2 -

Crea libèl·lula - Cos 2
Crea libèl·lula - Cos 2

Enrosqueu les femelles creades anteriorment al servo i uneix les plomes de les plaques amb els peus del filferro.

Pas 7: Creeu una libèl·lula - Cos 3 -

Crea libèl·lula - Cos 3
Crea libèl·lula - Cos 3

Connecteu un cable gruixut al servo perquè quedi enganxat a la barra de recanvi del capçal. He soldat els peus del filferro prim a aquest fil gruixut (per a acer inoxidable).

Pas 8: Creeu una libèl·lula - Cos 4 -

Crea libèl·lula - Cos 4
Crea libèl·lula - Cos 4

Enrosqueu el cap a la femella i es completa la libèl·lula. Activeu el servo i gireu-lo.

Pas 9: Servo de rotació contínua de 360 graus

Aquest servo funciona amb la biblioteca Servo que originalment estava inclosa a Arduino IDE, però lleugerament diferent del servo motor normal.

  • Servo stop amb entrada de 90 graus
  • Gireu en sentit horari amb l'entrada de 0 a 89 graus. La velocitat de rotació augmenta de 90 graus.
  • Gireu en sentit antihorari amb l'entrada de 91 a 180 graus. La velocitat de rotació augmenta més dels 90 graus.

Pas 10: Codi Arduino

Connecteu el servo i el sensor de gest a Arduino UNO.

La biblioteca del sensor de gestos utilitza el següent:

He mirat el codi de mostra paj7620_9gestures.ino.

El gest li va fer reconèixer la direcció del dit en sentit horari i en sentit antihorari.

Els 8 pins digitals d’Arduino estan connectats a GND de manera que el servo gira lentament en el sentit contrari a les agulles del rellotge, de manera que es pot convertir el cargol cap a la femella.

L’obertura digital de 8 pins d’Arduino allibera el funcionament normal i comença la detecció del sensor de gestos. Detecta la rotació del moviment dels dits i es mou segons el servo.

#include #include "paj7620.h" #include Servo myservo; // crear un objecte servo per controlar un servo

configuració nul·la () {uint8_t error = 0; Serial.begin (9600); myservo.attach (A0); // fixa el servo al pin 9 a l'objecte servo pinMode (8, INPUT_PULLUP); error = paj7620Init (); // inicialitzar Paj7620 registra si (error) {Serial.print ("INIT ERROR, CODI:"); Serial.println (error); } else {Serial.println ("INIT OK"); } Serial.println ("Introduïu els vostres gestos: / n"); }

bucle buit () {uint8_t data = 0, data1 = 0, error; if (digitalRead (8) == BAIX) {myservo.write (90 + 15); } else {error = paj7620ReadReg (0x43, 1 i & data); // Llegiu Bank_0_Reg_0x43 / 0x44 per obtenir un resultat gestual. if (! error) {switch (data) {case GES_CLOCKWISE_FLAG: Serial.println ("en sentit horari"); myservo.write (90 - 20); retard (800); trencar; cas GES_COUNT_CLOCKWISE_FLAG: Serial.println ("en sentit antihorari"); myservo.write (90 + 20); retard (800); trencar; per defecte: myservo.write (90); trencar; }}}}

Pas 11: operació

Operació
Operació

Tinc una bonica libèl·lula gronxadora!

Recomanat: