Lightstik Light bar Controller (3 / 4 steg)

Steg 3: kodning

Pop Quiz: I videon, vilken del av koden körs som brytaren vrids. Ledtråd, det börjar med växeln i position och jag flytta växeln sekventiellt från 1 till 5 och sedan rakt tillbaka till 1 i slutet. Delar av koden är dock inte sekventiell; IE: växla läge 1 körs inte koden under avsnittet 1 märkt i skissen. Jag ger dig här en - växla läge 1 = CA: i skiss och CA: är sista avsnittet i skissen, kanske inte först som en misstänkt.

Hur jag få detta arbetar är att kontrollera de analoga stift (2-6) för spänningen från rotary switch. Jag brydde mig inte med några fancy matematik eller något här. När du har övervakat stiften såg jag att de alltid registrerade flera runt matarspänning 20-30 utom stiftet växeln var för närvarande till. Det klämmer fast skulle vara runt ungefär 500-600 (tyvärr, minns inte exakt hur många). Så jag har bara den kod leta efter en nål som är > 200 och sedan köra den motsvarande del av koden jag vill ha för att byta position.

Control box skiss för ARROWSTIK trafikkontroll ljus bar, skriven av Bradley S. Worthington-White

DEFINIERAR KONSTANTER

Reläer används är normalt stängda, R_ON & R_OFF nedan gör skriva skissa lite lättare, omvänd R_ON och R_OFF för normalt öppen reläer

CONST int R_ON = låg; Relä på

CONST int R_OFF = hög; Relä OFF

definiera pin-koder för ljus i light bar

CONST int LArrow = 2; Vänsterpil (en ljus)

CONST int LTwo = 3; Lämnat två yttre lampor

CONST int Center = 4; Centrera två lampor

CONST int RTwo = 5; Just två yttre lampor

CONST int RArrow = 6; Högerpil (en ljus)

DEFINIERA VARIABLER

waittime(s) nedan ändras inom de enskilda delarna av skissen som lämpliga

int waittime; waitTime

int waittime2; andra waittime

int waittime3; och en tredje waittime

void setup()

{

se till att alla lampor är släckta vid start eller Återställ

digitalWrite (RArrow, R_OFF);

digitalWrite (RTwo, R_OFF);

digitalWrite (Center, R_OFF);

digitalWrite (LTwo, R_OFF);

digitalWrite (LArrow, R_OFF);

ställa in digital pin lägen för att växla reläer

pinMode (RArrow, OUTPUT);

pinMode (RTwo, OUTPUT);

pinMode (Center, OUTPUT);

pinMode (LTwo, OUTPUT);

pinMode (LArrow, OUTPUT);

ställa in analoga pin lägen för input från 5 position rotary switch

pinMode (A1, indata);

pinMode (A2, indata);

pinMode (A3, indata);

pinMode (A4, indata);

pinMode (A5, indata);

}

void loop()

