В этом руководстве объясняется, как начать работать с Intel Edison.
Предполагается, что читающий это руководство использует набор Intel Edison для Arduino, но это верно и для макетной платы Intel Edison. Кроме того, предполагается, что модуль Intel Edison уже подключен к макетной плате. Если нет, подключите. О том, как это сделать, описано тут.
Загрузка IDE Arduino
Самый первый шаг (если вы его еще не сделали) – загружаем с соответствующей страницы среду разработки Arduino (или просто IDE Arduino).
Подключение платы к ПК
Чтобы загружать Arduino-скетчи на Intel Edison, плата должна быть запитана и подключена к компьютеру. Предполагается, что для подключения платы к ПК будут использоваться два кабеля с разъемами типа micro USB, потому что таким образом плате будет доступно больше тока (на тот случай, если потребуется).
Найдите на плате маленький переключатель – он находится между USB-портами. Переключите его вниз, в сторону портов micro USB, как показано на рисунке ниже:
На плате должен загореться зеленый огонек. Если не загорелся, проверьте соединение.
Подождите, пока плата загрузится. О том, что плата полностью инициализировалась, можно будет узнать по тому, что на компьютер смонтируется новый диск (это как если бы в ваш компьютер была вставлена SD-карта).
Примечание: Если новый диск не появился, а светодиод (на расширительной плате Arduino это DS1) в случайном порядке то включается-выключается, это значит, что компьютер дает плате недостаточно тока. В этом случае можно воспользоваться источником переменного тока, и о том, как это сделать, можно прочитать в этом руководстве.
Открываем пример «Blink»
Заходим в IDE Arduino и открываем скетч-пример «Blink». Для этого кликаем по пункту Файл > Примеры > 01.Basics > Blink (File > Examples > 01.Basics > Blink).
Выбираем плату
Заходим в меню Инструменты > Плата (Tools > Board) и выбираем там пункт Intel Edison, как показано ниже:
Выбираем порт
Заходим в меню Инструменты > Порт (Tools > Port) и выбираем нужный последовательный порт. Самый простой способ понять, какой порт использует ваша плата – это отключить плату, перезапустить IDE Arduino и снова открыть меню Port. Запись, которая исчезнет, и будет портом для Intel Edison. Теперь переподключаем плату, перезапускаем IDE Arduino и снова выбираем нужный порт.
На Windows
На этой ОС нужным портом, скорее всего, будет COM3 или выше, а в «Менеджере устройств» он будет отображаться как «Intel Edison Virtual Com Port», а НЕ «USB Serial Port». Варианты COM1 и COM2 обычно зарезервированы под аппаратные последовательные порты.
На Linux
Здесь нужным портом, скорее всего, будет /dev/ttyACM1:
На Mac OS X
Здесь нужным портом, скорее всего, будет /dev/cu.usbmodemxxxx. Если у вас много подобных записей, то выберите любую из них – это должно дать те же результаты:
Загружаем и запускаем программу
Кликаем на кнопку «Загрузка» в левой верхней части IDE Arduino и запускаем скетч:
Когда скетч будет загружен, вы должны увидеть запись «Загрузка завершена»:
В результате на плате должен замигать (с секундной задержкой) светодиод DS2.
Обучение
Ниже – список статей с примерами устройств, которые можно создать на базе Intel Edison:
Calibration - Определение максимума и минимума для данных от аналогового датчика.
Fading - Использование выходного аналогового контакта (ШИМ) для затухания/загорания светодиода.
Smoothing - Сглаживание серии данных, считанных с входного аналогового контакта.
Связь
ReadASCIIString - Анализ строки, состоящей из разделенных запятыми int-значений, и их последующее использование для управления RGB-светодиодом.
ASCII Table - Демонстрирует продвинутые способы вывода данных на Serial Monitor.
Dimmer - Изменение яркости светодиода при помощи движения мышкой.
Graph - Отправка данных на компьютер и их графическое отображение в скетче Processing.
Physical Pixel - Включение/выключение светодиода путем отправки данных со скетча Processing (или Max/MSP) на Arduino.
Virtual Color Mixer - Отправка с Arduino на компьютер сразу нескольких значений, а затем их считывание при помощи скетча для Processing или Max/MSP.
Serial Call Response - Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»).
Serial Call Response ASCII - Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»). До передачи данные зашифровываются в ASCII.
SerialEvent - Демонстрирует использование SerialEvent().
MIDI - Передача через последовательный порт сообщений с MIDI-нотами.
MultiSerialMega - Использование двух последовательных портов на Arduino Mega.
Управляющие структуры
If Statement - Как использовать оператор «if» для создания условий, опирающихся на входные аналоговые данные, при которых светодиод будет либо включаться, либо оставаться выключенным.
For Loop - Управление несколькими светодиодами, чтобы они мигали, как LED-полоска у автомобиля Китт из сериала «Рыцарь дорог».
Array - Вариация примера «For Loop», но с использованием массива.
While Loop - Использование цикла while() для калибровки датчика. Калибровка включается при нажатии на кнопку.
Switch Case - Как совершать какие-либо действия в зависимости от значений, полученных от датчика. Эквивалент примера «If Statement», но если бы условий было не два, а четыре. Этот пример демонстрирует, как дробить диапазон данных от датчика на четыре «суб-диапазона», а затем в зависимости от полученных результатов совершать одно из четырех действий.
Switch Case 2 - Второй пример, демонстрирующий использование оператора switch. Показывает, как совершать различные действия в зависимости от определенных символов, полученных через последовательный порт.
Датчики
ADXL3xx - Считывание данных с акселерометра ADXL3xx.
Knock - Определение стука при помощи пьезоэлемента.
Memsic2125 - Считывание данных с 2-осевого акселерометра Memsic2125.
Ping - Определение объектов при помощи ультразвукового дальномера.