Índice:
- Etapa 1: Constituição
- Etapa 2: Criar Libélula - Cabeça 1 -
- Etapa 3: Criar Libélula - Cabeça 2 -
- Etapa 4: Criar Libélula - Cabeça 3 -
- Etapa 5: Criar Libélula - Corpo 1 -
- Etapa 6: Criar Libélula - Corpo 2 -
- Etapa 7: Criar Libélula - Corpo 3 -
- Etapa 8: Criar Libélula - Corpo 4 -
- Etapa 9: Servo de rotação contínua de 360 graus
- Etapa 10: Código Arduino
- Etapa 11: Operação
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Eu fiz a libélula. A libélula balança a cabeça com um sensor de gestos e um servo motor.
componentes
- Arduino UNO
- Bosque Vido - Gesto
- FS90R Micro Rotação Contínua Servo
Etapa 1: Constituição
Detectando o movimento do dedo com o sensor de gesto e controlando a direção de rotação do servo de rotação contínua 360 ° com Arduino.
Etapa 2: Criar Libélula - Cabeça 1 -
A cabeça foi feita com parafuso M8 de 12 mm de comprimento. Ao girar a cabeça com o servo, corte o stick para parar em um ângulo fixo, corte o fio no comprimento apropriado e solde-o no parafuso.
Etapa 3: Criar Libélula - Cabeça 2 -
Os olhos e a boca foram feitos com selos de joias brilhantes. Escrevo a boca com uma caneta.
Etapa 4: Criar Libélula - Cabeça 3 -
A conexão entre a cabeça e o tórax (servo) é feita de uma porca. Prenda as penas e nozes presas ao servo com adesivo instantâneo.
Etapa 5: Criar Libélula - Corpo 1 -
Faça o servomotor no peito da libélula. Parafuso M6 colado com 60 mm de comprimento como barriga.
Etapa 6: Criar Libélula - Corpo 2 -
Aparafuse as porcas criadas anteriormente ao servo e amarre as penas das placas com os pés do fio.
Etapa 7: Criar Libélula - Corpo 3 -
Conecte um fio grosso ao servo para que ele prenda na barra de substituição do cabeçote. Eu soldo os pés do fio fino a este fio grosso (para aço inoxidável).
Etapa 8: Criar Libélula - Corpo 4 -
Aparafuse a cabeça na porca e a libélula estará completa. Ative o servo e gire-o.
Etapa 9: Servo de rotação contínua de 360 graus
Este servo opera com a biblioteca Servo que foi originalmente incluída no Arduino IDE, mas um pouco diferente do servo motor normal.
- Parada do servo com entrada de 90 graus
- Gire no sentido horário com entrada de 0 a 89 graus. A velocidade de rotação aumenta além de 90 graus.
- Gire no sentido anti-horário com entrada de 91 a 180 graus. A velocidade de rotação aumenta além de 90 graus.
Etapa 10: Código Arduino
Conecte servo e sensor de gesto ao Arduino UNO.
A biblioteca do sensor de gestos usa o seguinte.https://github.com/Seed-Studio/Gesture_PAJ7620
Eu olhei para o exemplo de código paj7620_9gestures.ino.
O gesto fez com que ele reconhecesse a direção horária e a direção anti-horária do dedo.
O pino digital de 8 do Arduino é conectado ao GND para que o servo gire lentamente no sentido anti-horário para que o parafuso de cabeça possa ser girado na porca.
A abertura digital de 8 pinos do Arduino libera a operação normal e a detecção do sensor de gesto é iniciada. Detecta a rotação do movimento do dedo e se move de acordo com o servo.
#include #include "paj7620.h" #include Servo myservo; // cria um objeto servo para controlar um servo
void setup () {erro uint8_t = 0; Serial.begin (9600); myservo.attach (A0); // anexa o servo no pino 9 ao objeto servo pinMode (8, INPUT_PULLUP); erro = paj7620Init (); // inicializa os registros do Paj7620 if (erro) {Serial.print ("INIT ERROR, CODE:"); Serial.println (erro); } else {Serial.println ("INIT OK"); } Serial.println ("Por favor, insira seus gestos: / n"); }
void loop () {uint8_t dados = 0, dados1 = 0, erro; if (digitalRead (8) == LOW) {myservo.write (90 + 15); } else {error = paj7620ReadReg (0x43, 1, & data); // Leia Bank_0_Reg_0x43 / 0x44 para o resultado do gesto. if (! erro) {switch (data) {case GES_CLOCKWISE_FLAG: Serial.println ("Clockwise"); myservo.write (90-20); atraso (800); pausa; case GES_COUNT_CLOCKWISE_FLAG: Serial.println ("anti-horário"); myservo.write (90 + 20); atraso (800); pausa; padrão: myservo.write (90); pausa; }}}}
Etapa 11: Operação
Eu tenho uma linda libélula balançando a cabeça!