Inhoudsopgave:

Arduino aangedreven Andorian antenne - Ajarnpa
Arduino aangedreven Andorian antenne - Ajarnpa

Video: Arduino aangedreven Andorian antenne - Ajarnpa

Video: Arduino aangedreven Andorian antenne - Ajarnpa
Video: Andorian rotating cosplay antenna SCCC 2019 2024, November
Anonim
Image
Image

Vrouw besloot een Andorian te zijn voor de komende Silicon Valley Comic Con in San Jose om bij mijn Elvis Captain Kirk-kostuum te passen. Terwijl het schminken/make-up en de rest van het kostuum nogal wat tijd in beslag nam, kon ik de antenne niet gewoon statisch laten zijn. Ik besloot ze op een enigszins willekeurige basis te laten draaien en roteren. Blijkt dat veel mensen zowel statische Andoriaanse antennes verkopen als degenen die al draaien. Maar het prijskaartje van $ 100 was te duur en ik ben sowieso een doe-het-zelver.

Omdat de tijd kort was, vond ik een 3D-geprinte antenne van Etsy in plaats van ze te maken.

VEREISTE ONDERDELEN -

Andorian antenne - check etsy voor deze of maak ze zelf

Twee micro-servo's - kunnen talloze plaatsen vinden

Adafruit itsybitsy - zie de website van adafruits. Kleiner hoe beter

Verlengde servokabels - amazon/ebay

servo tweedraads voedingskabel met aan/uit schakelaar - amazon/ebay

9V batterij

9V batterijhouder

afplakband, elektrische tape

haarband - elke CVS, doelwit, enz.

GEBRUIKT GEREEDSCHAP

soldeerbout

heet lijmpistool

superlijm

draadstrippers

Xacto mes

Prototype breadboard-naar-draadoplossing

Geïnstalleerde Arduino-ontwikkelomgeving op uw pc

Stap 1: De code

Hier is de code die ik heb gebruikt. Van internet gehaald.

