1 - многострочный комментарий. Комментарии важны для пояснения кода программы. Все, что написано между этими символами, не будет обрабатываться компилятором. Многострочные комментарии начинаются с /* и заканчиваются */. Многострочные комментарии удобны, когда текст пояснения большой, например описание программы.
2 - однострочный комментарий. Если поместить // на любую строку, компилятор проигнорирует весь текст строки после этого символа. Однострочный комментарий обычно поясняет определенную строку кода.
- 40 -
3 - код объявления переменной. Переменная - это ячейка памяти, содержащая информацию. Существуют переменные различных типов. В нашем примере указана переменная типа int, что означает целое число. Целочисленной переменной led присвоено значение 13 - номер цифрового контакта, к которому подключен светодиод на плате Arduino. Всюду в остальной части программы можно использовать переменную led, когда мы хотим управлять контактом 13. Переменные в данном случае удобны, потому что при необходимости поменять контакт ввода-вывода достаточно изменить только одну строку, а остальная часть кода не изменится.
4 - функция setup(), одна из двух функций, которые должны быть включены в каждую программу Arduino. Функция - это фрагмент кода, выполняющий определенную задачу. Код в теле функции setup() выполняется один раз в начале программы. Это полезно для установки начальных параметров настройки, назначения режимов портов ввода-вывода, инициализации коммуникационных интерфейсов и т. д.
5 - цифровые контакты Arduino могут быть запрограммированы на ввод или вывод. Сконфигурировать их направление позволяет команда pinMode(), имеющая два параметра, указанных в круглых скобках. Первый параметр pinMode определяет номер контакта. Поскольку переменная led уже назначена ранее в программе, конфигурация задается для контакта 13. Второй параметр устанавливает направление контакта: INPUT (вход) или OUTPUT (выход). По умолчанию все контакты настроены на ввод. Чтобы сконфигурировать их на вывод, следует явно указать значение этого параметра OUTPUT. Поскольку нам нужно управлять светодиодом, контакт 13 должен быть выходом. Настройка конфигурации контакта сохраняется до тех пор, пока вы не измените его назначение на ввод.
6 - вторая обязательная функция во всех программах Arduino - loop(). Это оператор цикла.
7 - функция digitalWrite() устанавливает состояние выходного контакта: 5 или 0 В. Если светодиод подсоединен к контакту через резистор, то установка значения логической "1" позволит зажечь светодиод (вы узнаете больше об этом в следующей главе). Первый параметр функции digitalWrite() - номер контакта, которым требуется управлять. Второй параметр - значение, которое нужно задать: HIGH (5 В) или LOW (0 В). Контакт остается в этом состоянии, пока не будет изменен следующей командой digitalWrite().
8 - функция delay() имеет один аргумент - время задержки выполнения программы в миллисекундах. При вызове delay() Arduino останавливает выполнение программы на определенный интервал времени. В нашем примере задержка равна 1000 мс ( 1 с). Это приводит к свечению светодиода в течение одной секунды до выполнения следующей команды.
9- здесь вызвана функция digitalWrite(), чтобы выключить светодиод, устанавливая состояние контакта в LOW.
10 - снова делаем задержку на одну секунду, чтобы светодиод был погашен перед повторением цикла.
- 41 -
Вот и все. Не расстраивайтесь, если вы еще не полностью понимаете код программы. В следующих главах мы рассмотрим больше примеров, процесс выполнения программы станет понятнее, и вы сможете написать собственный код.
Резюме
В этой главе вы узнали о следующем:
• Из каких компонентов состоит плата Arduino.
• Как загрузчик Arduino позволяет запрограммировать плату Arduino через интерфейс USB.
• Каковы различия между основными платами Arduino.
• Как установить Arduino IDE и соединить плату Arduino с компьютером.
• Как загрузить и выполнить первую программу.
ГЛАВА 2 Цифровые контакты ввода-вывода шиотно-импульсная модуляция
Список деталей
Для повторения примеров главы понадобятся следующие детали:
• плата Arduino Uno;
• макетная плата;
• перемычки;
• 1 резистор номиналом 10 кОм;
• 3 резистора номиналом 220 Ом;
• кабель USB;
• кнопка;
• одноцветный светодиод 5 мм;
• RGB-светодиод 5 мм с общим катодом.
Электронные ресурсы к главе
На странице http://www.exploringarduino.com/content/ch2 можно загрузить код программ, видеоуроки и другие материалы для данной главы. Кроме того, листинги примеров можно скачать со страницы www.wiley.com/go/exploringarduino в разделе Downloads.
Читать дальше