(она же вторая но, другими словами)

int i = 0; // объявлена переменная типа int

//переменой i присвоено начальное значение 0

void setup() //основной цикл программы

{

 pinMode(13, OUTPUT);

 }

 void loop()

 {

while(!i==300)

/*

этой фразой был создан цикл и создано правило проверки выхода из цикла гласящее, что цикл закончен, как только i станет равной 300

*/

{

digitalWrite(13, HIGH); // включаем светодиод, подавая на 13 вывод логическую 1

//то есть подаем +5вольт

delay(1000); // ждем 1000 миллисекунд или 1 секунду

digitalWrite(13, LOW); // выключаем светодиод, подавая на 13 вывод логический 0

//то есть подаем на вывод землю

delay(1000); // ждем 1000 миллисекунд или 1 секунду

i++; //создан счетчик i++, при каждом обращении к которому

//i увеличивает свое состояние на 1.

}

delay(30000); //ждем 1 минуту так заметнее

}

Из скетча видно что светодиод у нас мигает каждую секунду в течении 10 минут,

после чего минуту отдыхает и опять мигает 10 минут. Но в отличии от мигалки 2

эта использует цикл типа while, который просто работает до тех пор, пока состояние

 его условия остается верным. Этот тип цикл очень удобен для математических вычислений высокой точности. Он будет вычислять значение, пока точность не будет соответствовать условию. По этому в условию я и написал (!i==300), что значит, что пока i не равно 300 условия верно, так как ! означает логическую инверсию, то есть !0=1 и наоборот.