Arduino:Знакомство с Arduino/Знакомство с Arduino/Genuino 101
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Знакомство с Arduino/Genuino 101[1]
Модель Arduino/Genuino 101 – это обучающе-развивающая плата, оснащенная модулем Intel Curie. Она, как заявляют разработчики, совмещает в себе низкое энергопотребление и высокую производительность (благодаря модулю от Intel), а также простоту использования (благодаря, собственно, Arduino). Кроме того, модель оснащена функцией Bluetooth Low Energy и 6-осевым акселерометром/гироскопом, благодаря чему она хорошо подходит для проектов в области интернета вещей. Более подробно об Arduino/Genuino 101 (включая технические характеристики и документацию) можно прочесть на этой странице.
Быстрый старт
Перед тем, как начать работать с 101, на IDE Arduino нужно установить ядро Intel Curie, и делается это при помощи «Менеджера плат». Чтобы открыть его, кликните Инструменты > Плата > Менеджер плат... (Tools > Board > Boards Manager...), а затем найдите там Intel Curie Boards. Более подробно читайте в статье об установке на IDE Arduino дополнительных ядер.
Подключите 101 к компьютеру при помощи стандартного (A-разъем к B-разъему) USB-кабеля. В ответ на это действие на плате должен загореться зеленый светодиод (с надписью «ON»).
Чтобы загрузить скетч, откройте в IDE Arduino меню Инструменты > Плата (Tools > Board) и выберите там пункт «Arduino/Genuino 101». После этого выберите нужный порт в меню Инструменты > Порт (Tools > Port).
Работая с Arduino/Genuino 101, пожалуйста, имейте в виду следующее:
- Вам понадобится IDE Arduino версией не ниже 1.6.7
- После того, как скетч будет загружен на плату, перед его выполнением будет задержка в несколько секунд. Более подробно об этом читайте ниже, в разделе «Процедура загрузки»
Отличия между 101 и Uno
Хотя Arduino 101 имеет те же периферийные компоненты и коннекторы, что и Arduino Uno, процессор ATmega328 уступил место Intel Curie. Это значит, что плата теперь оснащена двумя ядрами – x86 (Quark) и ARC (Argonaut RISC Core). Кроме того, 101 работает на 3,3 вольтах вместо 5 вольт, а также оснащена функцией Bluetooth Low Energy и встроенным 6-осевым гироскопом/акселератором.
Библиотеки для Bluetooth, акселерометра/гироскопа и часов реального времени
Все встроенные периферийные компоненты 101 имеют собственные библиотеки, а именно:
- CurieBLE (чтобы управлять модулем Bluetooth Low Energy)
- CurieMU (чтобы управлять 6-осевым акселерометром/гироскопом)
- CurieRTC (чтобы управлять модулем часов реального времени)
Чтобы лучше вникнуть в то, как их использовать, можно попробовать скетчи-примеры (они идут в комплекте с этими библиотеками) и руководства, которые можно найти в самом последнем разделе этой статьи. Все три библиотеки устанавливаются автоматически вместе с ядром Curie.
Управление напряжением
Микроконтроллер на 101 работает на 3,3 вольтах, причем все его I/O контакты защищены от 5-вольтового перенапряжения. Это значит, что выходные сигналы будут в диапазоне от 0 до 3,3 вольт, но при этом на контакты платы все же можно подавать 5-вольтовое напряжение без риска ее повредить. Однако если дать более 5 вольт, это приведет к порче платы.
Последовательные порты на 101
Модель 101 имеет несколько средств для коммуникации с компьютером и другими микроконтроллерами. USB-коннектор отображается как виртуальный последовательный порт, которым можно управлять при помощи считывания и записи через объект Serial. В то же время контакты 0 и 1 отображаются как аппаратный последовательный порт, а управляются через объект Serial1.
Открытие/закрытие последовательного USB-порта на скорости, отличной от 1200 бит/сек, не выполнит сброса 101. Чтобы иметь возможность использовать монитор порта и видеть, что скетч делает с самого начала, в него – точнее, в секцию setup() – нужно добавить следующую строчку:
while (!Serial) ;
Благодаря этому модуль Curie перед тем, как запускать скетч, будет ждать открытия последовательного порта.
Если нажать на 101 кнопку Reset, это сбросит и микроконтроллер, и USB-коммуникацию. Кроме того, если в это время будет отрыт монитор порта, для возобновления соединения его нужно будет закрыть и снова открыть. Благодаря библиотеке SoftwareSerial можно выполнить последовательную коммуникацию с любым цифровым контактом 101 на скорости до 57600 бит/сек.
Процедура загрузки
После того, как скетч будет загружен на плату, перед его выполнением будет задержка в несколько секунд. Это также происходит при включении питания и нажатии на кнопку RESET M. Кроме того, в это время не может быть открыт монитор порта, поэтому пользователь должен будет подождать 10 секунд – перед тем, как будет запущена последовательная коммуникация. Чтобы не пропустить важную информацию, идущую перед открытием монитора порта, в блок setup() можно вписать ту же сточку кода:
while (!Serial) ;
С ее помощью скетч перед тем, как запуститься, будет ждать открытия монитора порта.
Только для Linux. Некоторым дистрибутивам для выполнения загрузки необходима определенная настройка. После установки ядра выполните внутри оболочки команду
sudo ~/.arduino15/packages/Intel/tools/sketchUploader/1.6.4+1.14/scripts/create_dfu_udev_rule. Благодаря этому вы получите разрешение на загрузку.
Драйверы
Если у вас Windows, то для коммуникации с платой вам надо будет установить драйверы. Они устанавливаются автоматически вместе с установкой ядра.
На MacOSX и Linux драйверы устанавливать не нужно.
Более подробно об Arduino/Genuino 101 читайте на странице с аппаратным описанием.
Обучение
Ниже – несколько примеров того, что можно создать на базе Arduino/Genuino 101, плюс соответствующие руководства:
- Отображение информации о положении в пространстве
- Счетчик шагов
- Устройство для измерения сердцебиения
Примечание: Чтобы защитить плату и добиться ее максимальной производительности, используйте пластиковый корпус (они выпускаются сторонними производителями). Для того, чтобы закрепить плату в корпусе, используйте шурупы, диаметр головки которых не превышает 6,35 мм. Если вы тестируете плату на незаземленной металлической поверхности, между платой и этой поверхностью должно быть расстояние не менее 10 мм – чтобы плата сохранила функции беспроводной связи.
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |