Antena Andoriana com Arduino: 4 etapas
Antena Andoriana com Arduino: 4 etapas
Anonim
Image
Image

A esposa decidiu ser andoriana para a próxima Comic Con do Vale do Silício em San Jose para combinar com minha fantasia de Capitão Kirk de Elvis. Enquanto a pintura / maquiagem do rosto e o resto da fantasia demoraram um pouco, eu não podia deixar a antena ficar apenas estática. Decidi fazê-los girar e girar de forma um tanto aleatória. Acontece que muitas pessoas vendem antenas andorianas estáticas e aquelas que já giram. Mas o preço de $ 100 era muito caro e eu sou um cara do faça-você-mesmo de qualquer maneira.

Como o tempo era curto, localizei algumas antenas impressas em 3D fora da Etsy em vez de tentar fazê-las.

PEÇAS REQUERIDAS -

Antena Andoriana - verifique etsy para estes ou faça você mesmo

Dois micro servos - podem encontrar vários lugares

Adafruit itsybitsy - consulte o site da adafruits. Quanto menor melhor

Cabos servo estendidos - amazon / ebay

cabo de alimentação servo de dois fios com botão liga / desliga - amazon / ebay

Bateria 9V

Suporte de bateria 9V

fita isolante, fita isolante

faixa de cabelo - qualquer CVS, alvo, etc.

FERRAMENTAS USADAS

ferro de solda

pistola de cola quente

super cola

descascadores de arame

Faca xacto

Protótipo de placa de pão para solução de fio

Ambiente de desenvolvimento Arduino instalado em seu PC

Etapa 1: O Código

Aqui está o código que usei. Tirado da Internet.

Dirigir servo (s) de um Arduino é muito fácil. Embora existam maneiras mais técnicas de fazer isso, eu fiz força bruta em dois padrões de movimento diferentes com um movimento assustador entre eles e fiz pingue-pongue para frente e para trás. Você precisará brincar com isso para ter certeza de saber onde está o centro, uma vez que seu servo é conectado à faixa de cabeça e o que parece melhor para sua aplicação. /* Varrer

por BARRAGAN

Este código de exemplo é de domínio público.

Modificado por r570sv

8-14-19

*/

#incluir

Servo myservo; // cria um objeto servo para controlar um servo

// doze objetos servo podem ser criados na maioria das placas

int posl = 0; // variável para armazenar a posição do servo

int posr = 0; int DELAY = 50; int everyOther = 0; int i = 0; int j = 0; int k = 0; int x = 0; Servo servo1; Servo servo2;

