Как сделать таимер

rezo5088
Offline
Зарегистрирован: 18.05.2017

Всем привет
мои первый проект и мне нужна помощь  
 

int R_LedPin = 13; 

int G_LedPin = 12; 

int B_LedPin = 11; 

int ButPin = 14; // 

int flag = 0; 

int regim = 0; 

void setup()

{

pinMode(R_LedPin, OUTPUT); 

pinMode(G_LedPin, OUTPUT); 

pinMode(B_LedPin, OUTPUT); 

}

void loop()

{

if(digitalRead(ButPin) == HIGH && flag == 0) 



regim ++;

flag = 1;



if(regim > 7)

{

regim = 0;

}

}



if(digitalRead(ButPin) == LOW && flag == 1)

{

flag = 0;

}



if(regim == 0)

{

digitalWrite(R_LedPin, LOW);

digitalWrite(G_LedPin, LOW);

digitalWrite(B_LedPin, LOW); 

}



if(regim == 1)

{

digitalWrite(R_LedPin, HIGH);

digitalWrite(G_LedPin, LOW);

digitalWrite(B_LedPin, LOW); 

}



if(regim == 2)

{

digitalWrite(R_LedPin, LOW);

digitalWrite(G_LedPin, HIGH);

digitalWrite(B_LedPin, LOW); 

}



if(regim == 3)

{

digitalWrite(R_LedPin, LOW);

digitalWrite(G_LedPin, LOW);

digitalWrite(B_LedPin, LOW); 

}



if(regim == 4)

{

digitalWrite(R_LedPin, HIGH);

digitalWrite(G_LedPin, HIGH);

digitalWrite(B_LedPin, LOW); 

}



if(regim == 5)

{

digitalWrite(R_LedPin, LOW);

digitalWrite(G_LedPin, HIGH);

digitalWrite(B_LedPin, LOW); 

}



if(regim == 6)

{

digitalWrite(R_LedPin, HIGH);

digitalWrite(G_LedPin, LOW);

digitalWrite(B_LedPin, LOW); 

}



if(regim == 7)

{

digitalWrite(R_LedPin, 
LOW);

digitalWrite(G_LedPin, LOW);

digitalWrite(B_LedPin, HIGH); 

}


}

 

и так как мне сделат что в последнм режиме   B_LedPin загарелся на 2 сикуди
.........................
digitalWrite(B_LedPin, HIGH); 
delay(2000);

digitalWrite(B_LedPin, LOW); 

delay(2000);

  но так получаетца миргалка а мне нувно что после выклученя не повтарился цикл
 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015