Lightstik Light bar Controller (3 / 4 stap)

Stap 3: codering


Pop Quiz: In de video, welke sectie van code wordt uitgevoerd als de schakelaar is ingeschakeld. Aanwijzing, het begint met de schakelaar in positie en ik Verplaats de schakeloptie opeenvolgend van 1 naar 5 en vervolgens rechtstreeks terug naar 1 aan het eind. De delen van de code zijn echter niet opeenvolgende; IE: positie 1 voert de code onder de 1e gelabelde sectie in de schets schakelaar. Ik geef je deze een - positie 1 schakelaar = CA: in de schets, en CA: is de laatste sectie in de schets, niet de eerste als een mogelijk vermoeden.

De manier waarop ik dit werkend heb is het controleren van de analoge pinnen (2-6) voor de spanning van de roterende schakelaar. Ik heb niet de moeite met een fancy math of iets hier. Na controle van de pinnen zag ik dat ze altijd een aantal rond geregistreerd voedingsspanning 20-30 met uitzondering van de pin die de schakeloptie was momenteel aan. Die pincode zou rond iets als 500-600 (sorry, weet niet het exacte aantal). Dus ik heb net de code zoekt een pin thats > 200 en voer de bijbehorende sectie met code die ik wil voor die positie schakelaar.

Controle vak schets voor ARROWSTIK verkeersgeleiding lichte bar, geschreven door Bradley S. Worthington-White

DEFINIËREN VAN CONSTANTEN

Het Relais in gebruik zijn normaal gesloten, R_ON & R_OFF hieronder maken het schrijven van de schets een beetje makkelijker, omgekeerde R_ON en R_OFF voor normaal open relays

Const int R_ON = laag; Relay ON

Const int R_OFF = hoog; Relais uit

definiëren van pincodes voor de lichten in de lichte bar

Const int LArrow = 2; Pijl-links (een licht)

Const int LTwo = 3; Links van de twee buitenste lichten

Const int Center = 4; Twee lichten centreren

Const int RTwo = 5; Rechts van de twee buitenste lichten

Const int RArrow = 6; (Een licht) pijl-rechts

VARIABELEN DEFINIËREN

de waittime(s) hieronder worden gewijzigd binnen de afzonderlijke secties van de schets als passende

int waittime; waitTime

int waittime2; tweede waittime

int waittime3; en een derde waittime

VOID Setup

{

houden alle lichten uit bij het opstarten of reset

digitalWrite (RArrow, R_OFF);

digitalWrite (RTwo, R_OFF);

digitalWrite (Center, R_OFF);

digitalWrite (LTwo, R_OFF);

digitalWrite (LArrow, R_OFF);

digitale pin modi voor het schakelen van de Relais

pinMode (RArrow, uitvoer);

pinMode (RTwo, uitvoer);

pinMode (Center, uitvoer);

pinMode (LTwo, uitvoer);

pinMode (LArrow, uitvoer);

analoge pin modi voor ingang van de draaischakelaar 5 positie

pinMode (A1, INPUT);

pinMode (A2, INPUT);

pinMode (A3, INPUT);

pinMode (A4, INPUT);

pinMode (A5, INPUT);

}

void loop

{

zorgen dat de waarde van alle analoge pinnen is nul (0) bij het opstarten of op beginstand zetten

analogWrite(A1,0);

analogWrite(A2,0);

analogWrite(A3,0);

analogWrite(A4,0);

analogWrite(A5,0);

Schakelaar: / / de positie schakelaar leest en gaat naar de gelabelde sectie in de schets die van toepassing is

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

anders als (analogRead(A2) > 200) goto LA1;

anders als (analogRead(A3) > 200) goto RA1;

anders als (analogRead(A4) > 200) goto AL1;

anders als (analogRead(A5) > 200) goto KR1;

KR1: //Knight Rider

waittime(s) voor deze volgorde definiëren

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);

goto Switch; elke sectie retourneert altijd om over te schakelen om te controleren of de positie van de switch is gewijzigd

LA1: //LEFT richting volgorde

waitTime = (125); waittime(s) voor deze volgorde definiëren

waittime2 = (200);

