Ваша первая программа. Управляем светодиодом

В этом уроке

  • Структура кода
  • Блоки setup(), loop(), комментарии, функции вывода
  • Ваша первая программа

Видео версия урока

Структура кода программы

Пришло время написать Вашу первую программу. Для того, чтобы дальше было ясно, что
и зачем Вы делаете, необходимо определить, какая часть кода за что отвечает.

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

void loop() {
  // Основной код, который будет выполняться бесконечно
}

void setup()
В блоке void setup() указываются команды для предварительной настройки микроконтроллера, которые он выполнит только один раз в момент подачи на него питания или сразу после перезагрузки.

void loop()
Команды, которые будут бесконечно выполняться, пока на плате есть питание, хранятся в блоке void loop(). Микроконтроллер будет выполнять код, дойдёт до последней строки и снова начнёт с первой («loop» с англ.яз — петля, цикл).

Управление светодиодом на плате контроллера

В первом задании Вы будете включать и выключать светодиод, расположенный на плате Arduino Nano, который подключен параллельно 13 выводу. 

Для этого введите нижеприведенный скетч в рабочее поле программы и нажмите кнопку «Загрузить». После этого скетч проверится на ошибки и загрузится в плату. Светодиод начнёт мигать.

/* Зажигаем светодиод на одну секунду, затем
выключаем его на одну  секунду */
void setup () {                
    pinMode (13, OUTPUT);      // Настраиваем 13 вывод на работу в режиме выхода
}

void loop () {
    digitalWrite (13, HIGH);   // Установим на выходе логическую 1
    delay (1000);              // Задержка 1000 миллисекунд (1 сек)
    digitalWrite (13, LOW);    // Установим на выходе логический 0
    delay (1000);              // Задержка 1000 миллисекунд (1 сек)
}

Мы настоятельно рекомендуем не копировать приведённый код, а вводить его вручную. Так Вы гораздо быстрее поймёте логику его работы и запомните используемые функции.

  1. Комментарии. В рабочем поле всегда можно оставлять комментарии с пояснениями к блокам кода. Эта часть кода при загрузке в плату не учитывается. Для того, чтобы сделать  комментарий, необходимо перед ним указать символы:
    //
    — для комментариев в 1 строку;
    /*... */
    — для комментариев в несколько строк.
  2. Блок setup()
    Функция pinMode() (4 строка) — определяет режим работы указанного вывода (работать на вход или на выход). Функция находится в этом блоке, потому что её достаточно выполнить один раз. Назначаем 13 вывод работать в режиме ВЫХОД (OUTPUT), потому что в данном случае контроллер будет управлять светодиодом. Если бы мы подключили датчик, контроллер бы принимал от него сигнал, и вывод мы бы установили как ВХОД (INPUT). 
  3. ; — каждую функцию необходимо завершать символом «точка с запятой».
  4. Блок loop()
    Функция digitalWrite() (8 строка) — определяет, какой сигнал подается на указанный вывод. Установим значение сигнала как «1» (HIGH). Светодиод загорится.
    Функция delay() (9 строка) — останавливает выполнение программы на заданное количество миллисекунд (в 1 секунде — 1000 миллисекунд). Светодиод включен, и в течение секунды никаких действий больше не происходит.
    Функция digitalWrite() (10 строка) — та же функция, которую мы использовали ранее, но теперь установим значение сигнала на 13 выводе как «0» (LOW). Светодиод погаснет.
    Функция delay() (11 строка) — так же, как и в коде выше, останавливает дальнейшее выполнение программы на 1 секунду. Светодиод в это время выключен.

Функцию delay() нежелательно использовать в коде, так как она останавливает выполнение программы, и контроллер больше ничего не способен делать. Таким образом, ресурсы контроллера используются нерационально. В дальнейшем мы научимся обходиться без этой функции и реализуем отсчёт времени по-другому. А пока поздравляем — Вы только что написали свою первую программу!

Если у вас возникли проблемы с загрузкой кода, используйте нашу статью. Там более подробно рассмотрен процесс настройки, а также описываются способы устранения возможных проблем.

Дополнительное задание

1) Измените частоту мигания светодиода. Сделайте её больше или меньше.
2) Измените программу так, чтобы светодиод сначала моргнул три раза медленно,
а затем — три раза быстро.

Поздравляю с изучением данного урока!
Следующий урок:
№3. Работа с зуммером.
приступить к изучению

Продукт в магазине

«ROBORACE» — Образовательный набор на базе Arduino

В магазин

Обсуждение

Гарантии и возврат. Используя сайт, Вы соглашаетесь с условиями.