====== Espruino MDBT42Q Breakout: распиновка, схема подключения и программирование ======
Espruino MDBT42Q Breakout — миниатюрная платформа для разработки со встроенным интерпретатором JavaScript. Плата выполнена на модуле MDBT42Q с чипом Nordic nRF52840, который обеспечивает беспроводную связь и прошивку по Bluetooth v5.0.
{{ :products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout.jpg?nolink |}}
Платформа MDBT42Q Breakout поставляется в двух вариантах исполнения:
* [[amp>product/espruino-mdbt42q-breakout-with-headers?utm_source=man&utm_campaign=espruino-mdbt42q-breakout&utm_medium=wiki|Espruino MDBT42Q Breakout (с ногами)]] пригодится для разработки и прототипирования устройств на [[amp>collection/breadboards?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|макетной плате]].
* [[amp>product/espruino-mdbt42q-breakout?utm_source=man&utm_campaign=espruino-mdbt42q-breakout&utm_medium=wiki|Espruino MDBT42Q Breakout (без ног)]] для установки в самых труднодоступных местах.
В данном руководстве мы будем рассматривать коммуникацию платформы именно с припаянными контактными штырьками. Если у вас версия без ног, припаяйте [[amp>product/pin-headers?utm_source=man&utm_campaign=espruino-mdbt42q-breakout&utm_medium=wiki|прямые]] и [[amp>product/pin-header-right-angle-1x40?utm_source=man&utm_campaign=espruino-mdbt42q-breakout&utm_medium=wiki|угловые]] контактные штырьки самостоятельно.
===== Подключение и настройка =====
Платформа поддерживает два типа подключения и отладки:
* [[#беспроводное_подключение|По беспроводному протоколу BLE]]
* [[#проводное_подключение|По проводному последовательному интерфейсу UART]]
==== Беспроводное подключение ====
Рассмотрим беспроводной способ коммуникации с платформой.
{{ :products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-wireless.jpg?nolink&600 |}}
=== Шаг 1 ===
Для старта подключите к плате Espruino MDBT42Q линию питания и земли. Для коммуникации понадобиться:
* [[amp>product/espruino-mdbt42q-breakout-with-headers?utm_source=man&utm_campaign=espruino-mdbt42q-breakout&utm_medium=wiki|Espruino MDBT42Q Breakout (с ногами)]]
* [[amp>product/breadboard-half?utm_source=man&utm_campaign=espruino-mdbt42q-breakout&utm_medium=wiki|Макетная плата (Half)]]
* [[amp>product/troyka-usb-power-pad?utm_source=man&utm_campaign=espruino-mdbt42q-breakout&utm_medium=wiki|USB Power Pad (Troyka-модуль)]]
* [[amp>product/wire-mm?utm_source=man&utm_campaign=espruino-mdbt42q-breakout&utm_medium=wiki|Соединительные провода «папа-папа»]]
{{ :products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-wiring-troyka-power-usb.png?nolink |}}
=== Шаг 2 ===
Для работы с платой Espruino MDBT42Q по беспроводному протоколу Bluetooth добавьте и настройте в Google Chrome среду программирования [[js:ide|Espruino Web IDE]].
==== Проводное подключение ====
Если у вас на ПК отсутствует Bluetooh-модуль или вы сторонник проводной системы — используйте проводной способ коммуникации с платформой.
{{ :products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-wiring.jpg?nolink&600 |}}
=== Шаг 1 ====
Так как на плате отсутствует USB, для коммуникации с компьютером нам понадобиться USB-UART преобразователь, а подробнее:
* [[amp>product/espruino-mdbt42q-breakout-with-headers?utm_source=man&utm_campaign=espruino-mdbt42q-breakout&utm_medium=wiki|Espruino MDBT42Q Breakout (с ногами)]]
* [[amp>product/breadboard-half?utm_source=man&utm_campaign=espruino-mdbt42q-breakout&utm_medium=wiki|Макетная плата (Half)]]
* [[amp>product/troyka-usb-uart?utm_source=man&utm_campaign=espruino-mdbt42q-breakout&utm_medium=wiki|USB-UART преобразователь]]
* [[amp>product/wire-fm?utm_source=man&utm_campaign=espruino-mdbt42q-breakout&utm_medium=wiki|Соединительные провода «папа-мама»]]
{{ :products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-wiring-troyka-usb-uart.png?nolink |}}
=== Шаг 2 ===
Для работы с платой Espruino MDBT42Q добавьте и настройте в Google Chrome среду программирования [[js:ide|Espruino Web IDE]].
===== Пример работы =====
В качестве примера прошьём платформу Espruino MDBT42Q скриптом, который каждую секунду будет переключать встроенные светодиоды ''LED1'' и ''LED2''.
// переменная состояния светодиода
var state = false;
// каждую секунду переключаем светодиоды
// один включаем, другой выключаем
setInterval(function() {
state = !state;
LED1.write(state);
LED2.write(!state);
}, 1000);
{{ :products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-blink.gif?nolink |}}
===== Элементы платы =====
{{ :products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-annotation.png?nolink |}}
==== Модуль MDBT42Q ====
Платформа Breakout выполнена на модуле {{ :products:espruino-mdbt42q-breakout:mdbt42q-datasheet.pdf |MDBT42Q}}, который включает в себя 32-битный микроконтроллер {{ :products:espruino-mdbt42q-breakout:nrf52832-product-specification.pdf |Nordic nRF52840}} на архитектуре ARM Cortex-M4 с тактовой частотой 64 МГц, 512 КБ Flash-памяти и 64 КБ SRAM-памяти.
{{ :products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-composed.png?nolink |}}
Чип Nordic nRF52840 так же обеспечивает связь Bluetooth v5.0 в диапазоне 2,4 ГГц и поддерживает энергосберегающий протокол Bluetooth Low Energy (BLE). Всё это позволяет прошивать и отлаживать платформу MDBT42Q Breakout через Espruino Web IDE прямо по воздуху.
==== Светодиодная индикация ====
^ Имя светодиода ^ Назначение ^
| LED1 | Пользовательский светодиод красного цвета на ''D1'' пине микроконтроллера. Используйте определение ''LED1'' для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается.|
| LED2 | Пользовательский светодиод зелёного цвета на ''D2'' пине микроконтроллера. Используйте определение ''LED2'' для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается.|
==== Понижающий регулятор 3V3 ====
Линейный понижающий регулятор напряжения {{ :products:espruino-mdbt42q-breakout:mcp1703t-3302e-datasheet.pdf |MCP1703T-3302E}} обеспечивает питание модуля [[#модуль_mdbt42q|MDBT42Q]] и другой логики платы при подключении питания через пин ''VIN''. Диапазон входного напряжения от 3,6 до 16 вольт. Выходное напряжение 3,3 В с максимальным выходным током 250 мА.
==== Пользовательская кнопка ====
Пользовательская кнопка с двумя полезными функциями:
* Кнопка подключёна к ''D0'' цифровому пину микроконтроллера и пригодиться для создания и теста простых программ, без подключения дополнительных тактильных сенсоров. Для работы в программе используйте определение ''BTN''.
* Кнопка также может переводить плату в DFU-режим. Это позволит [[js:ide:dfu-firmware|перепрошить или обновить интерпретатор JavaScript]] в микроконтроллер без дополнительного программатора. Для перевода в DFU-режим:
* Отключите питание от платформы.
* Зажмите пользовательскую кнопку.
* Подключите питание к платформе и отпустите кнопку.
===== Распиновка =====
[[this>_media/products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-pinout.pdf|{{:products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-pinout.png}}]]
На плате Espruino MDBT42Q Breakout с двух сторон выведено по 11 контактов, со стандартным шагом 2,54 мм. Если вам мало пинов и хотите получить доступ к дополнительным ножкам микроконтроллера, воспользуйтесь отдельным разъёмом на 5 пинов также с шагом 2,54 мм.
==== Пины питания ====
* **VIN** Входной пин для подключения внешнего источника напряжения в диапазоне от 3,5 до 16 вольт.
* **3V3** Выходной пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 250 мА. Регулятор обеспечивает питание модуля [[#модуль_mdbt42q|MDBT42Q]] и другой вспомогательной логики платы.
* **GND** Выводы земли.
==== Порты ввода/вывода ====
В отличие от большинства плат Arduino, родным напряжением Espruino MDBT42Q является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Более высокое напряжение может повредить микроконтроллер!
Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений.
* **Цифровые входы/выходы** 22 пина: ''D3''–''D8'', ''D11'', ''D14''–''D20'', ''D22'', и ''D25''–''D31''\\ Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 15 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.\\ Пины ''D9'' и ''D10'' предназначены для подключения NFC-антенны и по умолчанию не могут использоваться как GPIO.
* **ШИМ** все пины ввода-вывода\\ Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ установлена в 12 бит. Платформа поддерживает 4 канала аппаратного ШИМ-сигнала, каждый последующий становиться программным.
* **АЦП** 7 пинов: ''D3''–''D5'' и ''D28''–''D31''\\ Позволяет представить аналоговое напряжение в виде цифровом виде. Разрядность АЦП установлена в 12 бит.
* **NFC** 2 пина: ''D9'' и ''D10''\\ Пины для подключения внешней NFC-антенны.
==== Интерфейсы ====
Каждый пин ввода-вывода платформы поддерживает аппаратные интерфейсы.
^ Интерфейс ^ Количество ^ Назначение ^
|I²C| 1 | Используется для общения с периферией по параллельному интерфейсу «I²C».|
|SPI| 1 | Для общения с периферией по последовательному интерфейсу «SPI».|
|UART/Serial| 1 | Для общения с периферией по интерфейсу «UART».|
===== Принципиальная и монтажная схемы =====
{{:products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-schematic.png?direct&400 |}}
{{ :products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-layout-top.png?direct&220|}}
{{ :products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-layout-bottom.png?direct&220|}}
===== Габаритный чертёж =====
[[this>_media/products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-dimensions.pdf|{{:products:espruino-mdbt42q-breakout:espruino-mdbt42q-breakout-dimensions.png}}]]
===== Характеристики =====
* Модуль: MDBT42Q с чипом nRF52832
* Ядро: 32-битный ARM Cortex M4
* Частотный диапазон связи: 2,4 ГГц
* Стандарт связи: Bluetooth v5.0 с поддержкой BLE
* Тактовая частота: 64 МГц
* Flash-память: 512 КБ
* SRAM-память: 64 КБ
* Пинов ввода-вывода всего: 22
* Напряжение логических уровней: 3,3 В
* Пины с АЦП: 7
* Разрядность АЦП: 12 бит
* Пины с ШИМ: 22
* Разрядность ШИМ: 12 бит
* Аппаратных интерфейсов SPI: 1
* Аппаратных интерфейсов I²C / TWI: 1
* Аппаратных интерфейсов UART / Serial: 1
* Максимальный ток с пина или на пин: 15 мА
* Максимальный выходной ток пина 3V3: 250 мA
* Входное напряжение через пин Vin: 3,5–16 В
* Габариты платы: 28×18 мм
===== Ресурсы =====
* [[amp>product/espruino-mdbt42q-breakout?utm_source=man&utm_campaign=:espruino-mdbt42q-breakout&utm_medium=wiki|Espruino MDBT42Q Breakout (без ног)]] в магазине.
* [[amp>product/espruino-mdbt42q-breakout-with-headers?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|Espruino MDBT42Q Breakout (с ногами)]] в магазине.
* [[https://github.com/amperka/hardware-drawings/blob/master/espruino-mdbt42q-breakout.svg|Векторное изображение Espruino MDBT42Q Breakout (без ног)]]
* [[https://github.com/amperka/hardware-drawings/blob/master/espruino-mdbt42q-breakout-with-headers.svg|Векторное изображение Espruino MDBT42Q Breakout (с ногами)]]
* [[js:ide|Как настроить платформу MDBT42Q Breakout со средой Espruino Web IDE]]
* [[js:start|Учебные и справочные материалы по JavaScript’у в микроконтроллере]]
* {{ :products:espruino-mdbt42q-breakout:mdbt42q-datasheet.pdf |Datasheet на модуль MDBT42Q}}
* {{ :products:espruino-mdbt42q-breakout:nrf52832-product-specification.pdf |Product Specification на nRF52832}}
* {{ :products:espruino-mdbt42q-breakout:mcp1703t-3302e-datasheet.pdf |Datasheet на понижающий регулятор 3V3 MCP1703T-3302E}}
* {{ :products:espruino-mdbt42q-breakout:mdbt42q-breakout-scheme.zip |Исходники платы в Eagle}}