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

Циклы 8 — Оптимизация циклов

Циклы 8 — Оптимизация циклов Введение Оптимизация циклов в Arduino особенно важна, когда..

Набор перемычек (папа-папа) 40шт 10см

Набор перемычек (папа-папа) 40шт 10см

Набор соединительных проводов для соединения плат контроллера с периферией без пайки. Подходят под с..

76.14грн.

Шестерня для зубчатого ремня на 30 зубьев под ось 8 мм

Шестерня для зубчатого ремня на 30 зубьев под ось 8 мм

Используется для передачи и редукции крутящего момента от двигателя до оси 8 ммКоличество зубьев 30 ..

80.11грн.

Какие виды дисплеев можно использовать с Arduino для отображения информации

Какие виды дисплеев можно использовать с Arduino для отображения информации

Какие виды дисплеев можно использовать с Arduino для отображения информации Arduino — это п..

Защита входов и аналоговых сигналов: как не спалить Arduino/ESP32 и получить стабильные измерения

Защита входов и аналоговых сигналов: как не спалить Arduino/ESP32 и получить стабильные измерения

Защита входов и аналоговых сигналов: как не спалить Arduino/ESP32 и получить стабильные измерения ..