Циклы 1 — Введение в циклы Arduino

Введение

Циклы — это важный инструмент в программировании, позволяющий многократно повторять набор инструкций без их ручного дублирования. В Arduino циклы применяются практически в каждом проекте — от простого мигания светодиодом до сложной логики управления устройствами.

Что такое цикл в программировании

Цикл — это конструкция, которая выполняет код определённое количество раз или до выполнения заданного условия. Пример из жизни: если нужно моргнуть лампой 10 раз, вместо того чтобы писать 10 команд, мы используем цикл, который сам считает количество повторений.

Бесконечный цикл loop() в Arduino

В Arduino есть особая функция loop(), в которой размещается основной код программы. Она выполняется бесконечно, начиная с момента запуска платы. Это и есть главный цикл программы.


void setup() {
  // Код, который выполняется один раз
}

void loop() {
  // Код, который выполняется снова и снова
}
  

Отличие от циклов for, while, do...while

  • for — выполняет код заданное количество раз, удобно для счётчиков.
  • while — выполняет код, пока условие истинно.
  • do...while — выполняет код хотя бы один раз, затем проверяет условие.

Внутри loop() можно использовать любые из этих циклов для управления выполнением программы.

Практика

Пример 1 — цикл for для мигания светодиодом


int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  for (int i = 0; i < 5; i++) { // Мигаем 5 раз
    digitalWrite(ledPin, HIGH);
    delay(500);
    digitalWrite(ledPin, LOW);
    delay(500);
  }
  delay(2000); // Пауза перед повторением
}
  

Пример 2 — бесконечный цикл while(true)


void loop() {
  while (true) { // Никогда не закончится
    // Действие, которое выполняется всегда
  }
}
  

Такой код может быть полезен в тестах, но в реальных проектах обычно используют стандартный loop().

Проект: «Моргающий маяк»

Светодиод мигает заданное количество раз, затем пауза — как маяк на берегу.


int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // Моргаем 3 раза
  for (int i = 0; i < 3; i++) {
    digitalWrite(ledPin, HIGH);
    delay(300);
    digitalWrite(ledPin, LOW);
    delay(300);
  }
  delay(2000); // Пауза перед следующим циклом мигания
}
  

Заключение

Циклы позволяют экономить время программиста и ресурсы микроконтроллера. Понимание того, как и когда использовать разные типы циклов, — основа для написания эффективных скетчей Arduino.

Циклы 2 — Цикл for

<< Проекты << Все товары >> Статьи, уроки >>

Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
ESP32: независимое управление двумя шаговыми двигателями NEMA17

ESP32: независимое управление двумя шаговыми двигателями NEMA17

ESP32: независимое управление двумя шаговыми двигателями NEMA17 Кратко: ниже — два готовых варианта:..

Силовой MOSFET транзистор IRF520 N-канальный

Силовой MOSFET транзистор IRF520 N-канальный

MOSFET транзистор 3-го поколенияИспользуется для скоростной коммутации мощных исполнительных механиз..

28.43грн.

Статический IP адрес ESP8266

Статический IP адрес ESP8266

Как задать статический IP адрес контроллеру ESP8266?Будем рассматривать этот вопрос на примере ..

Контроллер заряда аккумулятора 3,7В или 4,2В 1А

Контроллер заряда аккумулятора 3,7В или 4,2В 1А

Плата для зарядки литиумных аккумуляторов 3,6 - 4,2В и запитки его нагрузки.Зарядка производится чер..

26.20грн.

Корпус пластиковый 85x58x33мм с прозрачной крышкой

Корпус пластиковый 85x58x33мм с прозрачной крышкой

Герметичный корпус для самодельных электронных устройствМатериал - пластикРазмеры 85 x 58 x 33 ..

116.22грн.