====== Espruino Pico: распиновка, схема подключения и программирование ====== Espruino Pico — миниатюрная платформа для разработки со встроенным интерпретатором JavaScript. {{ :products:espruino-pico:espruino-pico.jpg?nolink |}} Платформа Espruino Pico поставляется в двух вариантах исполнения: * [[amp>product/espruino-pico-with-headers?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|Espruino Pico (с ногами)]] пригодится для разработки и прототипирования устройств на [[amp>collection/breadboards?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|макетной плате]]. * [[amp>product/espruino-pico?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|Espruino Pico (без ног)]] для установки в самых труднодоступных местах. ===== Видеообзор ====== {{youtube>Q5bT34Lf4gY?large}} ===== Подключение и настройка ===== ==== Шаг 1 ==== Подключите платформу Espruino Pico в USB-порт компьютера. Плата выполнена в виде USB-стика, так что процесс аналогичен подключению обычной флешки.{{ :products:espruino-pico:espuino-pico-getting-started.png?nolink |}} ==== Шаг 2 ==== Для работы с платой Espruino Pico добавьте и настройте в Google Chrome среду программирования [[js:ide|Espruino Web IDE]]. ===== Пример работы ===== В качестве примера прошьём платформу Espruino Pico скриптом, который каждую секунду будет переключать встроенные светодиоды ''LED1'' и ''LED2''. // переменная состояния светодиода var state = false; // каждую секунду переключаем светодиоды // один включаем, другой выключаем setInterval(function() { state = !state; LED1.write(state); LED2.write(!state); }, 1000); {{ :products:espruino-pico:espruino-pico-blink.gif?nolink |}} ===== Элементы платы ===== {{ :products:espruino-pico:espruino-pico-annotation.png?nolink |}} ==== Микроконтроллер STM32F401CDU6 ==== Сердцем платформы является 32-битный микроконтроллер семейства ARM — {{ :products:espruino-pico:stm32f401cdu6-datasheet.pdf |STM32F401CDU6}} с тактовой частотой до 84 МГц. Контроллер предоставляет 384 КБ Flash-памяти для хранения прошивки и 96 КБ оперативной памяти SRAM для хранения временных данных. ==== USB-порт ==== Плата выполнена в виде USB-стика Type-A, что позволяет включать устройство непосредственно в USB-порт компьютера без дополнительных кабелей аналогично обычной флешке. ==== Светодиодная индикация ==== ^ Имя светодиода ^ Назначение ^ | LED1 | Пользовательский светодиод красного цвета на ''B2'' пине микроконтроллера. Используйте определение ''LED1'' для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается.| | LED2 | Пользовательский светодиод зелёного цвета на ''B12'' пине микроконтроллера. Используйте определение ''LED2'' для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается.| ==== Понижающий регулятор 3V3 ==== Линейный понижающий регулятор напряжения {{ :products:espruino-pico:mcp1703t-3302e-datasheet.pdf |MCP1703T-3302E}} обеспечивает питание микроконтроллера [[#микроконтроллер_stm32f401cdu6|STM32F401CDU6]] и другой логики платформы при подключении питания через USB или пин ''Vin''. Диапазон входного напряжения от 3,6 до 16 вольт. Выходное напряжение 3,3 В с максимальным выходным током 250 мА. ==== Пользовательская кнопка ==== Пользовательская кнопка подключённая к ''C13'' цифровому пину микроконтроллера. Для работы в программе используйте определение ''BTN''. Кнопка пригодиться для создания и теста простых программ, без подключения дополнительных тактильных сенсоров. Кнопка также может переводить плату в [[#dfu-режим|DFU-режим]], если замкнуть на обратной стороне контактную площадку BOOT0. ==== Площадки под USB Mini ==== На обратной стороне платы под маской расположены контактные площадки под пайку для разъёма mini-USB, который позволит подключать платформу с помощью [[amp>product/usb-cable-mini?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|кабеля USB (A — Mini USB)]]. {{ :products:espruino-pico:espruino-pico-usb-mini.png?nolink |}} ==== Площадки под JST-разъём ==== Контактные колодки под пайку для внешнего разъёма JST-PH-2, через который удобно подключать внешний аккумулятор. Входное напряжение от 3,5 до 16 вольт. {{ :products:espruino-pico:espruino-pico-jst-battery-connect.png?nolink |}} ==== DFU-режим ==== Если капнуть припоем на контактную площадку, то [[#пользовательская_кнопка|встроенная кнопка на плате]] получит возможность включать платформу в DFU-режиме. Это позволит [[js:ide:dfu-firmware|перепрошить или обновить интерпретатор JavaScript]] в микроконтроллер по USB без дополнительного программатора. - Замкните контактную площадку каплей олова.{{ :products:espruino-pico:espruino-pico-dfu.png?nolink |}} - При включении платформы по USB удерживайте [[#пользовательская_кнопка|кнопку]]. ==== Перемычка FET ==== На плате расположен силовой ключ P-Channel {{ :products:espruino-pico:fdn358p-datasheet.pdf |FDN358P}}, который может управлять мощной нагрузкой, например [[amp>product/white-led-strip-sealed?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|светодиодной лентой]] или [[amp>collection/dc-motors?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|коллекторным мотором]] без дополнительных драйверов. Диапазон выходного напряжения повторяет напряжение на пине ''VIN'' c максимально коммутируемым током нагрузки до 1,5 А. По умолчанию управляющий контакт транзистора отключён от микроконтроллера, но если замкнуть перемычку ''FET'', затвор ключа соединиться с цифровым пином ''B0'', с помощью которого вы сможете управлять транзистором.{{ :products:espruino-pico:espruino-pico-fet.png?nolink |}} Отрицательный контакт нагрузки подключается к контакту ''GND'', а положительный — ''VOUT''. Для примера подключим к платформе Espruino Pico батарейный отсек: плюсовой контакт к пину ''VIN'', минусовой — к земле. Батарейный отсек состоит из 6 [[amp>product/battery-aaa-duracell?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|батареек AAA]] c выходным напряжением в сумме 9 вольт. В качестве нагрузки подключим коллекторный мотор напрямую к плате Espruino Pico через встроенный ключ: плюсовой контакт к пину ''VOUT'', минусовой — к земле. В итоге путём управления пином ''BO'' вы сможете включать/выключать и регулировать скорость мотора. {{ :products:espruino-pico:espruino-pico-fet-control.png?nolink |}} ==== SWD-разъём ==== Колодки SWD предназначены для подключения программатора и отладчика ST-Link. ===== Распиновка ===== [[this>_media/products:espruino-pico:espruino-pico-pinout.pdf|{{:products:espruino-pico:espruino-pico-pinout.png}}]] На плате Espruino Pico с двух сторон выведено по 9 контактов, со стандартным шагом 2,54 мм. Если вам мало пинов и хотите получить доступ к дополнительным ножкам микроконтроллера, воспользуйтесь отдельным разъёмом на 8 пинов с шагом 1,27 мм. ==== Пины питания ==== * **VIN** Входной пин для подключения внешнего источника напряжения в диапазоне от 3,5 до 16 вольт. * **VOUT** Выходной пин [[#перемычка_fet|со встроенного силового ключа на плате]] для подключения плюсового контакта управляемой нагрузки. Диапазон выходного напряжения повторяет напряжение на пине ''VIN''. По умолчанию транзистор отключён от цепи управления. * **3V3** Выходной пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 250 мА. Регулятор обеспечивает питание микроконтроллера [[#микроконтроллер_stm32f401cdu6|STM32F401CDU6]] и другой вспомогательной логики платы. * **GND** Выводы земли. ==== Порты ввода/вывода ==== * **Цифровые входы/выходы** 22 пина: ''A0''–''A8'', ''A10'', ''B1'', ''B3''–''B10'' и ''B13''–''B15'' \\ Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 25 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно. * **ШИМ** 21 пинов: ''A0''–''A3'', ''A5''–''A8'', ''A10'', ''B1'', ''B3''–''B10'' и ''B13''–''B15''\\ Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ не меняется и установлена в 16 бит. * **АЦП** 9 пинов: ''A0''–''A7'' и ''A10''\\ Позволяет представить аналоговое напряжение в виде цифровом виде. Разрядность АЦП не меняется и установлена в 12 бит. * **TWI/I²C** Для общения Espruino Pico c [[amp>collection/boards?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|платами расширения]] и [[amp>collection/sensors?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|сенсорами]] по интерфейсу [[js:i2c|I²C]]. * **I²C1**: пины ''SDA1/B8/B9'' и ''SCL1/B6/B9'' * **I²C2**: пины ''SDA2/B3'' и ''SCL2/B10'' * **I²C3**: пины ''SDA3/B4'' и ''SCL3/A8'' * **SPI** Для общения Espruino Pico c [[amp>collection/boards?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|платами расширения]] и [[amp>collection/sensors?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|сенсорами]] по интерфейсу [[js:spi|SPI]]. * **SPI1**: пины ''MOSI1/A7/B5'', ''MISO1/A6/B4'' и ''SCK1/A5/B3'' * **SPI2**: пины ''MOSI2/B15'', ''MISO2/B14'' и ''SCK2/B10/B13'' * **SPI3**: пины ''MOSI3/B5'', ''MISO3/B4'' и ''SCK3/B3'' * **Serial/UART** Для общения Espruino Pico c [[amp>collection/boards?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|платами расширения]] и [[amp>collection/sensors?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|сенсорами]] по интерфейсу [[js:serial|Serial/UART]]. * **Serial1**: пины ''TX1/B6'', ''RX1/A10/B7'' и ''CK1/A8'' * **Serial2**: пины ''TX2/A2'', ''RX2/A3'' и ''CK2/A4'' ===== Принципиальная и монтажная схемы ===== {{:products:espruino-pico:espruino-pico-schematic.png?direct&480 |}} {{ :products:espruino-pico:espruino-pico-layout-top.png?direct&190|}} {{ :products:espruino-pico:espruino-pico-layout-bottom.png?direct&190|}} ===== Габаритный чертёж ===== [[this>_media/products:espruino-pico:espruino-pico-dimensions.pdf|{{:products:espruino-pico:espruino-pico-dimensions.png}}]] ===== Характеристики ===== * Микроконтроллер: STM32F401CDU6 * Ядро: 32-битный ARM Cortex M4 * Тактовая частота: 84 МГц * Flash-память: 384 КБ * SRAM-память: 96 КБ * Пинов ввода-вывода всего: 22 * Напряжение логических уровней: 3,3 В * Пины с толлератностью к 5 В: 22 * Пины с АЦП: 9 * Разрядность АЦП: 12 бит * Пины с ШИМ: 21 * Разрядность ШИМ: 16 бит * Аппаратных интерфейсов SPI: 3 * Аппаратных интерфейсов I²C / TWI: 3 * Аппаратных интерфейсов UART / Serial: 2 * Максимальный ток с пина или на пин: 25 мА * Максимальный выходной ток пина 3V3: 250 мA * Входное напряжение через пин Vin: 3,5–16 В * Габариты платы: 33×15 мм ===== Ресурсы ===== * [[amp>product/espruino-pico?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|Espruino Pico (без ног)]] в магазине. * [[amp>product/espruino-pico-with-headers?utm_source=man&utm_campaign=espruino-pico&utm_medium=wiki|Espruino Pico (с ногами)]] в магазине. * [[https://github.com/amperka/hardware-drawings/blob/master/espruino-pico.svg|Векторное изображение Espruino Pico (без ног)]] * [[https://github.com/amperka/hardware-drawings/blob/master/espruino-pico-with-headers.svg|Векторное изображение Espruino Pico (с ногами)]] * [[js:ide|Как настроить платформу Pico со средой Espruino Web IDE]] * [[js:start|Учебные и справочные материалы по JavaScript’у в микроконтроллере]] * {{ :products:espruino-pico:stm32f401cdu6-datasheet.pdf |Datasheet на микроконтроллер STM32F401CDU6}} * {{ :products:espruino-pico:mcp1703t-3302e-datasheet.pdf |Datasheet на понижающий регулятор 3V3 MCP1703T-3302E}} * {{ :products:espruino-pico:espruino-pico-scheme.zip |Исходники платы в Eagle}}