{

se till att alla analoga stift värdet noll (0) vid start eller återställa

analogWrite(A1,0);

analogWrite(A2,0);

analogWrite(A3,0);

analogWrite(A4,0);

analogWrite(A5,0);

Växel: / / läser switch position och går till avsnittet märkt i skiss som gäller

om (analogRead(A1) > 200) goto CA1;

annars om (analogRead(A2) > 200) goto LA1;

annars om (analogRead(A3) > 200) goto RA1;

annars om (analogRead(A4) > 200) goto AL1;

annars om (analogRead(A5) > 200) goto KR1;

KR1: //Knight Rider

definiera waittime(s) för denna sekvens

waitTime = 75.

waittime2 = 25;

digitalWrite(LArrow,R_ON);

Delay(waitTime);

digitalWrite(LTwo,R_ON);

Delay(waittime2);

digitalWrite(LArrow,R_OFF);

Delay(waitTime);

digitalWrite(Center,R_ON);

Delay(waittime2);

digitalWrite(LTwo,R_OFF);

Delay(waitTime);

digitalWrite(RTwo,R_ON);

Delay(waittime2);

digitalWrite(Center,R_OFF);

Delay(waitTime);

digitalWrite(RArrow,R_ON);

Delay(waittime2);

digitalWrite(RTwo,R_OFF);

Delay(waitTime);

digitalWrite(RTwo,R_ON);

Delay(waittime2);

digitalWrite(RArrow,R_OFF);

Delay(waitTime);

digitalWrite(Center,R_ON);

Delay(waittime2);

digitalWrite(RTwo,R_OFF);

Delay(waitTime);

digitalWrite(LTwo,R_ON);

Delay(waittime2);

digitalWrite(Center,R_OFF);

Delay(waitTime);

digitalWrite(LArrow,R_ON);

Delay(waittime2);

digitalWrite(LTwo,R_OFF);

Delay(waitTime);

digitalWrite(LArrow,R_OFF);

gå till Switch; varje avsnitt returnerar alltid växla för att kontrollera om switch ställning har förändrats

LA1: //LEFT riktning sekvens

waitTime = (125); definiera waittime(s) för denna sekvens

waittime2 = (200);

waittime3 = (50);

digitalWrite (RTwo, R_ON); börjar genom att aktivera lampor i följd från vänster till höger

Delay(waitTime);

digitalWrite (Center, R_ON);

Delay(waitTime);

digitalWrite (LTwo, R_ON);

Delay(waitTime);

digitalWrite (LArrow, R_ON);

Delay(waitTime);

digitalWrite (LArrow, R_OFF); Vänsterpil blinkar ju lights på

Delay(waittime2);

digitalWrite (LArrow, R_ON);

Delay(waittime2);

digitalWrite (LArrow, R_OFF);

Delay(waittime2);

digitalWrite (LArrow, R_ON);

Delay(waittime2);

digitalWrite (LArrow, R_OFF);

roterande ljus, från höger till vänster - snabbt

digitalWrite (RTwo, R_OFF);

Delay(waittime3);

digitalWrite (Center, R_OFF);

Delay(waittime3);

digitalWrite (LTwo, R_OFF);

Delay(waittime3);

gå till Switch; Kontrollera växeln position

RA1: / / höger riktning sekvens

waitTime = (125); definiera waittime(s) för denna sekvens

waittime2 = (200);

waittime3 = (50);

börjar genom att aktivera lampor i följd från vänster till höger

digitalWrite (LTwo, R_ON);

Delay(waitTime);

digitalWrite (Center, R_ON);

Delay(waitTime);

digitalWrite (RTwo, R_ON);

Delay(waitTime);

digitalWrite (RArrow, R_ON);

Delay(waitTime);

HÖGERPIL blinkar ju lights på

digitalWrite (RArrow, R_OFF);

Delay(waittime2);

digitalWrite (RArrow, R_ON);

Delay(waittime2);

digitalWrite (RArrow, R_OFF);

Delay(waittime2);

digitalWrite (RArrow, R_ON);

Delay(waittime2);

digitalWrite (RArrow, R_OFF);

roterande ljus, från vänster till höger - snabbt

digitalWrite (LTwo, R_OFF);

Delay(waittime3);

digitalWrite (Center, R_OFF);

Delay(waittime3);

digitalWrite (RTwo, R_OFF);

Delay(waittime3);

gå till Switch; Kontrollera växeln position

AL1: / / blinkande sekvens med Center ljus på stadig och LTwo och RTwo blinkar på båda sidor av Center

waitTime = (125); definiera waittime(s) för denna sekvens

waittime2 = (50);

om (Center == låg) gå till cont; undviker spelar med center ljuset efter det är på

digitalWrite(Center,R_ON);

Forts:

digitalWrite (LTwo, R_ON);

Delay(waitTime);

digitalWrite (LTwo, R_OFF);

Delay(waittime2);

digitalWrite(LTwo,R_ON);

Delay(waitTime);

digitalWrite(LTwo,R_OFF);

Delay(waittime2);

digitalWrite (RTwo, R_ON);

Delay(waitTime);

digitalWrite (RTwo, R_OFF);

Delay(waittime2);

digitalWrite (RTwo, R_ON);

Delay(waitTime);

digitalWrite (RTwo, R_OFF);

Delay(waittime2);

gå till Switch; Kontrollera växeln position

CA1: / / belysning på steady (ingen blinkar), pil lamporna på varje slutet vistelse utanför

waitTime = (10); definiera waittime(s) för denna sekvens, bara en kort fördröjning för stabilitet

digitalWrite (Center, R_ON);

Delay(waitTime);

digitalWrite (LTwo, R_ON);

Delay(waitTime);

digitalWrite (RTwo, R_ON);

Delay(waitTime);

Delay(1000); väntar en sekund innan kontrollera switch position igen

gå till Switch; Kontrollera växeln position, men du visste att av vet

} / / Slutet

Se Steg
Relaterade Ämnen

Light Bar omgivande belysning

ett fält kan lysa upp ditt hus med hjälp av omgivande belysning. Du kan lätta upp korridorer, lägga till en blekning glödeffekt bakom ditt nöjescentrum, skapa nya mönster i ljusa graffiti eller helt enkelt lägga till en ljuskälla i ditt hus. Det finn...

LED Light Bar

detta instructable kommer att lära dig hur man gör en LED ljus bar att använda hemma för häftiga effekter! Låt oss komma igång!DISCLAIMER-DO GÖR INTE DETTA PROJEKT HAR FOTOSENSITIV EPILEPSI.Steg 1: delar Alla dessa delar kan lätt hittas på amazon ell...

Light Bar med axiella justerbarhet

Jag gjorde ett fält för min nya 160 kvm ft art studio. Det är en DJ takstol med fåfänga ljus remsor, nya projektet var att bygga en klämma för att ansluta bitar. Det är lätt att förstå:1. skär ett mått på 4 x 42. borra ett hål genom mitten av de 4 x...

Hur man installerar iJDMTOY Ford F150 LED Light Bar

