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

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

Кроме классических 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 пользователей онлайн

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

    • Cкорее всего, при 31,5 В на выходе драйвер не выдаст 300 мА.  Хотя, раз заявлено входное от 100 В, то при 230 В может что-то и получится. Но это уже за заявленными пределами работы.  Можно подключить проволочный резистор 100 Ом и померить напряжение, но лучше использовать как заявлено: в диапазоне 12-20 В.  
    • @MisterAnderson , напряжение на выходе светодиодного драйвера зависит от нагрузки, и определяется оно напряжением на светодиодах, а не самим драйвером. Светодиоды имеют характеристику близкую к стабилитрону, напряжение на них от тока зависит мало. Белые светодиоды имеют это напряжение примерно 3...3,4 В. Четыре последовательно включённых - примерно 12...14 В. На подключение таких "трёхвольтовых" белых светодиодов и расчитан ваш драйвер. Драйвер напряжением не управляет, есть только ограничение по максимальному, больше которого он выдать не может. Драйвер светодиодов стабилизирует ток. Ваш драйвер стабилизирует его на уровне 0,3 А. И выдать больше 20 В при этом не может. Измеренные вами 31,5 В на холостом ходу - это напряжение его внутреннего питания. Под нагрузкой 0,3 А напряжение на его выходе тут же "просядет", выше 20 В не поднимется. Мощность на одном трёхвольтовом 300-миллиамперном светодиоде будет (примерно, для светодиодов точность никогда особо не обеспечивают) 0,3 А * 3,3 В = 1 Вт. Трёхвольтовый белый светодиод на ток 300 мА - это и есть одноваттный светодиод. На четырёх будет 4 ватта. Следующие по напряжению в линейке белых осветительных светодиодов - шестивольтовые. У них в одном корпусе последовательно соединённые два светодиодных кристалла. Четыре таких светодиода, включённых последовательно, ваш драйвер не потянет, потому что им нужно минимум 6*4=24 В, а ваш драйвер может выдать не больше 20. Впрочем, можно бы было поставить вместо четырёх трёхвольтовых четыре шестивольтовых на 150 мА, две группы параллельно по два последовательно, но вряд ли справитесь с переделкой платы под светодиоды. Поэтому этот вариант вам и не предлагали. Проще, дешевле и с наименьшими затратами собственного времени, без переделки драйвера, платы и т.п., с которой вы точно не справитесь, поставить четыре одноваттных трёхвольтовых, на которые ваш драйвер расчитан. Тем более, что купить их - проблем нет. Именно этот оптимальнейший совет вам и дали. Всё вам правильно уже много людей много раз разными словами рассказали. Что вас ещё смущает?
    • Предусилители-корректоры на полевых транзисторах. Радио №9,   №10/2010.  А.Гурский.
    • Тоже самое в подсветках фирменных телеках даже 10 летней давности. Ток можно уменьшить на треть без потери качества легко. Потребитель должен потреблять и всё тут.
    • Естественно после 7 вольт то. Или аккум сам по себе хлам и садит в себя или ибп. Тут вариантов не много.
    • Попробуйте зарядить, а потом погонять ее  в полный цикл несколько раз. Это если акум нормальный а у ТС 100% давно не нормальный.
  • Похожий контент

×
×
  • Создать...