void setup () {

// myservo.attach (9); // anexa o servo no pino 9 ao objeto servo // myservo.attach (10); // conecta o servo no pino 10 ao objeto servo servo1.attach (9); servo2.attach (10); servo1.write (0); servo2.write (0); atraso (1000); servo1.write (180); servo2.write (180); atraso (1000); Serial.begin (9600); }

//

// // começar 180 para a esquerda vá para a esquerda 50, direita vá para a direita 50, a seguir, desacelere para 180, depois r 50 e para a esquerda 50 // //

void loop () {

for (j = 0; j <= 5; j ++) {for (i = 0, posl = 180, posr = 180; i <= 50; i ++) {// vai de 0 graus a 180 graus posl = posl - 1; posr = posr + 1; servo1.write (posl); // diz ao servo para ir para a posição na variável 'pos' servo2.write (posr); atraso (DELAY); // espera 15 ms para que o servo alcance a posição} for (i = 0, posl = 130, posr = 230; i <= 50; i ++) {// vai de 0 graus a 180 graus posl = posl + 1; posr = posr - 1; servo1.write (posl); // diz ao servo para ir para a posição na variável 'pos' servo2.write (posr); atraso (DELAY); // espera 15 ms para que o servo alcance a posição}} // para

if (everyOther == 1) {

servo1.write (180); servo2.write (180); atraso (500); servo1.write (280); servo2.write (280); atraso (500); servo1.write (120); servo2.write (120); atraso (500); servo1.write (180); servo2.write (180); atraso (500); everyOther = 0; // alterne isso para que a cada duas vezes seja feita uma dessas duas rotinas} // if else {everyOther = 1; for (x = 0; x <= 5; x ++) {for (i = 0, posl = 180, posr = 180; i <= 40; i ++) {// vai de 0 graus a 180 graus posl = posl - 1; posr = posr + 1; servo1.write (posl); // diz ao servo para ir para a posição na variável 'pos' servo2.write (posr); atraso (10); // espera 10 ms para que o servo alcance a posição} for (i = 0, posl = 140, posr = 220; i <= 40; i ++) {// vai de 0 graus a 180 graus posl = posl + 1; posr = posr - 1; servo1.write (posl); // diz ao servo para ir para a posição na variável 'pos' servo2.write (posr); atraso (10); // espera 1 ms para que o servo alcance a posição}}} // else} // loop

Etapa 2: Fiação e embalagem

Fiação e embalagem
Fiação e embalagem
Fiação e embalagem
Fiação e embalagem

Portanto, a fiação básica é super direta.

Um servo possui três fios. Alimentação, aterramento e pino PWM do Arduino.

Assim, os pinos 9 e 10 foram usados para o PWM e o aterramento e a alimentação foram usados no Arduino.

Escolhi uma bateria de 9V porque tinha um suporte para ela. Eu poderia usar uma bateria LiPo menor de 3,7 V para diminuir todo o pacote, mas não sabia se conseguiria funcionar por 8 horas com a minúscula bateria de 3,7 V que tinha, então optei por uma bateria maior de 9 V, coloque-a um suporte e trouxe um sobressalente para que eu pudesse trocá-lo se necessário. Também incluí um botão liga / desliga porque queria uma maneira de ligá-lo e desligá-lo facilmente. O pacote inteiro ia ser enfiado na parte de trás da cabeça entre a peruca e o cabelo e o que eu não queria é alguma forma hackeada de ligá-lo que poderia causar uma falha na peruca ou na fiação tentando sujar com ele.

A embalagem real de todo o projeto foi uma das partes mais difíceis. Eu precisava dele pequeno, mas também não queria que nenhum fio fosse desfeito e o projeto FALHOU quando eu precisei. Colei a quente todas as conexões no Arduino para que os pinos não escorregassem e soldei os fios de alimentação e aterramento direto na placa do Arduino. Todas as outras conexões de fios foram coladas com fita adesiva e todo o pacote foi embrulhado em fita adesiva com fácil acesso ao botão liga / desliga.

Etapa 3: Instalando o gadget na peruca

Image
Image
Instalando o gadget na peruca
Instalando o gadget na peruca

Se a embalagem não fosse tediosa o suficiente, colocar a coisa toda na peruca era doloroso.

A antena veio montada em uma faixa de cabelo que iria falhar completamente para o que eu planejava usar, então tivemos que comprar uma faixa de cabelo mais forte - feita de metal e coberta com borracha.

A antena impressa em 3D não se encaixava nos micro servos, então tive que remover os slots maiores. Os servos foram colocados no lugar com cola quente.

Montar o chifre do servo na faixa de cabelo foi uma bagunça completa. Eu não queria cortar uma fenda enorme na peruca para que eu pudesse pré-prender o servo na faixa de cabelo e na antena, talvez causando uma falha na peruca, então optei pelo caminho muito doloroso de cortar um pequeno orifício na peruca 1/4 para que a haste do servo passasse. Em seguida, conectei a buzina do servidor ao servo. Em seguida, apliquei epóxi à buzina do servidor na faixa de cabelo - o que não funcionou. A super colagem da buzina do servidor na faixa de cabelo também não funcionou. Entãããão, enrolei o chifre do servidor na faixa de cabelo com um paracord muito fino, amarrei cada envoltório e colei os nós do paracord para que não se soltassem. Tomando cuidado para não enlouquecer com a cola e colar o eixo do servo fechado (estraguei um servo pela primeira vez fazendo isso). Mais ou menos como o que você faria para fazer uma flecha há 10.000 anos, meio que técnica.

Existem maneiras melhores de fazer isso. Use meu exemplo como algo que funciona, mas algo que poderia ser melhorado:-)

Dois slots extras de 1/4 de polegada foram cortados para que o fio do servidor pudesse passar pela peruca e descer na parte de trás da peruca até onde a bateria / Arduino iria residir.

Conectando a bateria / Arduino à cabeça / peruca

YMMV sobre isso. Consegui amarrar o embrulho no coque da minha esposa sob a peruca. Ela estava usando uma rede de cabelo e essa gravata estava enrolada no pacote também. Tivemos uma falha em que ele escorregou, então amarrei de novo embrulhado e durou o resto do dia (traga alguns suprimentos quando for ao con para ajudar com isso:-))

Etapa 4: no show - o que funcionou, o que não funcionou, o que faríamos de maneira diferente

No Show - O que funcionou, o que não funcionou, o que gostaríamos de ter feito de maneira diferente
No Show - O que funcionou, o que não funcionou, o que gostaríamos de ter feito de maneira diferente
No Show - O que funcionou, o que não funcionou, o que gostaríamos de ter feito de maneira diferente
No Show - O que funcionou, o que não funcionou, o que gostaríamos de ter feito de maneira diferente

Então, o que funcionou -

As antenas não caíram - mas tínhamos que ser muito cuidadosos para entrar e sair do carro. O servo é pequeno e a conexão do chifre do servo à faixa de cabelo é ainda mais frágil.

A bateria durou todo o show - não há necessidade de trocar as baterias.

Nenhum fio caiu, nenhuma conexão solta - o tempo extra para colar e colar valeu a pena

O que não funcionou tão bem -

Então, na minha mesa, descubro o que seria bom para o movimento da antena. Acontece que quando entramos em um grande centro de exposições, a maioria das pessoas - nem todas, não percebeu a antena se movendo. Aqueles que o fizeram, meio que surtaram - 'sua antena acabou de se mover?' tipo de coisa que era legal, mas o momento maior seria melhor. O que eu DEVERIA fazer foi fornecer um potenciômetro externo que pudéssemos ajustar em tempo real para aumentar a rotação, frequência, etc. etc.

A maneira como o amarrei na peruca e no cabelo da minha esposa - caiu depois de algumas horas. Felizmente eu tinha uma gravata extra e fui capaz de amarrá-la novamente em sua peruca / coque de cabelo. Na verdade, isso não é uma falha, mais como estar preparado para uma fraqueza que vimos entrando no show.

Recomendado: