Главная » Arduino
Призовой фонд
на август 2018 г.
1. 1000 руб.
Neru5
2. Осциллограф DSO138
Паяльник
3. 350 руб.
От пользователей

DFRobot Curie Nano

Кроме классических Arduino с микроконтроллерами Atmel существуют так же платы, в основе которых лежат другие микроконтроллеры. Одной из таких ардуин является модель 101, в основе которой находится Intel Curie. Выглядит она так:

image1.jpeg.93b55efc1afed7fab5d913ee4ea30053.jpeg

Поскольку ардуино это проект открытый, то изготавливать совместимые платы может кто угодно, иногда изменяя схему.

Так вот, у компании DFrobot свой взгляд на arduino 101. Представляю вашему вниманию DFRobot Curie Nano.

image2.thumb.jpeg.c225f8447ca38d4a4cd4b15a059dcaaf.jpeg

image3.thumb.jpeg.50ac67993242d94925fade0ddc71a0ae.jpeg

Для сравнения приведу фото этой платы с некоторыми другими (леонардо, esp32, NodeMCU). Плата довольно компактна.

image4.jpeg.d5c50e3726f47fd8a60e5a2fb0f392e5.jpeg

Не вижу смысла перепечатывать характеристики микроконтроллера из даташита , просто приведу содержимое первой страницы.

image2.thumb.png.80b09c8d254d0f399b52b6733f6fefe2.png

расположение и назначение выводов DFRobot Curie Nano представлено на следующем изображении.

image3.png.4d1f375466571db9e58138ed9841cd42.png

Итак, на борту 32-битный микроконтроллер, работающий на частоте 32 мегагерца. Есть встроенный 6-осевой акселерометр, Bluetooth, часы реального времени. То есть микроконтроллер изначально задуман для создания носимых умных устройств. К тому же DFRobot Curie Nano меньше по размеру, чем arduino 101.

Для программирования DFRobot Curie Nano можно использовать фирменную IDE от Intel (но я её не прбовал), либо ArduinoIDE. На ArduinoIDE я и остановлюсь.

Что бы ArduinoIDE могла работать с Curie, необходимо добавить поддержку этого микроконтроллера в «менеджере плат».

image4.png.af60f086a8e89c4fb8abd844249c54ad.png

Всего необходимо скачать чуть менее 200 мегабайт. На скриншоте только один из скачиваемых пакетов.

image5.png.5dbbe5d8c1e532c31fd2ff5013f9d271.png

После загрузки и установки выпрыгнет окно установки драйвера, без него мы конечно же обойтись не можем.

image6.png.bd3fa59eda4b602ec4495ac364117c3b.png

Вот и вся установка.

Стоит отметить, что работа с ардуино 101 (и соответственно с DFRobot Curie Nano) ничем не отличается от других плат ардуино, построенных на микроконтроллерах AVR. Дело в том, что с "ядром" Intel Curie Boards устанавливаются библиотеки, которые заменяют встроенные в ArduinoIDE библиотеки (Wire, SPI, EEPROM, servo и так далее). Кроме того, в комплект пакета поддержки входят библиотеки, специально предгазначенные для микроконтроллера Intel Curie - CurieBLE для работы с bluetooth, CurieI2S, CurieIMU для работы со встроенным датчиком положения, power для спящего режима, CurieTime для работы со встроенным RTC, CurieTimerOne в пояснениях не нуждается.

Для прошивки микроконтроллера отведено 155682 байт, это больше чем у большинства микроконтроллеров AVR, используемых в платах ардуино. Но, одна и та же программа может занимать разный объем в микроконтроллерах разной архитектуры. Я решил сравнить объем программ, компмллируемых для Intel Curie и ATmega 328p (arduino nano). Итак...

5af1f1454d48e_.PNG.ca048bdaae824ca10135ae2026fae7b0.PNG

С ATmega328p всё закономерно, больше объем скетча - больше памяти занимает скомпилированный код. А вот с Intel Curie не все так просто. Даже пустой скетч занимает 31% памяти. Но далее с ростом скетча рост скомпилированной программы значительно меньше, чем у ATmega328p.

На данном примере я покажу совместную работу встроенной в ядро Intel Curie библиотеки и библиотеки U8g2. Это скетч простых часов, которые выводят данные на дисплей.

#include <CurieTime.h>
#include <U8g2lib.h>

U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0,U8X8_PIN_NONE);

char c_time[10];

void setup() {
 u8g2.begin();
}

void loop() {
int i_hour=hour(); //получаем время: час,
int i_minute=minute(); //минуты,
int i_second=second(); //секунды и помещаем их в соответствующие переменные


String s_time = String(i_hour) + ":" + String(i_minute) + ":" + String(i_second); //конактенация и одновременный пере
s_time.toCharArray(c_time, 10); //преобразование переменной типа string в тип char

 u8g2.firstPage(); //вывод данных на дисплей
 do {
 u8g2.setFont(u8g2_font_ncenB14_tr); //выбор шрифта
 u8g2.drawStr(30, 36, c_time); //эта функция может вывести только значение переменной типа char
 }
  while ( u8g2.nextPage() );
}

image5.jpg

Создатели arduino 101 хорошо поработали над совместимостью исходного кода, предназначенного для микроконтроллеров AVR, с микроконтроллером Intel Curie. То есть, большинство сторонних библиотек, написанных для arduino, совместимы так же и с DFRobot Curie Nano.

Подробно рассматривать библиотеки, поставляемые с ядром Intel Curie, я не буду. Так как примеров, поставляемых с ядром, достаточно для понимания их работы. Отдельного внимания заслуживает библиотека CurieBLE и собственно работа с BLE, но это тема отдельной статьи.

Кроме того, на базе Curie Nano можно построить нейронную сеть при помощи Curie's neuron SDK, вот только библиотека платная и стоит 19$.

P.S. DFRobot Curie Nano мне очень понравилась. Уже есть огромный план по использованию этой платы по назначению, то есть для создания носимого устройства с применением возможностей микроконтроллера Intel Curie (часы с навигацией и расчетом астрономических событий для туристов и фотографов)

Отдельная благодарность магазину dfrobot.com за предоставленную на обзор DFRobot Curie Nano.

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (2) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
andro #
Интересная и весьма необходимая вещь для построения часов с навигацией и расчетом астрономических событий для туристов и фотографов. Будет интересно почитать про их сборку, надеюсь после сборки поделитесь материалом. Данная же статья получилась лаконичной и понятной, без лишних слов. Спасибо автору!
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Raspberry Pi 2
Raspberry Pi 2
Сатфайндер Лазерный модуль 650нм 5мВт
вверх