Denna iJDMTOY Ford F-150 LED ljus bar-systemet är utformad med en specialdesignad montering fästet och fordon specifika medelstora LED ljus bar. Till skillnad från andra Ford F-150 LED ljus bar system som kräver ändringar, har iJDMTOY LED-ljus bar-sy...

Suzuki DRZ 400 motorcykel LED Light Bar Mount

Jag har nyligen köpt en 2009 Suzuki DRZ400S, gatan rättsliga smuts cykel motorcykel, men jag blev grundligt besviken med fabriken strålkastare. Både låga och höga balkar var mycket svagt. Jag har experimenterat med flera billiga LED ljus barer från A...

Gatan light timer controller

KRAVET1. RELAY2. ARDUINO PRO mini eller ARDUINO UNO3. LCD uppvisning 16 x 24. RTC DS1307 REALTIDSKLOCKA5.12V ADAPTER6. LM7805 5v regulator7. FTDI232 för arduino filenSteg 1: GÖRA 12v till 5v DC avgåSteg 2: GÖRA KRETS RELAY OCH DISPLAY KRETS FÖR ARDUI...

Trafiksignal / bromsljus ledningar med Arduino Controller

jag alltid velat ha en gammal trafiksignal och slutligen fick en nyligen. Det var dock mycket enkelt fast så att alla lampor var fast på. Vad kul är det? Jag ville prova en Arduino styrenhet och trodde detta skulle vara ett trevligt enkelt projekt at...

1000 + lumen MTB Light - borr / geringssåg

första inlägg! Förra året I anges för att skapa en MTB ljus (hjälm och Bar) för turridning utan att bryta banken och med rimlig verktyg och delar sourcing. Allt här var kommer från Fastenal, Newark elektronik, batteri utrymme och LED Supply.com till...

Smuts billiga Arduino LED-ljus bar!

Detta instructable har utformats för nybörjare i åtanke, men avancerade användare kan enkelt anpassas för att passa deras behov och önskemål. Det använder bara några gemensamma komponenter, så du inte bör ha mycket besvär att sätta detta tillsammans....

Teensy USB Wii Classic Controller

Jag är ett fan av Wii Classic Controller, men jag har aldrig brytt mig för att hålla trådlösa handkontroller som ansvarar för en tillfällig släng av nostalgi. Vore det inte bra om jag kunde använda min Wii Classic Controller via USB? Detta är hur jag...

Lägga till ljudeffekter till bilen R/C

R/C Animator kan du lägga till ljud och belysning till din R/C bil, flygplan, helikopter eller båt. Effekter utlöses med R/C controller och kan kombineras. Här är en demo;R/C Animator är baserad på Propellern plattform USB - verkställer kan inkludera...

Arduino och Dremel drivs centrifug

Behovet av en ekonomisk centrifug i dagliga testning och omedelbar brottsplatsundersökning är på uppgång. Överväldigande kostnaden för en laboratorium grade centrifug förbjuder användning till high-tech labs med tillräckliga medel för att köpa dessa...

FAUX LED FÖNSTER!

Min man och jag kommer snart avslutad vår källare. Det finns bara två små fönster där nere och det är mycket grottliknande. Jag har funderat på hur jag kunde lysa utrymmet och kom upp med idén om ett upplyst, faux fönster. Mitt första stopp var natur...

Byggnaden små robotar: Att göra en kubik tums mikro-Sumo robotar och mindre

här är några detaljer på att bygga små robotar och kretsar. Detta instructable kommer också täcka några grundläggande tips och tekniker som är användbara i att bygga robotar i alla storlekar.För mig är en av de stora utmaningarna i elektronik att se...

VW motor bord med ljus och Etsat glas

Hej, alla! Jag har här våra soffbord som vi sammanställt ur min gamla vw motor, en glasbit från min granne brutna underhållning står, och några andra små saker (förutom lamporna). Den här tabellen var mestadels lätt att bygga, än rada upp linjer för...

Maneter lampa

Hej, detta är Aaron Wasserman, kundtjänst Rep här på elementär LED.Denna maneter lampan, som nu stolt sitter på mitt skrivbord och håller mig sällskap, var mitt första försök att arbeta med lysdioder. Så om jag kan göra det, så kan du!Det är i grund...

Smart akvarium

Detta är en enkel arduino-baserad fisk feeder + light + luftpump controller projekt. Du kan göra samma sak och även lägga till fler funktioner som temperaturgivare, web UI, LCD, värmare relä. Det finns många exempel på hur man gör det med arduino / e...

Festfalia, A Ford Festiva Flip Top Hyper Miler husbil

Jag har velat göra en bil in i en husbil i flera år och till slut hittade jag den perfekta bilen för den, den ödmjuka Ford Festiva. Varför välja en sådan liten bil? Jag tror att begränsningar föder kreativitet och jag ville hög MPGs. Detta är inte me...

Växa Box - automatiserad, stapelbara

Uppdatering: Efter allt detta arbete jag har problem med programvaran efter 6 dagar för att driva den seriella ur fryser och sparkar på alla pumpar och översvämningar. Helst jag skulle ha denna kompletta innan tävlingen, men reproducera en bugg som t...