SOS — радиосигнал о помощи, терпящих бедствие на море. Состоит из сочетания трех точек, трёх тире и ещё трех точек азбуки Морзе. Мнение, будто SOS — аббревиатура английского словосочетания «Save Our Souls» («Спасите наши души») или «Save Our Ship» («Спасите наш корабль») — красивая легенда. На самом деле расшифровки нет, просто соединение точек, тире, точек — наиболее простая и отчетливая комбинация.
Подать сигнал SOS можно с помощью Дыма, огня, отражения. В данном уроке мы научимся подавать сигнал бедствия с помощью светодиода и Arduino.
Для урока нам понадобиться:
Схема подключения такая же как и в уроке: Мигаем светодиодом на Arduino.
В
скетче будут использоваться 3 цикла for
в
среде разработке
Arduino IDE.
(В Видео ролике немного наврал, циклы
for мы еще не рассматривали.)
<code>int led_pin=3; // пин подключения void setup() { pinMode(led_pin, OUTPUT); // Инициализируем цифровой вход/выход в режиме выхода. } void loop() { for (int x=0; x<3; x++) { digitalWrite(led_pin, HIGH);// зажигаем светодиод delay(250); // ждем 350 милисекунд digitalWrite(led_pin, LOW); // выключаем светодиод delay(100); // ждем 300 милисекунд } delay(300); for (int x=0; x<3; x++) { digitalWrite(led_pin, HIGH);// зажигаем светодиод delay(500); // ждем 700 милисекунд digitalWrite(led_pin, LOW); // выключаем светодиод delay(100); // ждем 300 милисекунд } delay(300); for (int x=0; x<3; x++) { digitalWrite(led_pin, HIGH);// зажигаем светодиод delay(250); // ждем 350 милисекунд digitalWrite(led_pin, LOW); // выключаем светодиод delay(100); // ждем 300 милисекунд } delay(5000); // ждем 5 секунд }
Конструкция for используется для повторения блока операторов, заключенных в фигурные скобки. Счетчик приращений обычно используется для приращения и завершения цикла. Оператор for подходит для любых повторяющихся действий и часто используется в сочетании с массивами коллекций данных/выводов.
Заголовок цикла for состоит из трех частей:
for
(
initialization;
condition;
increment)
{операторы
выполняющиеся в цикле}
Инициализация (Initialization) выполняется самой первой и один раз. Каждый раз в цикле проверяется условие (condition), если оно верно, выполняется блок операторов и приращение (increment), затем условие проверяется вновь. Когда логическое значение условия становится ложным, цикл завершается.
<code>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: Светодиоды, Резисторы, Arduino Дата публикации 21 февраля , 2017
Читайте также
почему при "delay(250)" мы "ждем 350 милисекунд", если кол-во времени, которое мы ждём. Указывается в скобках (в миллисекундах)?
при "delay(250)" мы ждём 250 миллисекунд.
комментарии к строкам не верны.
08 delay(250); // ждем 350 милисекунд
09 digitalWrite(led_pin, LOW); // выключаем светодиод
10 delay(100); // ждем 300 милисекунд
и т.д.
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.