#define RED 11 // Присваиваем имя RED для пина 11 #define GREEN 12 // Присваиваем имя GREEN для пина 12 #define BLUE 13 // Присваиваем имя BLUE для пина 13 int but; void setup() { pinMode(RED, OUTPUT); // Используем Pin11 для вывода pinMode(GREEN, OUTPUT); // Используем Pin12 для вывода pinMode(BLUE, OUTPUT); // Используем Pin13 для вывода pinMode(2, INPUT); // объявляем пин 2 как вход pinMode(4, INPUT); // объявляем пин 2 как вход digitalWrite(RED, LOW); // Включаем красный свет digitalWrite(GREEN, LOW); digitalWrite(BLUE, LOW); } void(* resetFunc) (void) = 0; // Reset MC function void loop() { if (digitalRead(2) == HIGH) // когда на пин 2 поступает высокий сигнал { but=1; } if (digitalRead(4) == HIGH) { resetFunc(); //вызов } if (but == 1) { digitalWrite(RED, HIGH); // Включаем красный свет digitalWrite(GREEN, LOW); digitalWrite(BLUE, LOW); delay(1000); // Устанавливаем паузу для эффекта if (digitalRead(4) == HIGH) // когда на пин 2 поступает высокий сигнал { resetFunc(); //вызов } digitalWrite(RED, LOW); digitalWrite(GREEN, HIGH); // Включаем зеленый свет digitalWrite(BLUE, LOW); delay(1000); // Устанавливаем паузу для эффекта if (digitalRead(4) == HIGH) // когда на пин 2 поступает высокий сигнал { resetFunc(); //вызов } digitalWrite(RED, LOW); digitalWrite(GREEN, LOW); digitalWrite(BLUE, HIGH); // Включаем синий свет delay(1000); // Устанавливаем паузу для эффекта if (digitalRead(4) == HIGH) // когда на пин 2 поступает высокий сигнал { resetFunc(); //вызов } digitalWrite(RED, HIGH); // Включаем красный свет digitalWrite(GREEN, HIGH); digitalWrite(BLUE, LOW); delay(1000); // Устанавливаем паузу для эффекта if (digitalRead(4) == HIGH) // когда на пин 2 поступает высокий сигнал { resetFunc(); //вызов } digitalWrite(RED, LOW); digitalWrite(GREEN, HIGH); // Включаем зеленый свет digitalWrite(BLUE, HIGH); delay(1000); // Устанавливаем паузу для эффекта if (digitalRead(4) == HIGH) // когда на пин 2 поступает высокий сигнал { resetFunc(); //вызов } digitalWrite(RED, HIGH); digitalWrite(GREEN, LOW); digitalWrite(BLUE, HIGH); // Включаем синий свет delay(1000); // Устанавливаем паузу для эффекта if (digitalRead(4) == HIGH) // когда на пин 2 поступает высокий сигнал { resetFunc(); //вызов } digitalWrite(RED, HIGH); digitalWrite(GREEN, HIGH); digitalWrite(BLUE, HIGH); // Включаем синий свет delay(1000); // Устанавливаем паузу для эффекта if (digitalRead(4) == HIGH) // когда на пин 2 поступает высокий сигнал { resetFunc(); //вызов } } }