waittime3 = (50);

digitalWrite (RTwo, R_ON); begint door te schakelen verlichting in volgorde van links naar rechts

delay(waitTime);

digitalWrite (Center, R_ON);

delay(waitTime);

digitalWrite (LTwo, R_ON);

delay(waitTime);

digitalWrite (LArrow, R_ON);

delay(waitTime);

digitalWrite (LArrow, R_OFF); Pijl-links-flitsers licht immers op

delay(waittime2);

digitalWrite (LArrow, R_ON);

delay(waittime2);

digitalWrite (LArrow, R_OFF);

delay(waittime2);

digitalWrite (LArrow, R_ON);

delay(waittime2);

digitalWrite (LArrow, R_OFF);

draaien lichten uit, van rechts naar links - snel

digitalWrite (RTwo, R_OFF);

delay(waittime3);

digitalWrite (Center, R_OFF);

delay(waittime3);

digitalWrite (LTwo, R_OFF);

delay(waittime3);

goto Switch; gecontroleerd of er switch positie

RA1: / / rechts richting volgorde

waitTime = (125); waittime(s) voor deze volgorde definiëren

waittime2 = (200);

waittime3 = (50);

begint door te schakelen verlichting in volgorde van links naar rechts

digitalWrite (LTwo, R_ON);

delay(waitTime);

digitalWrite (Center, R_ON);

delay(waitTime);

digitalWrite (RTwo, R_ON);

delay(waitTime);

digitalWrite (RArrow, R_ON);

delay(waitTime);

Pijl-rechts flitsen immers licht op

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);

draaien lichten uit, van links naar rechts - snel

digitalWrite (LTwo, R_OFF);

delay(waittime3);

digitalWrite (Center, R_OFF);

delay(waittime3);

digitalWrite (RTwo, R_OFF);

delay(waittime3);

goto Switch; gecontroleerd of er switch positie

AL1: / / knipperen opeenvolging met Center licht op stabiele en LTwo en RTwo knippert aan beide zijden van het Center

waitTime = (125); waittime(s) voor deze volgorde definiëren

waittime2 = (50);

Als (Center == LOW) goto cont; vermijdt spelen met het center licht na het brandt

digitalWrite(Center,R_ON);

CONT:

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);

goto Switch; gecontroleerd of er switch positie

CA1: / / licht op stationaire (niet knippert), de pijl licht op elk einde verblijf af

waitTime = (10); definiëren van de waittime(s) voor deze reeks, slechts een korte vertraging voor stabiliteit

digitalWrite (Center, R_ON);

delay(waitTime);

digitalWrite (LTwo, R_ON);

delay(waitTime);

digitalWrite (RTwo, R_ON);

delay(waitTime);

delay(1000); wacht een seconde voordat de switch positie opnieuw te controleren

goto Switch; controle van de switch positie, maar u wist dat door weet

} / / Het einde

Gerelateerde Artikelen

How to install een led light bar op de Tacoma

How to install een led light bar op de Tacoma

Als meer en meermensen de voorkeur aan het doen van enkele wijzigingen in hun voertuigen, de plaatsen die zij kiezen worden moeilijk te overwegen. Mensen willen een heleboel wijzigingen op de bumper, grille, het dak of het voertuig, maar toch, soms,
LED Light Bar

LED Light Bar

dit instructable leert u hoe maak je een LED light bar thuis gebruiken voor coole effecten!! Laten we beginnen!DISCLAIMER-DO MAKEN NIET DIT PROJECT HEBT U LICHTGEVOELIGE EPILEPSIE.Stap 1: onderdelen Al deze onderdelen kunnen gemakkelijk worden gevond
How To Install Off-Road LED Light Bar

How To Install Off-Road LED Light Bar

*** Let op: Neem contact op met uw lokale en nationale wetten vóór de installatie van dit product. iJDMTOY is niet verantwoordelijk voor eventuele juridische problemen als gevolg van dit product te installeren op uw voertuig ***Professionele installa
Ambient Lighting omgevingslicht Light Bar

Ambient Lighting omgevingslicht Light Bar

