По наличию двух слешей вы можете догадаться, что это очередной комментарий. Компилятор проигнорирует его. В строках под комментарием наберите такие инструкции:
void loop() {
digitalWrite(13, HIGH);
delay(100);
digitalWrite(13, LOW);
delay(100);
}
Если вы ранее уже имели дело с платой Arduino, то тяжко вздохнете, подумав: «Опять эта проверка мигания светодиодов!» Да, это так, и именно поэтому я назвал данный раздел «Программа Blink». Это программа, которую почти все используют для предварительной проверки (хотя я изменил время задержки по причинам, которые станут ясными далее). Порадуйте меня, набрав эту программу в окне IDE. Очень скоро мы перейдем к более сложным проектам.
Возможно также, вы смутно догадываетесь, что означают некоторые команды.
Команда void
означает то же, что и раньше.
Команда loop()
– это инструкция, приказывающая плате Arduino повторять какое-либо действие снова и снова. Какое действие? Процедуру, указанную между фигурными скобками.
Команда digitalWrite
служит для отправки чего-либо с какого-то контакта. Какого? Я указал 13, потому что его режим был определен ранее.
Замечание
Вы не сможете использовать цифровой вывод, пока заранее не укажете, в каком режиме он должен функционировать.
Что должен сделать этот вывод? Перейти в высокое состояние (HIGH
).
В конце инструкции не забудьте точку с запятой.
Команда delay
заставляет плату Arduino немного подождать. Сколько? Число 100
означает 100 миллисекунд. В одной секунде 1000 миллисекунд, и поэтому плата Arduino подождет одну десятую секунды. В этот период времени вывод 13 будет оставаться в высоком состоянии.
Думаю, вы сможете догадаться, что означают следующие две строки.
Совсем скоро вы сможете запустить эту программу. Но сначала вернитесь к плате и вставьте выводы светодиода между разъемом 13 и разъемом, обозначенным GND, рядом с ним.
Замечание
Убедитесь в том, что короткий вывод светодиода находится в гнезде GND. Светодиоду не нужен токоограничительный резистор, поскольку тот встроен в разъем 13.
Маленький желтый светодиод на моей плате уже мигал по умолчанию, как только я подключил плату. Светодиод, который я вставил только что, также начинает мигать, поскольку желтый светодиод, который установлен на плате с помощью поверхностного монтажа, тоже подключен к выводу 13.
В первых версиях Arduino Uno встроенный светодиод не начинал мигать при подключении платы. В будущих версиях разработчики Arduino могут отключить это «мигание по умолчанию». В любом случае, это неважно, потому что ваша программа изменит частоту мигания.
Проверка и компилирование
Далее вы должны проверить, не допустили ли вы какую-либо опечатку. В меню Скетч (Sketch) выберите команду Проверить/Компилировать (Verify/Compile), как показано на рис. 5.85. Среда IDE проверит ваш код и выдаст сообщение, если обнаружит какую-то проблему.
Можно проверить, как компилятор реагирует на ошибки. В листинге программы измените pinMode
на piMode
, а затем выполните команду Проверить/Компилировать (Verify/Compile), чтобы увидеть, что произойдет.
Рис. 5.85. Прежде чем отправлять свою программу на плату Arduino, выполните команду Проверить/Компилировать
В нижней части окна IDE, в черной области, появится сообщение об ошибке. Вы можете растянуть эту область, перетаскивая мышью верхнюю границу так, чтобы можно было без прокрутки увидеть больше двух строк. Сообщение об ошибке, которое получил я, гласит «piMode was not declared in this scope» («переменная piMode не была описана в этой области действия»).
Видите ли, в языке С есть digitalWrite
и delay
– вы уже использовали.
Но переменная piMode не существует ни как зарезервированное слово, ни как определенная функция, и поэтому компилятор сообщает, что вы ее не объявили, чтобы указать, что она собой представляет.
Исправляйте текст вашей программы до тех пор, пока команда Проверить/Компилировать (Verify/Compile) не перестанет находить ошибки.
Загрузка и запуск
Теперь в меню Скетч (Scetch) выберите команду Загрузка (Upload). Лично я всегда представляю, что я переписываю программу с моего большого компьютера на маленький компьютер Arduino, но все называют этот процесс загрузкой, и поэтому будем считать, что так оно и есть.
Если загрузка прошла успешно, то чуть выше черной области сообщений об ошибках вы увидите сообщение Загрузка завершена (Done Uploading).