Det började med att jag upptäckte att vapnet hade plats för 6 standard dioder inuti och då borrade jag bara ut dom små hålen.
Nästa steg vara att limma fast dioderna med (-) mot mitten för att förenkla kopplingen, målade baksidan svart för att minska strålning in i huset av vapnet och markerade vilka dioder som är röda så jag vet vilken kabel som är förbunden med vilken diod.
Då var det dags att löda fast ledarna, för att få så smalt kablage som möjligt och minst 7 olika färger valde jag att offra en TCP/IP kabel (nätverkskabel).
Kabeln drogs sedan genom Kroppen på samma ställen som "ammunitionen" på modellen ska vara (något fick offras). och sedan ut genom bakdelen på kroppen.Nu börja det roliga, att få allt att blinka som det ska. Det är här det är tacksamt att jag inte bara använde röd kabel för att dra allt.
Det jag använder som styrenhet är en Arduino UNO (http://www.arduino.cc/). Finns att köpa på interwebb eller på ställen som Kjäll ifall man inte våga öppna sin webläsare.
Enheten har portar som kan styra saker som dioder, servos eller annat kul. Nu är detta en väldigt enkel grej så det borde vara lätt att hänga med här fast man inte kan med det.
Vi börja med kablarna,
Diod 1 (röd) har en orange kabel (D1)
Diod 2 (gul) har en orange/vit (D2)
Diod 3 (röd) blå (D3)
Diod 4 Blå/vit (D4)
Diod 5 Grön (D5)
Diod 6 Grön/vit (D6)
Jorden är brun.
Nu ska vi kunna styra dessa en och en och för det måste vi få Arduinon att förstå vilken som är vilken. D1 är kopplad på pin 2, D2 på pin 3 o.s.v
Mellan Dioderna och de olika ut portarna är motstånd(220 ohm) för att inte dioderna ska bränna ut i förtid, blir tråkigt att öppna upp allt och göra om.
Det är lite snyggare ritat än hur det blir i verkligheten, som man ser på bilden är en Bredboard något att rekommendera om man ska koppla lite friskt. (7e dioden i koppling schemat är ögat)
Det är nog nu många har slutat läsa och tänker "Hell No!".
Nu måste det bara kodas lite så Arduinon vet vad den ska göra med alla dessa dioder som vi klämt dit.
Det första vi gör i koden är att ge portarna namn så det blir enklare att förstå.
/*
Morkarnaut
*/
//Morkanaut weapon & eye
#define red1 2
#define yel1 3
#define red2 4
#define yel2 5
#define red3 6
#define yel3 7
#define eye 8
Morkarnaut
*/
//Morkanaut weapon & eye
#define red1 2
#define yel1 3
#define red2 4
#define yel2 5
#define red3 6
#define yel3 7
#define eye 8
Sen ska vi se till så Arduinon vet att Pin 2-8 är output.
void setup()
{
//Initializes pin 2-8 as outputs
pinMode(red1,OUTPUT);
pinMode(yel1,OUTPUT);
pinMode(red2,OUTPUT);
pinMode(yel2,OUTPUT);
pinMode(red3,OUTPUT);
pinMode(yel3,OUTPUT);
pinMode(eye,OUTPUT);
{
//Initializes pin 2-8 as outputs
pinMode(red1,OUTPUT);
pinMode(yel1,OUTPUT);
pinMode(red2,OUTPUT);
pinMode(yel2,OUTPUT);
pinMode(red3,OUTPUT);
pinMode(yel3,OUTPUT);
pinMode(eye,OUTPUT);
}
Nu kommer vi till hur länge dioderna ska vara på och att det ska loopa.
digitalWrite= att det är en digital signal HIGHT= på LOW= av delay= antal millisekinder det är signal. :)
void loop()
{
//Blink
digitalWrite(red1,HIGH);
digitalWrite(yel1,LOW);
digitalWrite(red2,LOW);
digitalWrite(yel2,LOW);
digitalWrite(red3,LOW);
digitalWrite(yel3,LOW);
digitalWrite(eye,HIGH);
delay(35);
digitalWrite(red1,LOW);
digitalWrite(yel1,HIGH);
digitalWrite(red2,LOW);
digitalWrite(yel2,LOW);
digitalWrite(red3,LOW);
digitalWrite(yel3,LOW);
delay(35);
digitalWrite(red1,LOW);
digitalWrite(yel1,LOW);
digitalWrite(red2,HIGH);
digitalWrite(yel2,LOW);
digitalWrite(red3,LOW);
digitalWrite(yel3,LOW);
delay(35);
digitalWrite(red1,LOW);
digitalWrite(yel1,LOW);
digitalWrite(red2,LOW);
digitalWrite(yel2,HIGH);
digitalWrite(red3,LOW);
digitalWrite(yel3,LOW);
delay(35);
digitalWrite(red1,LOW);
digitalWrite(yel1,LOW);
digitalWrite(red2,LOW);
digitalWrite(yel2,LOW);
digitalWrite(red3,HIGH);
digitalWrite(yel3,LOW);
delay(35);
digitalWrite(red1,LOW);
digitalWrite(yel1,LOW);
digitalWrite(red2,LOW);
digitalWrite(yel2,LOW);
digitalWrite(red3,LOW);
digitalWrite(yel3,HIGH);
delay(35);
}
{
//Blink
digitalWrite(red1,HIGH);
digitalWrite(yel1,LOW);
digitalWrite(red2,LOW);
digitalWrite(yel2,LOW);
digitalWrite(red3,LOW);
digitalWrite(yel3,LOW);
digitalWrite(eye,HIGH);
delay(35);
digitalWrite(red1,LOW);
digitalWrite(yel1,HIGH);
digitalWrite(red2,LOW);
digitalWrite(yel2,LOW);
digitalWrite(red3,LOW);
digitalWrite(yel3,LOW);
delay(35);
digitalWrite(red1,LOW);
digitalWrite(yel1,LOW);
digitalWrite(red2,HIGH);
digitalWrite(yel2,LOW);
digitalWrite(red3,LOW);
digitalWrite(yel3,LOW);
delay(35);
digitalWrite(red1,LOW);
digitalWrite(yel1,LOW);
digitalWrite(red2,LOW);
digitalWrite(yel2,HIGH);
digitalWrite(red3,LOW);
digitalWrite(yel3,LOW);
delay(35);
digitalWrite(red1,LOW);
digitalWrite(yel1,LOW);
digitalWrite(red2,LOW);
digitalWrite(yel2,LOW);
digitalWrite(red3,HIGH);
digitalWrite(yel3,LOW);
delay(35);
digitalWrite(red1,LOW);
digitalWrite(yel1,LOW);
digitalWrite(red2,LOW);
digitalWrite(yel2,LOW);
digitalWrite(red3,LOW);
digitalWrite(yel3,HIGH);
delay(35);
}
Detta var hela koden i sin enkelhet. man kan koda in mera och experimentera med delay tider.
Läckert !
SvaraRadera