Animatronic Stargate hjälm (9 / 10 steg)
Steg 9: elektronik
För detta projekt jag använder en Arduino styrkort skrev jag en komplett instructable om här -
Detta fungerar riktigt bra för denna ansökan men känn dig fri att använda någon Arduino du vill, det finns diagram som visar hur tråd det Hursomhelst. Den nämnda instructable visar hur att bygga, programmera och använda Arduino controller styrelsen jag använder. Servon drivs av fyra "AA" uppladdningsbara batterier. Jag monterade små växlar för både de AA-batterierna och LiPo cellen att göra det enkelt att slå på och av.
Jag använde en liten hona JST för LiPo cellen och sedan fast en rocker switch med en JST förlängning kabel-denna kabelnätet ansluts direkt till styrkort och gör det lätt att vända registeransvarige av och på utan att behöva ständigt koppla cellen LiPo eftersom JST LiPo kontakterna kan vara lite känsliga. Om du använder en standard Arduino (Uno, Deumilanove, etc.) är det inte nödvändigt för att göra denna ledningarna sele - bara tråd en växla mellan ett 9V batteri transistorn och din Arduino och du är good to go.
För att ansluta de AA-batterierna bara bryta använda två stift från en kvinnlig bort huvudet för att skapa en kabelnätet med en inline switch - detta gör att du kan koppla in batteriet direkt i controller styrelsen (eller en proto styrelse om du ledningar upp en standard Arduino) - titta på polariteten! Styrkort är monterad en liten plywood plattan och är fastsatt på insidan av hjälmen med kardborre, som är batterierna.
Varje 10mm LED får en 100 ohms motstånd lödas till dess positiva bly och sedan de kopplas parallellt. Lysdioderna är limmade till skära ner LED innehavare i de head ögonhålor med hjälp av en limpistol. Dessa ska limmas i efter hjälmen är målad.
Ta en titt på den wiring diagram, det är super enkelt. Servon Anslut enligt följande:
Huvudet litet servo-digital utgång pin 9
Höger sida huvudet servo (tittar på huvudet) - digital utgång stift 8
Vänster sida huvudet servo (tittar på huvudet) - digital utgång stift 7
Höger sida fan servo (tittar på huvudet) - digital utgång stift 6
Vänster sida fan servo (tittar på huvudet) - digital utgång stift 5
LED ögon-båda Anslut till digital utgång stift 11
Här är koden för att använda - bara kopiera och klistra in detta i din Arduino fönster. Detta är en enkel kod som bara kör servon och LEDs genom en sekvens om och om igen. Det sättet när du bär hjälmen behöver du inte oroa dig om vad det gör - bara flip växlar och du är good to go. Gärna leka med servo positioner men vara försiktig med att få dem att gå för långt eller de kommer att binda och eventuellt band ett kugghjul eller stall och gör en massa oväsen.
#include < Servo.h > / / include servo biblioteket
Servo servo1; skapar en instans av objektet servo att styra en servo
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;
int servoPin1 = 9; kontroll stift för servo
int servoPin2 = 8;
int servoPin3 = 7.
int servoPin4 = 6;
int servoPin5 = 5;
CONST int ledPin = 11;
int ledState = låg; variabeln som används för att lagra den sista LED statusen, för att växla ljus
void setup() {
servo1.attach(servoPin1); tillmäter objektet servo servo på stift
servo2.attach(servoPin2);
servo3.attach(servoPin3);
servo4.attach(servoPin4);
servo5.attach(servoPin5);
}
void loop()
{
tona in från min till max i steg om 5 poäng:
för (int fadeValue = 0; fadeValue < = 255; fadeValue += 5) {
anger värdet (varierar från 0 till 255):
analogWrite (ledPin, fadeValue);
vänta 30 millisekunder att se ljusreglering effekten
Delay(30);
}
servo1.write(90); siffran i parentes berättar servo vilket läge att gå till
servo2.write(50);
servo3.write(120);
servo4.write(90);
servo5.write(90);
Delay(1000); vänta en sekund
servo1.write(60);
servo4.write(100);
servo5.write(80);
Delay(1000);
servo1.write(70);
servo2.write(90);
servo3.write(110);
Delay(1000);
servo4.write(70);
servo5.write(110);
Delay(2000); vänta två sekunder
servo2.write(55);
servo3.write(85);
Delay(2000);
servo1.write(90);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
tona ut från max till min i steg om 5 poäng:
för (int fadeValue = 255; fadeValue > = 0; fadeValue-=5) {
anger värdet (varierar från 0 till 255):
analogWrite (ledPin, fadeValue);
vänta 30 millisekunder att se ljusreglering effekten
Delay(40);
}
Delay(3000); vänta tre sekunder
}
När du är nöjd med hur allt fungerar kan du limma i fan församlingar med en limpistol för att limma bottenplatta (där fan servo är monterad) i röret. Inte limma den främre plattan som du vill att det ska vara lätt att ta bort om du någonsin behöver ersätta en servo eller redskap.