een lichte bar kunt fleuren uw huis met behulp van de ambient lighting omgevingslicht. U kunt verlichten up gangen, een fading gloed, effect toevoegen achter uw entertainment center, nieuwe patronen maken in lichte graffiti of gewoon het toevoegen va
Vuil goedkoop Arduino LED light bar!

Vuil goedkoop Arduino LED light bar!

Dit instructable is ontworpen voor beginners in het achterhoofd, maar ervaren gebruikers kunnen gemakkelijk aan te passen aanpassen aan hun behoeften en wensen. Het gebruikt alleen een paar algemene onderdelen, dus moet je niet hebben veel moeite om
Hoe installeer ik iJDMTOY Ford F150 LED Light Bar

Hoe installeer ik iJDMTOY Ford F150 LED Light Bar

Dit iJDMTOY Ford F-150 LED light bar systeem is vervaardigd met een speciaal ontworpen montage beugel en voertuig specifieke middelgrote LED light bar. In tegenstelling tot andere systemen van de Ford F-150 LED light bar waarvoor wijzigingen, heeft d
Suzuki DRZ 400 motorfiets LED Light Bar Mount

Suzuki DRZ 400 motorfiets LED Light Bar Mount

Ik kocht onlangs een 2009 Suzuki DRZ400S, een straat juridische vuilfiets motorfiets, maar ik was grondig teleurgesteld met de fabriek koplamp. Zowel de lage als de Verstralers waren zeer dim. Ik heb geëxperimenteerd met verschillende goedkope LED li
Power LED Light-Bar Ambient Lighting

Power LED Light-Bar Ambient Lighting

maken van de levendige en kleurrijke verlichting voor uw huis, man-cave of woonkamer.Deze handleiding is bedoeld als praktisch, gedetailleerd en zeer toegankelijk is voor het helpen van beginners en deskundigen gelijk maken en installeren van high-po
Christmas Lights fotocel Controller

Christmas Lights fotocel Controller

Ik weet niet over uw gebied, maar in mijn omgeving fotocel gecontroleerd Kerstmis licht controllers waren:1) crazy duur2) goedkope chinese crap gemaakt van plastic.Hier is hoe te bouwen van een weerbestendige controller in een solide metalen doos die
Light Bar met axiaal verstelbaar

Light Bar met axiaal verstelbaar

Ik maakte een lichte bar voor mijn nieuwe 160 sq ft. art studio. Het is een DJ truss met ijdelheid licht strips, het nieuwe project was voor de bouw van een klem voor de verbinding van de stukken. Het is gemakkelijk te begrijpen:1. Snij een maatregel
36W LED groeien Light Bar (oud)

36W LED groeien Light Bar (oud)

Ik ben het verlaten van dit instructable omhoog als informatieve niet gebruik dit wel.Ik heb een nieuwe versie die gebruikmaakt van 3w leds die beter is. LINK HIERHet doel van deze LED-lamp is als meer efficiënte en vergelijkbare kosten voor t8 / t5
Zonne-energie betalen LED Running Light met knipperend remlicht voor fietsen

Zonne-energie betalen LED Running Light met knipperend remlicht voor fietsen

dus na het onderzoeken van de wetten te maken mijn gemotoriseerde fiets juridische in Californië en verzending van voor de nummerplaat, ik besloten heb om te werken aan de remlicht terwijl ik voor de plaat wacht.Na een paar dagen van andere volkeren
Verkeer signaal / halte licht bedrading met Arduino Controller

Verkeer signaal / halte licht bedrading met Arduino Controller

ik wilde altijd al een oude verkeer signaal en eindelijk een onlangs.  Echter was het heel gewoon bedraad, zodat alle lichten werden vastgesteld op.  Wat leuk is dat?  Ik wilde proberen een Arduino controller en dacht dat dit zou een mooi eenvoudig p
1000 + lumen MTB Light - boor / verstek zagen

1000 + lumen MTB Light - boor / verstek zagen

eerste POST! Vorig jaar heb ik uiteengezet te maken van een MTB-licht (helm en Bar) voor trail riding zonder verbreking van de bank en met redelijke tooling en delen sourcing.  Alles hier was afkomstig van Fastenal, Newark elektronica, batterij ruimt