const int redPin = 2; // пин красного диода
const int yellowPin = 3; // пин желтого диода
const int greenPin = 4; // пин зеленого диода
// Variables will change:
int redState = 0; // переменные состония диодов - "изначально выключены"
int yellowState = 0; //
int greenState = 0; //
long StartTime = 0; // сохранит время последнего запуска последовательности движения
// следующие переменные являются длинными, потому что время, измеряемое в миллисекундах,
// быстро станет большим числом, чем может быть сохранено в int.
long interval = 30000; // интервал последовательности - это время в миллисекундах с момента начала зеленого сигнала.
void setup() {
// инициализация пинов
pinMode(redPin, OUTPUT);
pinMode(yellowPin, OUTPUT);
pinMode(greenPin, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
unsigned long CheckTime = millis(); //
unsigned long elapsedTime = CheckTime - StartTime; //
if (elapsedTime > interval) { //
StartTime = CheckTime; //
}
if (elapsedTime < 10000) {
redState = LOW;
yellowState = LOW;
greenState = HIGH;
}
if (elapsedTime > 10000 && elapsedTime < 15000) {
redState = LOW;
yellowState = HIGH;
greenState = LOW;
}
if (elapsedTime > 15000) {
redState = HIGH;
yellowState = LOW;
greenState = LOW;
}
digitalWrite(redPin,redState);
digitalWrite(greenPin,greenState);
digitalWrite(yellowPin,yellowState);
}