Урок 4. Arduino - цикл for. Изучаем Ардуино без Arduino.

Сегодня в уроке программирования Arduino познакомимся с циклом for. Для этого разберём пример подачи сигнала бедствия SOS (СОС) с помощью Arduino и светодиода.

SOS — радиосигнал о помощи от терпящих бедствие на море. Состоит из сочетания трех точек, трёх тире и ещё трех точек азбуки Морзе. Мнение, будто SOS — аббревиатура английского словосочетания «Save Our Souls» («Спасите наши души») или «Save Our Ship» («Спасите наш корабль») — красивая легенда. На самом деле расшифровки нет, просто соединение точек, тире, точек — наиболее простая и отчетливая комбинация.

Основные правила:

  • За единицу времени принимается длительность одной точки.
  • Длительность тире равна трём точкам.
  • Пауза между элементами одного знака — одна точка.
  • Пауза между знаками в слове — 3 точки.
  • Пауза между словами — 7 точек.

SOS — радиосигнал о помощи от терпящих бедствие на море.

Подать сигнал SOS можно с помощью дыма, огня, отражения. В данном уроке мы научимся подавать сигнал бедствия с помощью светодиода и Arduino.


Схема подключения Arduino.

Схема подключения Arduino.

Схема подключения проста. Достаточно подключить всего один светодиод к Arduino. Для данного урока можно воспользоваться встроенным светодиодом на плате Arduino UNO, который подключен к 13 пину, и на плате обозначается буквой L. Но для наглядного примера подключим внешний светодиод.

Цель урока: Arduino - цикл for.

Из названия урока понято, что будем изучать цикл forцикл for.

Конструкция for используется для повторения блока операторов, заключенных в фигурные скобки. Счетчик приращений обычно используется для прибавления и завершения цикла. Оператор for подходит для любых повторяющихся действий и часто используется в сочетании с массивами коллекций данных/выводов.

Arduino - цикл for.

Заголовок цикла for состоит из трех частей:

for (initialization; condition; increment) {операторы выполняющиеся в цикле}

Инициализация (Initialization) выполняется самой первой и один раз. Каждый раз в цикле проверяется условие (condition), если оно верно, выполняется блок операторов и приращение (increment), затем условие проверяется вновь. Когда логическое значение условия становится ложным, цикл завершается.

Использование цикла for для подачи сигнала бедствия SOS.

Чтобы подать сигнал SOS можно написать по порядку все необходимые команды. Например, чтобы подать 3 точки можно написать вот такие строки кода.

digitalWrite(led_pin, HIGH);
delay(350); //
digitalWrite(led_pin, LOW);
delay(300); // 
digitalWrite(led_pin, HIGH);
delay(350); //
digitalWrite(led_pin, LOW);
delay(300); // 
digitalWrite(led_pin, HIGH);
delay(350); //
digitalWrite(led_pin, LOW);
delay(300); //

По аналогии можно подать 3 тире. Как видим данную задачу можно решить и без использования цикла. Но код в таком случае будет очень большой. Чтобы сделать код более читабельным, и чтобы он стал меньше, будем использовать цикл. Цикл for выполняет повторяющиеся команды нужное количество раз.

В итоге у нас получается вот такой код.

int led_pin =2;
void setup()
{
  pinMode(led_pin, OUTPUT);
}
void loop()
{
  for (int i = 0; i<3; i++)
 {
  digitalWrite(led_pin, HIGH);
  delay(350); //
  digitalWrite(led_pin, LOW);
  delay(300); // 
 }    
  delay(300); 
  for (int i=0; i<3; i++)
  {
   digitalWrite(led_pin, HIGH);
   delay(1000); //
   digitalWrite(led_pin, LOW);
   delay(300); // 
  }
  delay(300);  
  for (int i=0; i<3; i++)
  {
   digitalWrite(led_pin, HIGH);
   delay(350); //
   digitalWrite(led_pin, LOW);
   delay(300); // 
  }  
  delay(5000);
}

Рассмотрим первый цикл из кода:

Рассмотрим первый цикл из кода:

for (int x=0; x<3; x++)
  • int x=0 — Присвоим переменной x значение равное 0.
  • x<3; - Если x меньше чем 3, выполняем цикл.
  • x++ - При каждом выполнении цикла прибавляем к x единицу. По другому данную строку можно записать x=x+1.

Изначально Икс ( x) равен 0. Сравниваем 0<3, прибавляем к x единицу и выполняем действия в {}. После выполнения действия в скобках. Выполняем проверку x у нас сейчас равен 1. 1<3, прибавляем к x единицу и выполняем действия в {}. Аналогично пройдет третий проход по циклу. А при попытке выполнить цикл четвертый раз у нас получится, что 3=3. Условия цикла не выполняется. Выполнение цикла прекращаться.

Остальные циклы в скетче выполняются аналогично.

Загружаем код в Arduino UNO. Arduino - цикл for.

Arduino UNO уроки для начинающих можно использовать не только в симуляторе, но и программировать реальную Arduino UNO. Для этого полученный код можно скопировать в Arduino IDE и загрузить в отладочную плату. Подробнее о загрузке кода смотрите в предыдущем уроке.

Мы рады объявить о нашем присутствии на Boosty! Arduino-Tex приглашает всех наших друзей и последователей поддержать нас на этой замечательной платформе. Здесь вы найдете эксклюзивный контент, уникальные проекты и возможность стать частью нашей творческой команды. Присоединяйтесь к нам на Boosty и вместе мы сделаем мир Arduino еще удивительнее!
Понравился Урок 4. Arduino - цикл for. Изучаем Ардуино без Arduino? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Файлы для скачивания

Скетч (код) к уроку 4. Arduino - цикл for Скетч (код) к уроку 4. Arduino - цикл for.ino1 Kb 670 Скачать

Комментарии

Ваше Имя*


Разработка проектов