Paso 4: cerrar
Preferí dejar una abertura para el posible mantenimiento si había algún defecto. Para ello, pegué algunas piezas de Velcro en el cuerpo de la guacamaya en lugar de pegar las piezas. Es bastante bueno.
Cabeza *
Intentado llenar su cabeza con piezas de espuma de poliestireno para asegurar el brazo del servo, pero no era muy buena. Así que puse algunos espuma de expansión. No recomiendo usar este producto porque es caro y el embalaje está hecho para ser usado sólo una vez. Perdí casi todo el producto y sólo utiliza esta cabeza.
Para controlar los movimientos, usé un Arduino.
El software es el siguiente:
int pos = 0; VARIÁVEL da posiçao servo
int tmp = 1500; VARIÁVEL fixa de temporização de um meio de segundo e
anival int = 0; VARIÁVEL vai Selecione animal de o
int randomval2 = 0; VARIÁVEL tempo de pausa
#include < Servo.h > / / biblioteca servo
Servo ararac; creando o objeto arara corpo
Servo ararap; creando o objeto arara pescoço
Servo macacoc; creando o objeto macaco corpo
Servo macacop; creando o objeto macaco pescoço
Servo tucano; creando o objeto tucano
Jabuti del servo; creando o objeto jabuti
Periq servo; creando o objeto periquito
void setup)
{
ararac.Attach (0); atribuindo o corpo da arara ao pino 0
ararap.Attach (1); atribuindo o pescoço da arara ao pino 1
macacoc.Attach (2); atribuindo o corpo macaco ao pino 2
macacop.Attach (3); atribuindo o pescoço macaco ao pino 3
Tucano.Attach (5); atribuindo o tucano ao pino 5
Jabuti.Attach (6); atribuindo o jabuti ao pino 6
periq.Attach (9); atribuindo o periquito ao pino 7
}
void loop () {}
Inicio:
randomval2 = random (4); VARIÁVEL para Selecione o tempo de pausa
randomval2 = randomval2 * 1000; ajustando o tempo para segundos: 0, 1, 2 o 3 segundos
anival = random (5); escolhe, randomicanente, qual vai animal se mover
Si (anival == 0) {}
Goto aarara;
}
else if (anival == 1) {}
Goto omacaco;
}
else if (anival == 2) {}
Goto ojabuti;
}
else if (anival == 3) {}
Goto otucano;
}
else if (anival == 4) {}
Goto periquito;
}
aarara:
para (pos = 100; pos < 150; pos += 1) / / pectorales o corpo da arara
{
ararac.Write(POS);
Delay(20);
}
retrasar (2500);
para (pos = 150; pos > = 100; pos-= 1) / / abaixa o corpo da arara
{
ararac.Write(POS);
Delay(20);
}
para (pos = 90; pos < 140; pos += 1) / / balança una cabeça da arara para a direita
{
ararap.Write(POS);
Delay(30);
}
para (pos = pos > 90, 140; pos = 1) / / balança una cabeça da arara para a esquerda
{
ararap.Write(POS);
Delay(60);
para (pos = 90; pos < 140; pos += 1) / / para repete o balanço da cabeça direita
{
ararap.Write(POS);
Delay(30);
}
para (pos = pos > 90, 140; pos = 1) / / repete o balanço da cabeça para la esquerda
{
ararap.Write(POS);
Delay(60);
Goto inicio;
}
.
.
.
.
.
.