В один жаркий зимний день, в канун Рождества, у меня возникло непреодолимое желание заняться чем-нибудь интересным.
У меня был приличный запас фуа-гра (на юго-западе Франции, где я живу, этого деликатеса производят много), хороший фильм и плата Ардуино 101 .
Я решил с ней поэкспериментировать.
Присоединяйтесь к нам!
Ардуино 101
Возможно, вы слышали, что плата Arduino 101 был представлен и на выставке Maker Faire Rom 2015. Мне представилась возможность присутствовать на этом замечательном мероприятии и увидеть презентацию своими глазами.
Первое, что хочу сказать об Arduino 101, это то, что это устройство, несмотря на миниатюрные размеры и невысокую цену, хорошо оснащено.
А именно, он имеет 32-битный микроконтроллер Intel Quark, что делает его экономичным.
Он имеет 384 КБ флэш-памяти, 80 КБ SRAM (24 КБ доступно для скетчей).
Arduino 101 оснащен сенсорным концентратором DSP, Bluetooth LE и 6-осевым комбинированным датчиком с акселерометром и гироскопом.
Все это благодаря модулю Интел Кюри .
Итак, экспериментируя с Arduino 101, я решил опробовать его цифровые и аналоговые возможности и посмотреть, что можно сделать с модулем IMU и Bluetooth LE.
Привет, мир
Итак, с чего же нам начать? Для начала подключите Arduino 101 к компьютеру с помощью USB-кабеля, затем загрузите последнюю версию.
Ардуино IDE (в моем случае 1.6.7.) и устанавливаем необходимый пакет с помощью диспетчера плат.
Запуск менеджера досок
Установка пакета
После завершения установки в меню должна появиться новая плата – «Arduino 101».
Ардуино 101 в меню
Перед началом работы необходимо указать COM-порт, с которым связана плата.
Выбор COM-порта
Среда разработки установлена, плата подключена к компьютеру, теперь попробуем первый пример — «Мигание».
Для запуска примера не нужно подключать к плате дополнительные устройства.
Он использует встроенный светодиод, который будет мигать, если все идет как положено.
Загрузим пример из соответствующего меню.
Загрузка примера из меню
Когда код откроется в редакторе, нужно нажать на кнопку «Загрузить» (на ней есть стрелочка), чтобы загрузить собранный из него скетч на плату.
Загрузка эскиза на доску
После нажатия кнопки код компилируется и загружается на плату через USB. Если все сделано правильно, через несколько секунд светодиод на Arduino 101 начнет мигать.
Вы можете внести изменения в код, например изменить период мигания светодиода.
После этого еще раз загрузите его на плату и оцените работоспособность модифицированной версии.
Аналоговый датчик
Итак, с миганием светодиода мы разобрались, теперь подключим к плате какой-нибудь датчик, но прежде чем это сделать, подключим к Arduino 101 плату расширения.У меня есть Стартовый комплект Grove Plus , я выбрал оттуда датчик, и решил начать с чего-то простого.
Например, от потенциометра, который в документации Grove называется «Датчик угла поворота».
Датчик подключим к аналоговому разъему, а именно к А0, а затем в режиме реального времени будем считывать его показания.
Подключение потенциометра
Загрузим из меню пример «AnalogReadSerial».
Скачать пример
Загрузите скетч на плату и откройте монитор последовательного порта («Serial Monitor») из меню «Инструменты».
Показания потенциометра
Теперь в окне монитора можно увидеть данные с потенциометра, которые изменяются при повороте его ручки.
И вот еще одна полезная функция – построение графиков по аналоговым данным с помощью инструмента «Последовательный плоттер» (его можно найти в меню «Инструменты»).
График отображается в режиме реального времени.
Визуализация данных
Цифровые датчики
Есть аналоговые датчики, а есть цифровые.В документации к устройствам можно найти инструкции по этому поводу, а также информацию о том, как использовать тот или иной датчик.
Давайте протестируем простой сенсорный датчик из набора Grove. Давайте подключим его к цифровому разъему D2 и загрузим пример «DigitalReadSerial».
Подключение сенсорного датчика
После загрузки скетча на плату вы можете увидеть нули и единицы на мониторе последовательного порта.
«0» — касания нет, «1» — касание есть.
Больше ничего здесь не показано.
Все дело в том, что данные поступают с двоичного цифрового датчика.
Показания сенсорного датчика
Гироскопический датчик
Поскольку в Arduino 101 используется модуль Intel Curie, к нашим услугам гироскопический датчик.В этом эксперименте к плате ничего подключать не нужно, так как датчик в нее уже встроен.
Откроем пример «RawIMUDataSerial», загрузим его на плату, запустим монитор последовательного порта и потрясем устройство.
Монитор позволит отслеживать шесть групп показателей.
Датчик имеет шесть степеней свободы, так как представляет собой комбинацию акселерометра и гироскопа.
Необработанные данные встроенного датчика
Эти данные могут быть обработаны платой, чтобы определить, являются ли движения, например, шагами или ударами.
Давайте рассмотрим пример «ShockDetect», который выводит на монитор обработанные данные о ударах.
Анализ встроенных датчиков
Хотите больше примеров? Проверьте это здесь .
Bluetooth Л?
Благодаря модулю Intel Curie Arduino 101 оснащен Bluetooth LE. Использовать Bluetooth очень просто, внешние передатчики BT не нужны.Загрузим пример «BatteryMonitor» и подключим, например, потенциометр к аналоговому разъему А0. Скетч принимает данные потенциометра и отправляет их в виде сообщения Bluetooth LE. В примере они интерпретируются как уровень заряда определенного аккумулятора.
Bluetooth LE имеет стандартные профили, например, для данных о частоте пульса или уровне заряда батареи.
Мы будем использовать последнее.
При запуске примера плата ожидает сопряжения с устройством BLE. Здесь вы можете использовать смартфон или ноутбук с поддержкой Bluetooth LE и инициировать с него сопряжение с «BatteryMonitorSketch».
Запуск Bluetooth-соединения
Во время процесса сопряжения вы увидите имя устройства (Genuino 101).
Сопряжение с Genuino 101
Итак, устройство подключено к ноутбуку с Windows. Теперь нам нужно приложение, которое будет использовать библиотеку BLE для чтения данных, сгенерированных скетчем, эмулирующим датчик заряда аккумулятора.
Я установил программу Newbit BLE Tool из Windows App Store. Затем я выбрал устройство и услугу BLE с идентификатором «*180f*».
Этот идентификатор означает, что мы подключаемся к датчику заряда аккумулятора (список с примерами сервисных идентификаторов можно увидеть в левой части окна).
Выбор услуги
Теперь, когда все готово, вы можете прокрутить окно вправо и посмотреть данные, которые выдает скетч.
Кроме того, вы можете подписаться на изменения этого индикатора и получать данные по мере их обновления.
Показания датчика, полученные через Bluetooth
выводы
Arduino 101, также известный как Genuino 101, прост в использовании, как и следовало ожидать от Arduino-совместимого устройства.Для него можно писать скетчи с помощью Arduino IDE; К нему подходят наборы датчиков и другие модули для Arduino. Кроме того, стоит помнить, что Arduino — это не только устройство и среда разработки, но и сообщество энтузиастов, которые охотно делятся знаниями и опытом.
Помимо стандартных для плат Arduino возможностей, Arduino 101 имеет очень интересные встроенные модули — Bluetooth LE и комбинацию гироскопа и акселерометра.
Вышесказанное делает Arduino 101 отличным выбором для тех, кто только начинает разрабатывать устройства на базе микроконтроллеров.
Но доска, о которой мы говорим, предназначена не только для новичков.
Кроме того, это еще и мощная платформа для профессионалов, позволяющая быстро собирать прототипы умных устройств для Интернета вещей.
Если прототип, построенный на Arduino 101, работает корректно, то, используя те же идеи, можно создать собственный продукт на платформе Intel Curie. Устройство на этой платформе будет оснащено тем же микроконтроллером и будет иметь те же коммуникационные возможности, что и Arduino 101. В результате благодаря Arduino 101 мы получаем простой, быстрый и дешевый способ перейти от прототипов к серийному производству IoT-решений.
.
Теги: #Arduino 101 #iot #разработка #Intel Curie #Bluetooth LE #Программирование микроконтроллеров #Разработка для Интернета вещей
-
Выпущен Firebug 1.2
19 Oct, 24 -
Как Выглядит Ошибка Запуска Windows Phone 8?
19 Oct, 24