Arduino:Продукты/Продукты Arduino/Плата Arduino 101: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


[[File:AG101.jpg|center]]
[[File:AG101.jpg|center|frame|'''Рис. 1.''' Фото плат [[Arduino 101]] и [[Genuino 101]]|alt=Рис. 1. Фото плат Arduino 101 и Genuino 101]]


=Arduino 101<ref>[https://www.arduino.cc/en/Main/ArduinoBoard101 Arduino 101 & Genuino 101]</ref>=
=Arduino 101<ref>[https://www.arduino.cc/en/Main/ArduinoBoard101 Arduino 101 & Genuino 101]</ref>=


Плата '''Arduino 101''' совмещает в себе простоту '''Arduino''' и цену, характерную для плат начального уровня. Она оснащена модулем '''Intel Curie''', который отличается низким энергопотреблением, и предназначена для использования как в образовательных, так и в инженерных целях.  
Плата [[Arduino 101]] совмещает в себе простоту [[Arduino]] и цену, характерную для плат начального уровня. Она оснащена модулем [[Intel Curie]], который отличается низким энергопотреблением, и предназначена для использования как в образовательных, так и в инженерных целях.  


Она похожа и имеет те же компоненты, что и '''Arduino Uno''', но вдобавок оснащена '''BLE'''-функционалом и '''6-осевым''' акселерометром/гироскопом.
Она похожа и имеет те же компоненты, что и [[Arduino Uno]], но вдобавок оснащена [[BLE-функционал]]ом и 6-осевым акселерометром/гироскопом.


Модуль '''Intel Curie''' содержит два маленьких ядра, '''x86 (Quark)''' и '''32-битное архитектурное ядро ARC'''; тактовая частота обоих ядер составляет '''32 МГц'''.
Модуль [[Intel Curie]] содержит два маленьких ядра, [[x86]] ([[Quark]]) и 32-битное архитектурное ядро [[ARC]]; тактовая частота обоих ядер составляет 32 МГц.


Операционные системы реального времени (или '''RTOS''', что значит '''«real-time operating system»''') и фреймворки, разработанные '''Intel''', распространяются по принципу '''«open source»'''. Ссылку для загрузки ищите ниже, в разделе '''«Прошивка»'''. Ядро '''Arduino''' '''«общается»''' с '''RTOS''' при помощи статичных '''«мейлбоксов» (от «mailbox»'''), с их помощью выполняя самые разнообразные задачи (создание интерфейса с '''PC''' при помощи '''USB''', программирование скетча на '''flash'''-памяти, подключение к скетчу '''BLE'''-функционала, выполнение '''ШИМ'''). Работа над '''RTOS''' для '''Intel Curie''' по-прежнему продолжается, поэтому в будущем для нее будут выходить новые функции и опции.
Операционные системы реального времени (или [[RTOS]], что значит ''«real-time operating system»'') и [[фреймворк]]и, разработанные [[Intel]], распространяются по принципу ''«open source»''. Ссылку для загрузки ищите ниже, в разделе ''«Прошивка»''. Ядро [[Arduino]] ''«общается»'' с [[RTOS]] при помощи статичных ''«мейлбоксов»'' (от ''«mailbox»''), с их помощью выполняя самые разнообразные задачи (создание интерфейса с [[PC]] при помощи [[USB]], программирование скетча на [[flash-памяти]], подключение к скетчу [[BLE-функционал]]а, выполнение [[ШИМ]]). Работа над [[RTOS]] для [[Intel Curie]] по-прежнему продолжается, поэтому в будущем для нее будут выходить новые функции и опции.


Модель '''Arduino 101''' идет с '''14''' цифровыми '''I/O''' контактами (из которых '''4''' можно использовать для '''ШИМ'''), '''6''' аналоговыми контактами, '''USB'''-коннектором для последовательной коммуникации и загрузки скетча, разъемом для питания, '''ICSP'''-гребешком, а также отдельными контактами для интерфейсов '''SPI''' и '''I2C'''.  
Модель [[Arduino 101]] идет с 14 цифровыми I/O контактами (из которых 4 можно использовать для [[ШИМ]]), 6 аналоговыми контактами, [[USB-коннектор]]ом для последовательной коммуникации и загрузки [[скетч]]а, разъемом для питания, [[ICSP-гребешком]], а также отдельными контактами для интерфейсов [[SPI]] и [[I2C]].  


Рабочим напряжением для платы и '''I/O''' контактов является '''3,3 вольта''', причем все контакты имеют защиту от '''5-вольтовой перегрузки'''.
Рабочим напряжением для платы и I/O контактов является 3,3 вольта, причем все контакты имеют защиту от 5-вольтовой перегрузки.


Плата '''Arduino 101''' разработана в сотрудничестве с '''Intel'''.
Плата [[Arduino 101]] разработана в сотрудничестве с [[Intel]].


На [[Arduino:Знакомство_с_Arduino/Знакомство_с_Arduino/Genuino_101|этой странице]] можно почитать о том, как настроить плату, использовать '''IDE Arduino''' и побыстрее приступить к делу.
На [[Arduino:Знакомство_с_Arduino/Знакомство_с_Arduino/Genuino_101|этой странице]] можно почитать о том, как настроить плату, использовать [[IDE Arduino]] и побыстрее приступить к делу.


Если нужна помощь, то...
Если нужна помощь, то...
* ...[https://forum.arduino.cc/index.php?board=103.0 здесь] можно спросить о '''ПО'''
* ...[https://forum.arduino.cc/index.php?board=103.0 здесь] можно спросить о [[ПО]]
* ...[https://forum.arduino.cc/index.php?board=3.0 здесь] – о проектах
* ...[https://forum.arduino.cc/index.php?board=3.0 здесь] – о проектах
* ...[https://store.arduino.cc/index.php?main_page=contact_us&language=en а здесь] – о самих продуктах
* ...[https://store.arduino.cc/index.php?main_page=contact_us&language=en а здесь] – о самих продуктах
Строка 30: Строка 30:
== С чего начать ==
== С чего начать ==


[[Arduino:Примеры/Genuino101CurieIMUOrientationVisualiser|Тут]] можно почитать о совместном использовании интегрированных акселерометра и гироскопа, [[Arduino:Примеры/Genuino101CurieIMUStepCount|тут]] – о том, как сделать счетчик шагов, а здесь – [[Arduino:Примеры/Genuino101CurieBLEHeartRateMonitor|датчик сердцебиения]], для создания которого используется '''BLE'''-функционал '''Arduino 101'''.
[[Arduino:Примеры/Genuino101CurieIMUOrientationVisualiser|Тут]] можно почитать о совместном использовании интегрированных акселерометра и гироскопа, [[Arduino:Примеры/Genuino101CurieIMUStepCount|тут]] – о том, как сделать счетчик шагов, а здесь – [[Arduino:Примеры/Genuino101CurieBLEHeartRateMonitor|датчик сердцебиения]], для создания которого используется [[BLE-функционал]] [[Arduino 101]].


О других проектах, которые можно создать на базе '''Arduino 101''', читайте на [https://create.arduino.cc/projecthub/products/arduino-101-genuino-101 Arduino Project Hub] – разделе на сайте '''Arduino''', содержащем руководства по созданию различных проектов. Вот пара примеров оттуда:
О других проектах, которые можно создать на базе [[Arduino 101]], читайте на [https://create.arduino.cc/projecthub/products/arduino-101-genuino-101 Arduino Project Hub] – разделе на сайте Arduino, содержащем руководства по созданию различных проектов. Вот пара примеров оттуда:


<gallery mode="packed-overlay" widths=200px heights=200px>
<gallery mode="packed-overlay" widths=200px heights=200px>
Строка 41: Строка 41:
==Технические характеристики==
==Технические характеристики==


* '''Микроконтроллер''' – [[Микроконтроллер::Intel Curie]]
* '''[[Микроконтроллер]]''' – [[Микроконтроллер::Intel Curie]]
* '''Рабочее напряжение''' – [[Рабочее напряжение::3,3 вольта (контакты устойчивы к 5 вольтам)]]
* '''Рабочее напряжение''' – [[Рабочее напряжение::3,3 вольта (контакты устойчивы к 5 вольтам)]]
* '''Входное напряжение (рекомендуемое)''' – [[Входное напряжение (рекомендуемое)::7-12 вольт]]
* '''Входное напряжение (рекомендуемое)''' – [[Входное напряжение (рекомендуемое)::7-12 вольт]]
* '''Входное напряжение (лимит)''' – [[Входное напряжение (лимит)::7-20 вольт]]
* '''Входное напряжение (лимит)''' – [[Входное напряжение (лимит)::7-20 вольт]]
* '''Цифровые I/O контакты''' – [[Цифровые I/O контакты::14 (на 4 есть ШИМ)]]
* '''Цифровые I/O контакты''' – [[Цифровые I/O контакты::14 (на 4 есть ШИМ)]]
* '''Цифровые I/O контакты с поддержкой ШИМ''' – [[Цифровые I/O контакты с поддержкой ШИМ::4]]
* '''Цифровые I/O контакты с поддержкой [[ШИМ]]''' – [[Цифровые I/O контакты с поддержкой ШИМ::4]]
* '''Входные аналоговые контакты''' – [[Входные аналоговые контакты::6]]
* '''Входные аналоговые контакты''' – [[Входные аналоговые контакты::6]]
* '''Максимальная сила тока на один I/O контакт''' – [[Максимальная сила тока на один I/O контакт::20 миллиампер]]
* '''Максимальная сила тока на один I/O контакт''' – [[Максимальная сила тока на один I/O контакт::20 миллиампер]]
* '''Flash-память''' – [[Flash-память::196 Кб]]
* '''[[Flash-память]]''' – [[Flash-память::196 Кб]]
* '''SRAM''' – [[SRAM::24 Кб]]
* '''[[SRAM]]''' – [[SRAM::24 Кб]]
* '''Тактовая частота''' – [[Тактовая частота::32 МГц]]
* '''Тактовая частота''' – [[Тактовая частота::32 МГц]]
* '''Встроенный светодиод ([[Arduino:Справочник языка Arduino/Константы/LED BUILTIN|LED_BUILTIN]])''' – [[Встроенный светодиод (LED_BUILTIN)::13-ый]]
* '''Встроенный [[светодиод]] ([[Arduino:Справочник языка Arduino/Константы/LED BUILTIN|LED_BUILTIN]])''' – [[Встроенный светодиод (LED_BUILTIN)::13-ый]]
* '''Функции''' – [[BLE::Да|BLE]], [[6-осевой акселерометр::Да|6-осевой акселерометр]]/[[Гироскоп::Да|гироскоп]]
* '''Функции''' – [[BLE::Да|BLE]], [[6-осевой акселерометр::Да|6-осевой акселерометр]]/[[Гироскоп::Да|гироскоп]]
* '''Длина''' – [[Длина::68,6 мм.]]
* '''Длина''' – [[Длина::68,6 мм.]]
Строка 60: Строка 60:
==Документация==
==Документация==


Arduino 101 – это устройство, распространяемое по принципу «open-source». Вы можете создать собственную плату, используя следующие файлы:
[[Arduino 101]] – это устройство, распространяемое по принципу ''«open-source»''. Вы можете создать собственную плату, используя следующие файлы:
* [[Media:Arduino101RefDesign.zip|CAD-файлы в ZIP-архиве]]
* [[Media:Arduino101RefDesign.zip|CAD-файлы в ZIP-архиве]]
* [[Media:Arduino101-REV4Schematic.pdf|Схема в PDF]]
* [[Media:Arduino101-REV4Schematic.pdf|Схема в PDF]]
Строка 66: Строка 66:
==Программирование==
==Программирование==


Плату '''Arduino 101''' можно программировать через '''IDE Arduino''' (среду разработки '''Arduino'''). Зайдите в нее, а потом кликните на '''Инструменты > Плата > Arduino/Genuino 101 (Tools > Board > Arduino/Genuino 101)''', чтобы '''IDE Arduino''' понимала, с каким микроконтроллером ей придется иметь дело. О языке программирования '''Arduino''' читайте [[Arduino:Справочник_языка_Arduino|тут]], а о руководствах – [https://www.arduino.cc/en/Tutorial/HomePage тут].
Плату [[Arduino 101]] можно программировать через [[IDE Arduino]] (среду разработки [[Arduino]]). Зайдите в нее, а потом кликните на ''Инструменты > Плата > Arduino/Genuino 101 (Tools > Board > Arduino/Genuino 101)'', чтобы [[IDE Arduino]] понимала, с каким [[микроконтроллер]]ом ей придется иметь дело. О языке программирования [[Arduino]] читайте [[Arduino:Справочник_языка_Arduino|тут]], а о руководствах – [https://www.arduino.cc/en/Tutorial/HomePage тут].


Плата поставляется уже запрограммированной при помощи '''RTOS''', которая управляет '''USB'''-соединением и позволяет загружать новый код без использования внешнего аппаратного программатора. Коммуникация осуществляется через протокол '''DFU'''.
Плата поставляется уже запрограммированной при помощи [[RTOS]], которая управляет USB-соединением и позволяет загружать новый код без использования внешнего аппаратного программатора. Коммуникация осуществляется через [[протокол DFU]].


== Отличия от других плат ==
== Отличия от других плат ==


Плата '''Arduino 101''' имеет несколько общих функций с '''Uno''' (коннекторы, периферия) и '''Zero''' ('''32-битный микроконтроллер''', '''I/O''' контакты с рабочим напряжением '''3,3 вольта'''), но при этом оснащена контроллером, имеющим пониженное энергопотребление, встроенным '''BLE''' и датчиками движения.
Плата [[Arduino 101]] имеет несколько общих функций с [[Uno]] (коннекторы, периферия) и [[Zero]] (32-битный микроконтроллер, I/O контакты с рабочим напряжением 3,3 вольта), но при этом оснащена [[контроллер]]ом, имеющим пониженное энергопотребление, встроенным [[BLE]] и датчиками движения.


== Прошивка ==
== Прошивка ==


Для платы '''101''' периодически выходит апдейт прошивки, и он загружается в самую последнюю версию '''IDE Arduino'''. Чтобы автоматически обновить прошивку '''Arduino 101''', просто кликните по '''Инструменты > Записать загрузчик (Tools > Burn Bootloader)'''.
Для платы 101 периодически выходит апдейт прошивки, и он загружается в самую последнюю версию [[IDE Arduino]]. Чтобы автоматически обновить прошивку [[Arduino 101]], просто кликните по ''Инструменты > Записать загрузчик (Tools > Burn Bootloader)''.


Если вам хочется скомпилировать собственную прошивку, исходный код и подробности об использовании ищите на [https://downloadcenter.intel.com/download/25832 сайте Intel].
Если вам хочется скомпилировать собственную прошивку, исходный код и подробности об использовании ищите на [https://downloadcenter.intel.com/download/25832 сайте Intel].
Строка 82: Строка 82:
== Питание ==
== Питание ==


Плату '''Arduino 101''' можно запитать через '''USB'''-соединение или внешний источник питания. Источник питания выбирается автоматически.
Плату [[Arduino 101]] можно запитать через USB-соединение или внешний источник питания. Источник питания выбирается автоматически.


Внешним (не '''USB''') источником питания может быть либо адаптер, конвертирующий переменный ток в постоянный, либо батарея. Адаптер можно подключить, вставив '''2,1-миллиметровый штекер''' с положительным центральным контактом в разъем для питания на '''Arduino'''. Провода от батареи можно подключить к контактам '''GND''' и '''Vin''' на коннекторе '''POWER'''.
Внешним (не [[USB]]) источником питания может быть либо адаптер, конвертирующий переменный ток в постоянный, либо батарея. Адаптер можно подключить, вставив 2,1-миллиметровый штекер с положительным центральным контактом в разъем для питания на [[Arduino]]. Провода от батареи можно подключить к контактам GND и Vin на коннекторе POWER.


Контакты коннектора '''POWER''' (т.е. коннектора, через который на плату подается питание):
Контакты коннектора POWER (т.е. коннектора, через который на плату подается питание):
* '''Vin''' – контакт для подачи на '''Arduino 101''' входного напряжения, когда используется внешний источник питания (в противовес '''5 вольтам''' от '''USB'''-соединения или другого регулированного источника питания). Вы можете подать напряжение на этот контакт напрямую, либо через разъем для питания, который имеет доступ к этому контакту.
* '''Vin''' – контакт для подачи на [[Arduino 101]] входного напряжения, когда используется внешний источник питания (в противовес 5 вольтам от USB-соединения или другого регулированного источника питания). Вы можете подать напряжение на этот контакт напрямую, либо через разъем для питания, который имеет доступ к этому контакту.
* '''5V''' – дает отрегулированные '''5 вольт''' от регулятора платы. Плату можно питать либо от '''DC'''-разъема для питания ('''7-12 вольт'''), либо через '''USB'''-коннектор ('''5 вольт'''), либо через '''Vin'''-контакт ('''7-12 вольт'''). Подача напряжения через '''5-вольтовый''' и '''3,3-вольтовый контакты''' идет в обход регулятора, поэтому если напряжение не будет отрегулировано, то может повредить плату. Делать это не рекомендуется.
* '''5V''' – дает отрегулированные 5 вольт от регулятора платы. Плату можно питать либо от [[DC-разъем]]а для питания (7-12 вольт), либо через USB-коннектор (5 вольт), либо через Vin-контакт (7-12 вольт). Подача напряжения через 5-вольтовый и 3,3-вольтовый контакты идет в обход регулятора, поэтому если напряжение не будет отрегулировано, то может повредить плату. Делать это не рекомендуется.
* '''3V3''' – напряжение в '''3,3 вольт''', генерируемое встроенным регулятором платы. Максимальное потребление тока – '''1500 миллиампер'''. Этот регулятор также обеспечивает питанием микроконтроллер '''Curie'''.
* '''3V3''' – напряжение в 3,3 вольт, генерируемое встроенным регулятором платы. Максимальное потребление тока – 1500 миллиампер. Этот регулятор также обеспечивает питанием [[микроконтроллер Curie]].
* '''GND''' – контакты для '''«земли»'''.
* '''GND''' – контакты для ''«земли»''.
* '''IOREF''' – этот контакт является источником эталонного напряжения, необходимого для работы контроллера. Правильно настроенный '''«шилд»''' может прочитать напряжение на этом контакте и выбрать нужный источник питания или включить на выходных устройствах преобразователи, позволяющие работать либо с '''5''', либо с '''3,3 вольтами'''.
* '''IOREF''' – этот контакт является источником эталонного напряжения, необходимого для работы [[контроллер]]а. Правильно настроенный «шилд» может прочитать напряжение на этом контакте и выбрать нужный источник питания или включить на выходных устройствах преобразователи, позволяющие работать либо с 5, либо с 3,3 вольтами.


==Память==
==Память==


Память модуля '''Intel Curie''' поделена между двумя микроконтроллерами, поэтому ваш скетч может использовать '''196 Кб''' из '''384 Кб''' ('''flash'''-память) и '''24 Кб''' из '''80 Кб (SRAM)'''.
Память модуля [[Intel Curie]] поделена между двумя микроконтроллерами, поэтому ваш скетч может использовать 196 Кб из 384 Кб ([[flash-память]]) и 24 Кб из 80 Кб ([[SRAM]]).


==Входные и выходные контакты==
==Входные и выходные контакты==


Любой из '''20 контактов''' общего пользования '''Arduino 101''' можно использовать и для цифрового ввода, и для цифрового вывода – при помощи функций [[Arduino:Справочник языка Arduino/Функции/Цифровой ввод/вывод/pinMode()|pinMode()]], [[Arduino:Справочник языка Arduino/Функции/Цифровой ввод/вывод/digitalWrite()|digitalWrite()]] и [[Arduino:Справочник языка Arduino/Функции/Цифровой ввод/вывод/digitalRead()|digitalRead()]]. Контакты, на которых можно выводить '''ШИМ''' – это '''3-ий''', '''5-ый''', '''6-ой''' и '''9-ый''', и для этого понадобится функция [[Arduino:Справочник языка Arduino/Функции/Аналоговый ввод/вывод/analogWrite()|analogWrite()]]. Все контакты работают на '''3,3 вольтах''' и могут быть использованы в качестве источника прерывания. Более подробно читайте в статье о функции [[Arduino:Справочник языка Arduino/Функции/Внешние прерывания/attachInterrupt()|attachInterrupt()]]. Каждый контакт может получать/отдавать '''не более 20 миллиампер'''.
Любой из 20 контактов общего пользования [[Arduino 101]] можно использовать и для цифрового ввода, и для цифрового вывода – при помощи функций [[Arduino:Справочник языка Arduino/Функции/Цифровой ввод/вывод/pinMode()|pinMode()]], [[Arduino:Справочник языка Arduino/Функции/Цифровой ввод/вывод/digitalWrite()|digitalWrite()]] и [[Arduino:Справочник языка Arduino/Функции/Цифровой ввод/вывод/digitalRead()|digitalRead()]]. Контакты, на которых можно выводить [[ШИМ]] – это 3-ий, 5-ый, 6-ой и 9-ый, и для этого понадобится функция [[Arduino:Справочник языка Arduino/Функции/Аналоговый ввод/вывод/analogWrite()|analogWrite()]]. Все контакты работают на 3,3 вольтах и могут быть использованы в качестве источника прерывания. Более подробно читайте в статье о функции [[Arduino:Справочник языка Arduino/Функции/Внешние прерывания/attachInterrupt()|attachInterrupt()]]. Каждый контакт может получать/отдавать не более 20 миллиампер.


Кроме того, у некоторых контактов есть специальные функции:
Кроме того, у некоторых контактов есть специальные функции:
* '''Последовательная передача данных''': '''0-ой (RX)''' и '''1-ый (TX)''' контакты. Используются для получения ('''RX''') и передачи ('''TX''') последовательных '''TTL'''-данных. На этих контактах используется класс '''Serial1'''.
* '''Последовательная передача данных''': 0-ой (RX) и 1-ый (TX) контакты. Используются для получения (RX) и передачи (TX) последовательных TTL-данных. На этих контактах используется класс Serial1.
* '''Внешние прерывания на всех контактах.''' Эти контакты можно настроить на запуск прерывания при переключении на значение [[Arduino:Справочник языка Arduino/Константы/LOW|LOW]], на значение [[Arduino:Справочник языка Arduino/Константы/HIGH|HIGH]], нарастающем/убывающем фронте импульса или изменении значения (этот фактор поддерживается только на '''2-ом''', '''5-ом''', '''7-ом''', '''8-ом''', '''10-ом''', '''11-ом''', '''12-ом''' и '''13-ом''' контактах). Более подробно читайте в статье о [[Arduino:Справочник_языка_Arduino/Функции/Внешние_прерывания/attachInterrupt()|функции attachInterrupt()]].
* '''Внешние прерывания на всех контактах'''. Эти контакты можно настроить на запуск прерывания при переключении на значение [[Arduino:Справочник языка Arduino/Константы/LOW|LOW]], на значение [[Arduino:Справочник языка Arduino/Константы/HIGH|HIGH]], нарастающем/убывающем фронте импульса или изменении значения (этот фактор поддерживается только на 2-ом, 5-ом, 7-ом, 8-ом, 10-ом, 11-ом, 12-ом и 13-ом контактах). Более подробно читайте в статье о [[Arduino:Справочник_языка_Arduino/Функции/Внешние_прерывания/attachInterrupt()|функции attachInterrupt()]].
* '''Интерфейс SPI''': '''10-ый (SS)''', '''11-ый (MOSI)''', '''12-ый (MISO)''' и '''13-ый (SCK)''' контакты. Они поддерживают '''SPI'''-коммуникацию при помощи [[Arduino:Библиотеки/SPI|библиотеки SPI]].
* '''Интерфейс SPI''': 10-ый (SS), 11-ый (MOSI), 12-ый (MISO) и 13-ый (SCK) контакты. Они поддерживают [[SPI]]-коммуникацию при помощи [[Arduino:Библиотеки/SPI|библиотеки SPI]].
* '''Встроенный светодиод''': '''13-ый''' контакт. Это светодиод, по умолчанию встроенный в плату '''Arduino''' и управляемый '''13-ым''' цифровым контактом. Если на этот контакт подано значение [[Arduino:Справочник языка Arduino/Константы/HIGH|HIGH]], то светодиод включится, а если [[Arduino:Справочник языка Arduino/Константы/LOW|LOW]], то выключится.
* '''Встроенный [[светодиод]]''': 13-ый контакт. Это [[светодиод]], по умолчанию встроенный в плату [[Arduino]] и управляемый 13-ым цифровым контактом. Если на этот контакт подано значение [[Arduino:Справочник языка Arduino/Константы/HIGH|HIGH]], то [[светодиод]] включится, а если [[Arduino:Справочник языка Arduino/Константы/LOW|LOW]], то выключится.
* '''Входные аналоговые контакты'''. Шесть из двадцати '''I/O''' контактов на '''Arduino 101''' можно использовать как входные аналоговые контакты. Они названы '''от A0 до A5''' и имеют '''10-битное разрешение''' (т.е. позволяют работать с данными в диапазоне '''от 1 до 1024'''). Вольтовой диапазон на них составляет '''от 0 до 3,3 вольт'''.  
* '''Входные аналоговые контакты'''. Шесть из двадцати I/O контактов на [[Arduino 101]] можно использовать как входные аналоговые контакты. Они названы от A0 до A5 и имеют 10-битное разрешение (т.е. позволяют работать с данными в диапазоне от 1 до 1024). Вольтовой диапазон на них составляет от 0 до 3,3 вольт.  
* '''Интерфейс TWI''': контакты для '''SDA''' и '''SCL'''. Они поддерживают '''TWI'''-коммуникацию при помощи [[Arduino:Библиотеки/Wire|библиотеки Wire]].
* '''Интерфейс [[TWI]]''': контакты для [[SDA]] и [[SCL]]. Они поддерживают [[TWI]]-коммуникацию при помощи [[Arduino:Библиотеки/Wire|библиотеки Wire]].


=См.также=
=См.также=
Строка 115: Строка 115:
<references />
<references />


{{Навигационная таблица/Справочник языка Arduino}}
{{Навигационная таблица/Arduino библиотеки}}
{{Навигационная таблица/Arduino продукты}}
{{Навигационная таблица/Arduino продукты}}
{{Навигационная таблица/Arduino продукты}}
{{SEO
{{SEO
|Заголовок статьи=Arduino 101
|Заголовок статьи=Arduino 101

Версия от 18:21, 15 декабря 2021

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Рис. 1. Фото плат Arduino 101 и Genuino 101
Рис. 1. Фото плат Arduino 101 и Genuino 101

Arduino 101[1]

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

Она похожа и имеет те же компоненты, что и Arduino Uno, но вдобавок оснащена BLE-функционалом и 6-осевым акселерометром/гироскопом.

Модуль Intel Curie содержит два маленьких ядра, x86 (Quark) и 32-битное архитектурное ядро ARC; тактовая частота обоих ядер составляет 32 МГц.

Операционные системы реального времени (или RTOS, что значит «real-time operating system») и фреймворки, разработанные Intel, распространяются по принципу «open source». Ссылку для загрузки ищите ниже, в разделе «Прошивка». Ядро Arduino «общается» с RTOS при помощи статичных «мейлбоксов» (от «mailbox»), с их помощью выполняя самые разнообразные задачи (создание интерфейса с PC при помощи USB, программирование скетча на flash-памяти, подключение к скетчу BLE-функционала, выполнение ШИМ). Работа над RTOS для Intel Curie по-прежнему продолжается, поэтому в будущем для нее будут выходить новые функции и опции.

Модель Arduino 101 идет с 14 цифровыми I/O контактами (из которых 4 можно использовать для ШИМ), 6 аналоговыми контактами, USB-коннектором для последовательной коммуникации и загрузки скетча, разъемом для питания, ICSP-гребешком, а также отдельными контактами для интерфейсов SPI и I2C.

Рабочим напряжением для платы и I/O контактов является 3,3 вольта, причем все контакты имеют защиту от 5-вольтовой перегрузки.

Плата Arduino 101 разработана в сотрудничестве с Intel.

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

Если нужна помощь, то...

С чего начать

Тут можно почитать о совместном использовании интегрированных акселерометра и гироскопа, тут – о том, как сделать счетчик шагов, а здесь – датчик сердцебиения, для создания которого используется BLE-функционал Arduino 101.

О других проектах, которые можно создать на базе Arduino 101, читайте на Arduino Project Hub – разделе на сайте Arduino, содержащем руководства по созданию различных проектов. Вот пара примеров оттуда:

Технические характеристики

Документация

Arduino 101 – это устройство, распространяемое по принципу «open-source». Вы можете создать собственную плату, используя следующие файлы:

Программирование

Плату Arduino 101 можно программировать через IDE Arduino (среду разработки Arduino). Зайдите в нее, а потом кликните на Инструменты > Плата > Arduino/Genuino 101 (Tools > Board > Arduino/Genuino 101), чтобы IDE Arduino понимала, с каким микроконтроллером ей придется иметь дело. О языке программирования Arduino читайте тут, а о руководствах – тут.

Плата поставляется уже запрограммированной при помощи RTOS, которая управляет USB-соединением и позволяет загружать новый код без использования внешнего аппаратного программатора. Коммуникация осуществляется через протокол DFU.

Отличия от других плат

Плата Arduino 101 имеет несколько общих функций с Uno (коннекторы, периферия) и Zero (32-битный микроконтроллер, I/O контакты с рабочим напряжением 3,3 вольта), но при этом оснащена контроллером, имеющим пониженное энергопотребление, встроенным BLE и датчиками движения.

Прошивка

Для платы 101 периодически выходит апдейт прошивки, и он загружается в самую последнюю версию IDE Arduino. Чтобы автоматически обновить прошивку Arduino 101, просто кликните по Инструменты > Записать загрузчик (Tools > Burn Bootloader).

Если вам хочется скомпилировать собственную прошивку, исходный код и подробности об использовании ищите на сайте Intel.

Питание

Плату Arduino 101 можно запитать через USB-соединение или внешний источник питания. Источник питания выбирается автоматически.

Внешним (не USB) источником питания может быть либо адаптер, конвертирующий переменный ток в постоянный, либо батарея. Адаптер можно подключить, вставив 2,1-миллиметровый штекер с положительным центральным контактом в разъем для питания на Arduino. Провода от батареи можно подключить к контактам GND и Vin на коннекторе POWER.

Контакты коннектора POWER (т.е. коннектора, через который на плату подается питание):

  • Vin – контакт для подачи на Arduino 101 входного напряжения, когда используется внешний источник питания (в противовес 5 вольтам от USB-соединения или другого регулированного источника питания). Вы можете подать напряжение на этот контакт напрямую, либо через разъем для питания, который имеет доступ к этому контакту.
  • 5V – дает отрегулированные 5 вольт от регулятора платы. Плату можно питать либо от DC-разъема для питания (7-12 вольт), либо через USB-коннектор (5 вольт), либо через Vin-контакт (7-12 вольт). Подача напряжения через 5-вольтовый и 3,3-вольтовый контакты идет в обход регулятора, поэтому если напряжение не будет отрегулировано, то может повредить плату. Делать это не рекомендуется.
  • 3V3 – напряжение в 3,3 вольт, генерируемое встроенным регулятором платы. Максимальное потребление тока – 1500 миллиампер. Этот регулятор также обеспечивает питанием микроконтроллер Curie.
  • GND – контакты для «земли».
  • IOREF – этот контакт является источником эталонного напряжения, необходимого для работы контроллера. Правильно настроенный «шилд» может прочитать напряжение на этом контакте и выбрать нужный источник питания или включить на выходных устройствах преобразователи, позволяющие работать либо с 5, либо с 3,3 вольтами.

Память

Память модуля Intel Curie поделена между двумя микроконтроллерами, поэтому ваш скетч может использовать 196 Кб из 384 Кб (flash-память) и 24 Кб из 80 Кб (SRAM).

Входные и выходные контакты

Любой из 20 контактов общего пользования Arduino 101 можно использовать и для цифрового ввода, и для цифрового вывода – при помощи функций pinMode(), digitalWrite() и digitalRead(). Контакты, на которых можно выводить ШИМ – это 3-ий, 5-ый, 6-ой и 9-ый, и для этого понадобится функция analogWrite(). Все контакты работают на 3,3 вольтах и могут быть использованы в качестве источника прерывания. Более подробно читайте в статье о функции attachInterrupt(). Каждый контакт может получать/отдавать не более 20 миллиампер.

Кроме того, у некоторых контактов есть специальные функции:

  • Последовательная передача данных: 0-ой (RX) и 1-ый (TX) контакты. Используются для получения (RX) и передачи (TX) последовательных TTL-данных. На этих контактах используется класс Serial1.
  • Внешние прерывания на всех контактах. Эти контакты можно настроить на запуск прерывания при переключении на значение LOW, на значение HIGH, нарастающем/убывающем фронте импульса или изменении значения (этот фактор поддерживается только на 2-ом, 5-ом, 7-ом, 8-ом, 10-ом, 11-ом, 12-ом и 13-ом контактах). Более подробно читайте в статье о функции attachInterrupt().
  • Интерфейс SPI: 10-ый (SS), 11-ый (MOSI), 12-ый (MISO) и 13-ый (SCK) контакты. Они поддерживают SPI-коммуникацию при помощи библиотеки SPI.
  • Встроенный светодиод: 13-ый контакт. Это светодиод, по умолчанию встроенный в плату Arduino и управляемый 13-ым цифровым контактом. Если на этот контакт подано значение HIGH, то светодиод включится, а если LOW, то выключится.
  • Входные аналоговые контакты. Шесть из двадцати I/O контактов на Arduino 101 можно использовать как входные аналоговые контакты. Они названы от A0 до A5 и имеют 10-битное разрешение (т.е. позволяют работать с данными в диапазоне от 1 до 1024). Вольтовой диапазон на них составляет от 0 до 3,3 вольт.
  • Интерфейс TWI: контакты для SDA и SCL. Они поддерживают TWI-коммуникацию при помощи библиотеки Wire.

См.также

Внешние ссылки