Циклы 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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
ATtiny обзор контроллеров

ATtiny обзор контроллеров

Обозначение Память программ (FLASH) [Kбайт] Память данных [байт] Kол-во линий ввода/..

Мотор безщеточный A2212 1000KV

Мотор безщеточный A2212 1000KV

Мотор трехфазный безколлекторный для мультикоптеров 1000KVKV: 1000 оборотов на вольтМаксимальна..

360.40грн.

Драйвер шагового двигателя DRV8825 для шилда RAMPS

Драйвер шагового двигателя DRV8825 для шилда RAMPS

Драйвер шагового двигателя для системы RAMPS. Устанавливается на специальный CNC-шилд Arduino д..

104.31грн.

Arduino основы программирования

Arduino основы программирования

Arduino основы программирования Здесь мы научимся писать элементарную программу способную сделать..

Циклы 3 — Цикл while

Циклы 3 — Цикл while

Циклы 3 — Цикл while Введение Цикл while — это конструкция, которая выполняет код до тех..