Глава 3. Платформа Arduino
Arduino состоит из двух основных частей - платы Arduino, которая является частью аппаратного обеспечения, над которым вы работаете при создании собственных обьектов; и среды разработки (IDE) Arduino - программного обеспечения, которое вы запускаете на своём компьютере. Вы используете IDE для создания скетчей (маленьких компьютерных программ), которые выгружаются на плату Arduino. Скетч говорит плате что делать.
Не так давно работа на аппаратным обеспечением означала создание схем с нуля, используя сотни различных компонентов со странными названиями, такими как резисторы, конденсаторы, индуктивности, транзисторы и тому подобными.
Каждая схема была спаяна для выполнения одного специфического приложения и изменения требовали отрезания проводов, перепайки соединений и т.п.
С появленияем цифровых технологий и микропроцессоров эти функции, ранее реализованные проводами, заменены программами.
Программное обеспечение легче менять, чем аппаратное. Несколькими нажатиями вы можете радикально изменить логику устройства и испытать две или три её версии за то-же время, которое потребуется на перепайку нескольких резисторов.
3.1. Аппаратное обеспечение Arduino
Плата Arduino - небольшая плата микроконтроллера, состоящая из небольшой схемы, содержащей целый компьютер в маленьком чипе (микроконтроллер). Этот компьютер по крайней мере в тысячу раз менее мощный чем MacBook, на котором я пишу эту книгу, но он намного дешевле и очень полезен для постройки интересных устройств. Посмотрите на плату Arduino - вы увидите чёрный чип с 28 "ножками" - это ATmega168, сердце вашей платы.
Мы (команда Arduino разместили на этой плате все компоненты, требуемые для нормальной работы и связи с компьютером этого микроконтроллера. Существует много версий этой платы; та, которую мы описываем в книге - ArduinoDuemilanove, сама простая в использовании и наилучшая для изучения. Однако эти-же инструкции подходят к ранним версиям платы, включая последнюю Arduino Diecimila и более старую Arduino NG. На рис. 3-1 показана Arduino Duemilanove, на рис. 2 - Arduino NG.
На иллюстрациях ниже вы видите плату Arduino. Во-первых, все эти разъёмы могут немного напугать. Вот пояснение того, что делает каждый элемент платы:
3.1.1 14 контактов цифрового ввода-вывода (контакты 0-13)
Они могут быть как входами, так и выходами, что определяется вашим скетчем.
3.1.2 6 контактов аналогового входа (контакты 0–5)
Эти отдельные контакты для аналогового входа получают аналоговые значения (например, величину напряжение в датчике) и преобразовывают их в цифры от 0 до 1023.
3.1.3 Контакты аналогового выхода (контакты 3, 5, 6, 9, 10 и 11)
Шесть цифровых контактов, которые могут быть запрограммированы на аналоговый выход при помощи вашего скетча.
Плата может быть запитана от USB-порта компьютера, большинства USB-зарядных устройств, или от AC-адаптера (рекомендуется напряжением 9 вольт, разъём 2,1мм, плюс в центре). Если в разъём питания не подключён источник, плата получает питания от USB-разъёма, но как только вы подключите источник питания, она автоматически переключится на него.
Примечание: Если вы используете старую Arduino-NG или Arduino Diecimila, вам надо установить перемычку выбора питания (помеченную на плате PWR_SEL) на отметку EXT (внешнее) или USB-питание. Эта перемычка расположена между разъмёмом для AC-адаптера и USB-портом.
Рис. 3-1. Arduino Duemilanove
Рис. 3-2. Arduino NG
3.2 Интегрированная среда разработки (IDE)
IDE (интегрированная среда разработки) - это специальная программа, работающая на вашем копьютере, которая позволяет вам писать скетчи для платы Arduino на простом языке по образцу языка Processing. Когда вы нажмёте кнопку выгрузки скетча на плату, случится волшебство - код, который вы написали, будет транслирован в язык C (который немного сложен для начинающих), и будет передан компилятору avr-gcc, важной части открытого программного обеспечения, который и произведёт финальную трансляцию в язык, понятный микроконтроллеру. Последний шаг очень важен, так как Arduino упрощает вам жизнь, скрывая все возможны есложности программирования микроконтроллеров.
Цикл программирования Arduino упрощённо выглядит так:
- Подключите вашу плату в USB-порт своего компьютера.
- Напишите скетч, оживляющий плату
- Выгрузите этот скетч на плату через USB-соединение и подождите несколько секунд для перезапуска платы
- Плата выполнит написанный вами скетч.
Примечание: Установка Arduino на Linux в настоящее время немного усложнена. См. полные инструкции наwww.arduino.cc/playground/Learning/Linux.
3.3. Установка Arduino на ваш компьютер
Чтобы запрограммировать вашу плату Arduino, сначала вы должны скачать среду разработки (IDE) отсюда: www.arduino.cc/en/Main/Software. Выберите подходящую версию для своей операционной системы.
Скачайте файл и дважды щёлкните на нём для распаковки; он создаст папку с именем arduino-[версия], например, arduino-0012. Перетащите эту папку в любое удобное вам место: на рабочий стол, в свою папку или папку приложений (на Mac), или в папку C:\Program Files (на Windows). Теперь, когда вы захотите запустить среду разработки Arduino, откройте эту папку и дважды щёлкните на иконке Arduino. Пока-что не делайте этого, нам требуется выполнить ещё один шаг.
Примечание: Если у вас есть проблемы с запуском Arduino IDE, см. Главу 7, Устранение неполадок.
Теперь вам требуется установить драйверы, которые позволят вашему компьютеру общаться с платой через порт USB.
3.4 Установка драйверов: Macintosh
Загляните в папку Drivers внутри папки arduino-0012 и дважды щёлкните на файле FTDIUSBSerialDriver_x_x_x.dmg (x_x_x означает номер версии драйвера, например, FTDIUSBSerialDriver_v2_2_9_Intel.dmg). Дважды щёлкните на файле .dmg для того, чтобы примонтировать его.
Примечание: Если вы используете Mac на платформе Intel, такой как MacBook, MacBook Pro, MacBook Air, Mac Pro или Mac Mini на базе Intel, или iMac, удостоверьтесь что вы устанавливаете драйвер с текстом "Intel" в его имени, например FTDIUSBSerialDriver_v2_2_9_Intel.dmg. Если ваш Mac не на базе Intel, устанавливайте файл без текста "Intel" в названии.
Далее установите пакет FTDIUSBSerialDriver при помощи двойного щелчка на нём. Следуйте инструкциям, которые показывает программа установки и введите пароль администратора когда он будет запрошен. В конце процесса перезапустите машину чтобы удостовериться в том, что драйверы установлены корректно. Теперь подключите плату к компьютеру. На плате должен загореться светодиод "PWR", а жёлтый светодиод, обозначенный "L", должен начать мигать. Если этого не произошло, смотрите Главу 7, Устранение неполадок.
3.5 Установка драйверов: Windows
Подключите плату Arduino к компьютеру; когда появится окно помощника "Найдено новое оборудование", Windows попробует найти драйвер на сайте Windows Update.
Windows XP спросит вас, проверять-ли сайт Windows Update - если вы не хотите этого делать, выберите "Нет, не в этот раз" и нажмите "Далее".
На следующем экране выберите "Установить из указанного места" и нажмите "Далее".
Отметьте галочкой опцию "Искать в следующих местах", нажмите "Обзор", выберите папку, в которую вы установил Arduino, и выберите папку Drivers\FTDI USB Drivers. Нажмите "ОК" и "Далее".
Windows Vista сначала попробует найти драйвер на сервере Windows Update; и если не получится, вы сможете указать папку Drivers\FTDI USB Drivers.
Вам придётся пройти эту процедуру дважды, так как сначала компьютер установит драйвер низкого уровня, а затем установит часть кода, которая заставляет плату выглядит как последовательный порт компьютера.
После того, как драйверы установлены, вы можете запускать Arduino IDE и начинать использовать Arduino.
Далее, вы должны узнать, какой порт назначен плате Arduino - эта информация понадобится вам в дальнейшем. Инструкции по получению этой информации следуют ниже.
3.6 Идентификация порта: Macintosh
Из меню "Tools" в среде разработки Arduino, выберите "Serial Port" и выберите порт, который начинается с /dev/cu.usbserial-; это имя, которое компьютер использует для обращения к плате Arduino. Рис 3-3 показывает список портов.
Рис. 3.3 Список портов в Arduino IDE
3.7 Идентификация порта: Windows
В Windows процесс чуть сложнее - по крайней мере, в начале. Откройте Диспетчер устройств: щёлкнув кнопку "Пуск", правой кнопкой щёлкните "Компьютер" (Vista) или "Мой компьютер" (XP), и выбрав "Свойства". Для Windows XP, щёлкните "Оборудование" и выберите "Диспетчер устройств". В Vista, щёлкните на "Диспетчер устройств" (в списке приложений в левой части окна).
Найдите устройство Arduino в списке "Порты (COM и LPT)". Arduino будет видна как последовательный порт USB и будет иметь имя вида COM3, как показано на рис. 3.4.
Рис. 3.4 Диспетчер устройств Windows показывает все доступные последовательные порты
Примечание: На некоторых машинах с Windows порт COM может получить номер больше 9; такая нумерация создаёт некоторые проблемы при попытках общения с Arduino. В Главе 7. Устранение неполадок описано решение этой проблемы.
После того, как вы определили COM-порт, вы можете выбрать его из меню "Tools" > "Serial Port" в IDE Arduino.
Теперь ваша среда разработки Arduino может общаться с платой Arduino и программировать её.