1.8. Запускаем первую программму
Теперь, когда вы познакомились с аппаратными средствами Arduino, можно установить программное обеспечение и запустить первую программу. Приступим к загрузке программного обеспечения на компьютер.
1.8.1. Загрузка и установка Arduino IDE
Зайдите на официальный сайт Arduino http://www.arduino.cc и загрузите последнюю версию Arduino IDE со страницы Download (рис. 1.11 ).
Download the Arduino Software
Рис. 1.11. Страница загрузки сайта Arduino.cc
После завершения загрузки разархивируйте загруженный файл. В папке вы найдете Arduino IDE. Новые версии IDE д л я Windows доступны в форме установщика, который инсталлирует программную среду Arduino автоматически.
- 37 -
1.8.2. Запуск IDE и подключение к Arduino
Подключите Arduino к компьютеру с помощью кабеля USB, как изображено на рис. 1.12. Компьютеры с операционной системой Mac и Linux установят драйверы автоматически.
Рис. 1.12. Соединение Arduino Uno с компьютером с помощью USB-кабеля
Если на вашем компьютере установлена операционная система OS Х, то при первом подключении появится сообщение о том, что было добавлено новое сетевое устройство. Нажмите кнопку Network Preferences (Системные настройки-> Сеть). В появившемся окне нажмите кнопку Apply (Подключить). Даже если будет выдано предупреждение Not Configured, устройство можно использовать. После этого выйдите из меню System Preferences (Системные настройки).
При подключении Arduino к компьютеру с операционной системой Windows, возможно, придется установить драйверы. При инсталляции Arduino IDE с помощью установщика для Windows драйверы загружаются автоматически. Если вы устанавливали IDE из zip-файла, то для инсталляции драйверов необходимо выполнить следующие шаги:
• дождитесь сообщения о неудачной попытке автоматической установки драйвера;
• нажмите кнопку Пуск и откройте Панель управления;
- 38 -
• перейдите на вкладку Система и безопасность (System and Security). Затем выберите раздел Система. Когда откроется окно Система, выберите опцию Диспетчер устройств (Device Manager);
• обратите внимание на порты (СОМ и LPT). Вы увидите открытый порт, в названии которого присутствует Arduino;
• щелкните правой кнопкой мыши и выберите опцию Обновить драйвер (Update Driver Software );
• щелкните мышью пункт Browse my computer for Driver software;
• для завершения установки найдите и выберите файл драйвера, расположенный в папке Drivers программного обеспечения для Arduino (но не в подкаталоге FTDI USB Drivers );
• в результате драйвер для Windows будет установлен.
Теперь запустите Arduino IDE. Все готово для загрузки первой программы на плату Arduino. Чтобы убедиться в этом, запустим программу Blink, которая будет мигать встроенным светодиодом. На большинстве плат Arduino есть светодиод, подключенный к цифровому контакту 13. Выполняем последовательность команд File -> Examples -> Basic и выбираем программу Blink. Откроется новое окно с кодом этой программы. Загрузим ее в плату Arduino в качестве примера, а затем проанализируем, чтобы понять, как писать собственные программы.
Прежде чем загружать программу в плату Arduino, необходимо указать тип платы и номер последовательного порта. Находим в меню опцию Tools -> Board (Сервис-> Плата) и выбираем из списка плату Arduino. В книге мы используем Arduino Uno, если у вас другая плата, выберите ее наименование.
Затем необходимо указать порт, к которому подсоединена плата. Переходим к опции Tools -> Serial Port (Сервис -> Последовательный порт) и выбираем последовательный порт. На компьютерах с Windows это будет СОМ*, где * - некоторое число, соответствующее номеру последовательного порта. На компьютерах с Linux и Мас порт обозначен как dev/tty.usbmodem* или /dev/tty.usbserial*, где* - строка алфавитно-цифровых символов.
Совет Если в списке присутствует несколько последовательных портов, и вы не можете определить, к какому из них подключена плата Arduino, отключите плату, чтобы увидеть, какой порт исчезнет из меню, это и есть порт подсоединения платы Arduino.
Теперь можно загрузить первую программу. Нажимаем кнопку Upload (Загрузить), расположенную в левом верхнем углу Arduino IDE. В строке состояния, находящейся внизу, отображается процесс компиляции и загрузки программы. После загрузки программы светодиод, подключенный к выводу 13 Arduino, должен мигать оранжевым цветом с частотой один раз в секунду. Поздравляем! Ваша первая программа работает успешно.
- 39 -
1.8.3. Анализируем программу Blink
Подробно рассмотрим текст программы Blink (рис. 1.13), чтобы понять базовую структуру программ, написанных для Arduino.
Рис. 1.13. Структура программы Blink
Цифрами на рис. 1.13 обозначено следующее:
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 с компьютером.
• Как загрузить и выполнить первую программу.