====== 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}}