Trafiksignal / bromsljus ledningar med Arduino Controller (4 / 7 steg)
Steg 4: Program det!
Hämta och starta den Arduino programmering programvaran om du inte redan har. Anslut Arduino till datorn med en USB B kabel.
Kopiera och klistra in koden i nedan och ladda upp den till Arduino. En koden uppladdningar det ska börja kör omedelbart på Arduino. Du bör se indikatorlamporna går på och av på relay enheten och hör stafett växlarna snubbla.
Du kan göra det mer enkelt eller komplicerat om du vill. Jag har det inrättats för att bläddra igenom 25 normala cyklar, växla till blinkande rött i några minuter, göra 25 mer normal cyklar, växla till blinkande gult i några minuter och sedan upprepa.
Fzumrks trafik controller kod
Namnge din stift:
int rött = 12.
int gul = 11;
int grön = 10;
Rutinen installationsprogrammet körs en gång när du trycker på reset:
void setup() {
initiera digital PIN-koden som en utgång.
pinMode (röd, produktionen);
pinMode (gul, OUTPUT);
pinMode (grön, utgång);
}
int var = 0; definierar och anger startvärde för variabler som används nedan
int var1 = 0; definierar och anger startvärde för variabler som används nedan
loop rutinen körs för evigt om och om igen:
void loop() {
uppsättningar startvärde för stift så att lamporna börjar som "off"
digitalWrite (grön, hög);
digitalWrite (gul, hög);
digitalWrite (röd, hög);
medan (var < 25) {
upprepar normal cykel 25 gånger
digitalWrite (grön, låg); tänds den grön lampan
Delay(20000); innehar grönt ljus 20 sekunder
digitalWrite (grön, hög); släcks grönt ljus
Delay(600); liten paus mellan lampor
digitalWrite (gul, låg); tänds den gula lampan
Delay(4000); rymmer den gula lampan för 4 sekunder (se upp för att rött ljus kamera!)
digitalWrite (gul, hög); den gula lampan släcks
Delay(600); liten paus mellan lampor
digitalWrite (röd, låg); tänds den röda lampan
Delay(20000); rymmer den röda lampan på i 20 sekunder
digitalWrite (röd, hög); det röda ljuset släcks
Delay(600); liten paus mellan lampor
var ++;} lägger till 1 till variabeln "var" för repeat count
efter 25 cykler ovan, växlar ljuset till "power strömavbrott mode", blinkar rött
Delay(600); viss fördröjning
var1 = 0; återställer variabel "var1" till 0
medan (var1 < 120) {
upprepar power strömavbrott cykla 120 gånger - 2 minuter
digitalWrite (röd, låg);
Delay(600);
digitalWrite (röd, hög);
Delay(400);
var1 ++;}
var = 0;
växlar tillbaka till normala cykeln efter "strömavbrott" cykel görs
medan (var < 25) {
tillbaka till normal ljus cykel för 25 cyklar
digitalWrite (grön, låg); Aktivera LED (HIGH är spänningsnivån)
Delay(20000); vänta en sekund
digitalWrite (grön, hög); Inaktivera LED genom att spänningen låg
Delay(600); vänta en sekund
digitalWrite (gul, låg);
Delay(4000);
digitalWrite (gul, hög);
Delay(600);
digitalWrite (röd, låg);
Delay(20000);
digitalWrite (röd, hög);
Delay(600);
var ++;}
Delay(600);
växlar till "sen natt cykel" blinkande gult i 2 minuter, liknar blinkar rött ovan
var1 = 0;
medan (var1 < 120) {
digitalWrite (gul, låg);
Delay(600);
digitalWrite (gul, hög);
Delay(400);
var1 ++;}
var = 0;
går tillbaka till normala cykeln överst och upprepar för evigt
}