Перейти к содержанию

Рекомендуемые сообщения

Кроме классических 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.

 

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...