Het besturen van een servo('s) vanaf een Arduino is super eenvoudig. Hoewel er meer technische manieren zijn om dit te doen, heb ik twee verschillende bewegingspatronen bruut geforceerd met een freak-out beweging ertussen en heen en weer gepingpongd. Je moet hiermee spelen om ervoor te zorgen dat je weet waar het midden is zodra je servo aan de hoofdband is bevestigd en wat er het beste uitziet voor jouw toepassing. /* Vegen

door BARRAGAN

Deze voorbeeldcode bevindt zich in het publieke domein.

Gewijzigd door r570sv

8-14-19

*/

#erbij betrekken

Servo-mijnservo; // maak een servo-object om een servo te besturen

// twaalf servo-objecten kunnen op de meeste borden worden gemaakt

int posl = 0; // variabele om de servopositie op te slaan

int posr = 0; int VERTRAGING = 50; int elke andere = 0; int ik = 0; intj = 0; intk = 0; int x = 0; Servo-servo1; Servo-servo2;

ongeldige setup() {

// mijnservo.attach (9); // bevestigt de servo op pin 9 aan het servo-object // myservo.attach (10); // hecht de servo op pin 10 aan het servo-object servo1.attach (9); servo2.attach(10); servo1.write(0); servo2.write(0); vertraging (1000); servo1.write(180); servo2.write(180); vertraging (1000); Serieel.begin(9600); }

//

// // start 180 links ga links 50, rechts ga rechts 50, dan langzaam terug naar 180 dan r 50 & links 50 // //

lege lus() {

for (j = 0; j <=5; j++) { for (i = 0, posl = 180, posr = 180;i <= 50;i++) { // gaat van 0 graden naar 180 graden posl = posl - 1; posr = posr + 1; servo1.write(posl); // vertel servo om naar positie in variabele 'pos' servo2.write (posr) te gaan; vertraging (VERTRAGING); // wacht 15 ms totdat de servo de positie bereikt} for (i = 0, posl = 130, posr = 230;i <= 50;i++) {// gaat van 0 graden naar 180 graden posl = posl + 1; posr = posr - 1; servo1.write(posl); // vertel servo om naar positie in variabele 'pos' servo2.write (posr) te gaan; vertraging (VERTRAGING); // wacht 15 ms totdat de servo de positie bereikt } } // for

if(elkeAndere == 1){

servo1.write(180); servo2.write(180); vertraging (500); servo1.write(280); servo2.write(280); vertraging (500); servo1.write(120); servo2.write(120); vertraging (500); servo1.write(180); servo2.write(180); vertraging (500); elkeOverig = 0; // schakel dit in zodat het om de andere keer een van deze twee routines zal doen } // if else{ everyOther = 1; for(x = 0; x <= 5; x++){ for (i = 0, posl = 180, posr = 180;i <= 40;i++) { // gaat van 0 graden naar 180 graden posl = posl - 1; posr = posr + 1; servo1.write(posl); // vertel servo om naar positie in variabele 'pos' servo2.write (posr) te gaan; vertraging(10); // wacht 10 ms totdat de servo de positie bereikt } for (i = 0, posl = 140, posr = 220;i <= 40;i++) {// gaat van 0 graden naar 180 graden posl = posl + 1; posr = posr - 1; servo1.write(posl); // vertel servo om naar positie in variabele 'pos' servo2.write (posr) te gaan; vertraging(10); // wacht 1 ms totdat de servo de positie bereikt } } } // else } // loop

Stap 2: Bedrading en verpakking

Bedrading en verpakking
Bedrading en verpakking
Bedrading en verpakking
Bedrading en verpakking

Dus de basisbedrading is super eenvoudig.

Een servo heeft drie draden. Stroom, aarde en de PWM-pin van de Arduino.

Dus pinnen, 9 en 10 werden gebruikt voor de PWM en aarde en stroom werden gebruikt van de Arduino.

Ik koos voor een 9V batterij omdat ik er een houder voor had. Ik had een kleinere LiPo 3.7V-batterij kunnen gebruiken om het hele pakket kleiner te maken, maar ik wist niet of ik 8 uur zou kunnen werken op de zeer kleine 3.7V-batterij die ik had, dus ging ik met de grotere 9v-batterij, stop hem erin een houder en bracht een reserve mee, zodat ik deze indien nodig kon verwisselen. Ik heb ook een aan / uit-schakelaar toegevoegd omdat ik een manier wilde om hem gemakkelijk aan en uit te zetten. Het hele pakket zou aan de achterkant van het hoofd tussen de pruik en het haar worden weggestopt en wat ik niet wilde, is een gehackte manier om het op te laden, waardoor een pruik of bedrading er niet in slaagde ermee te rotzooien.

De eigenlijke verpakking van het hele project was een van de moeilijkste onderdelen. Ik had het klein nodig, maar ik wilde ook geen draden ongedaan maken en het project FAIL laten zien wanneer ik het nodig had. Ik heb alle verbindingen op de Arduino warm gelijmd, zodat de pinnen er niet af zouden glijden en ik soldeerde de stroom- en aardingsdraden rechtstreeks op het Arduino-bord. Alle andere draadverbindingen werden aan elkaar geplakt en het hele pakket was in plakband gewikkeld met gemakkelijke toegang tot de aan-uitschakelaar.

Stap 3: Gadget installeren op de pruik

Image
Image
Gadget installeren op de pruik
Gadget installeren op de pruik

Als de verpakking niet vervelend genoeg was, was het pijnlijk om het hele ding in de pruik te krijgen.

De antenne werd gemonteerd op een haarband die volledig zou falen voor wat ik van plan was hem te gebruiken, dus moesten we een sterkere haarband kopen - gemaakt van metaal en bedekt met rubber.

De 3D-geprinte antenne paste niet op de micro-servo's, dus ik moest de sleuven groter dremelen. Servo's werden op hun plaats gezet met hete lijm.

Het monteren van de servohoorn op de haarband was een complete puinhoop. Ik wilde geen enorme gleuf in de pruik knippen, zodat ik de servo vooraf aan de haarband en antenne kon bevestigen, wat misschien een pruikfout veroorzaakte, dus ging ik de zeer pijnlijke weg van het snijden van een klein gaatje in de pruik 1/4 zodat de servo-as er doorheen paste. Daarna bevestigde ik de serverhoorn op de servo. Daarna epoxyde ik de serverhoorn op de haarband - wat niet werkte. Superlijmen van de serverhoorn op de haarband werkte ook niet. Zoooo, ik heb de serverhoorn om de haarband gewikkeld met heel dun paracord, elke wrap vastgebonden en vervolgens de paracord-knopen supergelijmd zodat ze niet los zouden gaan. een servo de eerste keer dat je dit doet.) Een beetje zoals wat je zou kunnen doen om een pijl te maken, zoals 10.000 jaar geleden een soort techniek.

Er zijn betere manieren om dit te doen. Gebruik mijn voorbeeld als iets dat werkt, maar iets dat verbeterd kan worden:-)

Er werden twee extra sleuven van 1/4 inch gesneden zodat de serverdraad door de pruik en langs de achterkant van de pruik kon passen naar waar de batterij / Arduino zou komen.

De batterij/Arduino aan het hoofd/pruik bevestigen

YMMV hierover. Ik kon het pakket onder de pruik om het knotje van mijn vrouw binden. Ze droeg een haarnetje en dat werd ook in de bundel gewikkeld. We hadden één storing waarbij het eruit gleed, dus ik knoopte het opnieuw vast en het duurde de rest van de dag (neem wat benodigdheden mee als je naar de con gaat om hierbij te helpen:-))

Stap 4: Op de show - wat werkte, wat niet, wat we anders zouden hebben gedaan?

Op de show - wat werkte, wat niet, wat we anders zouden doen
Op de show - wat werkte, wat niet, wat we anders zouden doen
Op de show - wat werkte, wat niet, wat we anders zouden doen
Op de show - wat werkte, wat niet, wat we anders zouden doen

Dus wat werkte -

Antennes vielen er niet af, maar we moesten heel voorzichtig zijn bij het in- en uitstappen. De servo is klein en de verbinding van de servohoorn met de haarband is nog kwetsbaarder.

Batterij ging de hele show mee - geen noodzaak om batterijen te verwisselen.

Er vielen geen draden, geen losse verbindingen - de extra tijd om te lijmen en af te plakken loonde

Wat niet zo goed werkte -

Dus aan mijn bureau zoek ik uit wat er goed uitziet voor de beweging van de antenne. Het bleek dat toen we in een enorm expocentrum kwamen, de meeste mensen - niet allemaal, de antenne niet zagen bewegen. Degenen die dat wel deden, raakten een beetje in paniek - 'is je antenne net bewogen?' een soort ding dat leuk was, maar een groter moment zou beter zijn geweest. Wat ik zou moeten doen, was een externe potentiometer leveren die we in realtime konden aanpassen om de rotatie, frequentie, enz. enz.

De manier waarop ik het aan de pruik en het haar van mijn vrouw bond - het viel er na een paar uur af. Gelukkig had ik een reserve stropdas en kon ik het opnieuw vastmaken aan haar pruik/haar knotje. Eigenlijk is dit geen mislukking, meer als voorbereid zijn op een zwakte die we de show zagen ingaan.

Aanbevolen: