Помогите бездарности мигнуть светодиодом.

varvik85
Offline
Зарегистрирован: 28.01.2013

Здравствуйте уважаемые ардуино силачи.Прошу помощи.Задача следующая - есть код моргания светодиодом,отлично работает,очень доволен,долго любовался миганием,сутки три четыре,после появилась потребность в еще одном светодиоде,но не просто моргающем он должен загорется когда первый маргнет допустим 1000 раз и после выключится когда пройдет еще 1000 морганий.Алгоритм примерно следующий 1 светодиод начинает моргать 1000раз на 1001 включается второй светодиод и горит пока не пройдет еще 1000 морганий на 1001 выключается и так по кругу 

/*
  Зажигаем светодиод на одну секунду, затем выключаем его на  
  одну  секунду в цикле.
 */
 
void setup() {               
  // Инициализируем цифровой вход/выход в режиме выхода.
  // Выход 13 на большинстве плат Arduino подключен к светодиоду на плате.
  pinMode(13, OUTPUT);   
}
 
void loop() {
  digitalWrite(13, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(13, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду

}

 

 

 

vvadim
Offline
Зарегистрирован: 23.05.2012

У вас цикл мигания 2 сек. Значит включаем таймер и через 2000 сек зажигаем второй светодиод, ещё через 2000 сек второй выключаем, таймер обнуляем и запускаем вновь.

kentik
Offline
Зарегистрирован: 28.03.2013
// светодиод на 12 ногу через резистор
long i;
 
void setup() {               
  pinMode(13, OUTPUT);   
  i=0;
}
 
void loop() {
  digitalWrite(13, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(13, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду
i++;
  if (i=2000) {
     digitalWrite(13, !digitalRead(12)); 
      i=0;
    }
   
}

 

oiyo
Offline
Зарегистрирован: 27.01.2014

Используйте while или for .