Stap 4: Het programma!
Download en start de Arduino programmeer software als u nog niet hebt. Sluit de Arduino op uw computer met een USB B kabel.
Kopieer en plak de code het hieronder en deze uploaden naar de Arduino. Een de code uploadt het beginnen onmiddellijk uitvoeren op de Arduino. Je moet zien de indicatielampjes op en af gaande met de estafette-eenheid en hoort de schakelaars van de Relais struikelen.
Kun je dit meer eenvoudig of ingewikkeld als u wilt. Ik heb deze ingesteld tot 25 normale cycli doorlopen, overschakelen naar de knipperende rode voor een paar minuten doen 25 normaler cycli, overschakelen naar knipperend geel voor een paar minuten en vervolgens herhalen.
Fzumrk van verkeer controller code
naam van uw pins:
int rood = 12;
int geel = 11;
int groen = 10;
de setup-routine wordt uitgevoerd zodra wanneer u drukt op reset:
VOID Setup {}
Initialiseer de digitale pin als uitgang.
pinMode (rood, OUTPUT);
pinMode (geel, uitvoer);
pinMode (groen, uitvoer);
}
int var = 0; definieert en initiële waarde voor variabelen hieronder wordt ingesteld
int var1 = 0; definieert en initiële waarde voor variabelen hieronder wordt ingesteld
de routine van de lus wordt uitgevoerd over en weer forever:
void loop {}
sets initiële waarde voor pinnen zodat verlichting beginnen als "uit"
digitalWrite (groen, hoog);
digitalWrite (geel, hoge);
digitalWrite (rood, hoge);
terwijl (var < 25) {}
normale cyclus herhaalt 25 keer
digitalWrite (groen, lage); Hiermee schakelt u het groene licht
delay(20000); het groene lampje houdt op 20 seconden
digitalWrite (groen, hoog); het groene licht wordt uitgeschakeld
delay(600); lichte pauze tussen lichten
digitalWrite (geel, laag); het gele lampje ingeschakeld
delay(4000); het gele lampje in petto heeft voor 4 seconden (kijk uit voor die rood-licht camera!)
digitalWrite (geel, hoge); het gele lampje uitgeschakeld
delay(600); lichte pauze tussen lichten
digitalWrite (rood, laag); Hiermee schakelt u het rode lampje
delay(20000); het rode lampje houdt op 20 seconden
digitalWrite (rood, hoge); het rode lampje uitgeschakeld
delay(600); lichte pauze tussen lichten
var ++;} voegt 1 aan variabele "var" voor herhaling telling
na 25 cycli boven, het licht schakelt over naar de "power outage mode", knippert rood
delay(600); lichte vertraging
var1 = 0; Hiermee stelt u de variabele "var1" op 0
terwijl (var1 < 120) {}
herhalingen macht stroomonderbreking cyclus 120 keer - 2 minuten
digitalWrite (rood, laag);
delay(600);
digitalWrite (rood, hoge);
delay(400);
var1 ++;}
var = 0;
Hiermee schakelt u terug naar de normale cyclus na "stroomuitval" cyclus gebeurt
terwijl (var < 25) {}
terug naar normale lichte cyclus voor 25 cycli
digitalWrite (groen, lage); de LED inschakelen (HIGH is het spanningsniveau)
delay(20000); wachten op een tweede
digitalWrite (groen, hoog); de LED uitschakelen door de spanning laag
delay(600); wachten op een tweede
digitalWrite (geel, laag);
delay(4000);
digitalWrite (geel, hoge);
delay(600);
digitalWrite (rood, laag);
delay(20000);
digitalWrite (rood, hoge);
delay(600);
var ++;}
delay(600);
schakelt over naar de "late night cyclus" geel knipperen gedurende 2 minuten, vergelijkbaar met het knipperende rode hierboven
var1 = 0;
terwijl (var1 < 120) {}
digitalWrite (geel, laag);
delay(600);
digitalWrite (geel, hoge);
delay(400);
var1 ++;}
var = 0;
gaat terug naar de normale cyclus bovenaan en herhaalt forever
}