====== Iskra JS Mini: подключение, настройка, распиновка и схемы ======
[[amp>product/iskra-js-mini?utm_source=man&utm_campaign=iskra-js-mini&utm_medium=wiki|Iskra JS Mini]] — аналог флагманской платформы [[amp>product/iskra-js?utm_source=man&utm_campaign=iskra-js-mini&utm_medium=wiki|Iskra JS]] в миниатюрном размере. Плата пригодится в проектах «интернета вещей» — она совместима с шилдами для [[amp>product/arduino-mini?utm_source=man&utm_campaign=iskra-js-mini&utm_medium=wiki|Arduino Mini]] и умеет работать по протоколу ''HTTPS''.
{{ :продукты:iskra-js-mini:iskra-js-mini.1.jpg?nolink |}}
===== Видеообзор =====
{{youtube>XZV0TBOIS2g?large}}
===== Подключение и настройка =====
Для работы с платой Iskra JS Mini добавьте и настройте в Google Chrome среду программирования [[js:ide|Espruino Web IDE]].
Устанавливайте именно Espruino Web IDE. Ранее для работы использовалась среда Iskra IDE, которая была ответвлением от оригинальной Espruino Web IDE.
===== Пример работы =====
В качестве примера прошьём платформу Iskra JS Mini скриптом, который каждую секунду будет переключать встроенные светодиоды ''LED1'' и ''LED2''.
// переменная состояния светодиода
var state = false;
// каждую 500 мс переключаем светодиоды
// один включаем, другой выключаем
setInterval(function() {
state = !state;
LED1.write(state);
LED2.write(!state);
}, 500);
{{ :продукты:iskra-js-mini:iskra-js-mini_leds_toogle.gif?nolink |}}
==== Что-то пошло не так? ====
[[js:ide:driver-error|Не работает плата Iskra JS Mini]]
===== Элементы платы =====
{{ :продукты:iskra-js-mini:iskra-js-mini_annotation.png?nolink |}}
==== Микроконтроллер STM32F411CEU6 ====
Сердце платформы Iskra JS Mini — 32-разрядный микроконтроллер {{:продукты:iskra-js-mini:stm32f411ceu6_datasheet.pdf|STM32F411CEU6}} в корпусе ''UFQFPN48'' от STMicroelectronics с вычислительном ядром ARM Cortex M4.
==== Разъём micro-USB ====
Разъём micro-USB предназначен для прошивки платформы Iskra JS Mini с помощью компьютера.
==== Регулятор напряжения 3,3 В ====
Понижающий преобразователь {{:продукты:iskra-js-mini:tps562200_datasheet.pdf|TPS562200DDCT}} с входным напряжением 5–14 вольт с максимальным выходным током до двух ампер.
==== Светодиодная индикация ====
^ Имя светодиода ^ Назначение ^
| LED1 | Красный светодиод свободного назначения.|
| LED2 | Зелёный светодиод свободного назначения.|
==== Кнопка RESET ====
Служит для сброса микроконтроллера. Это аналог кнопки ''RESET'' обычного компьютера.
==== Пин BOOT0 ====
Если замкнуть пин ''BOOT0'' с пином ''3V3'', плата загрузится в DFU-режиме. Это позволит [[js:ide:dfu-firmware|перепрошить микроконтроллер без программатора]], через USB.
===== Распиновка =====
{{ :продукты:iskra-js-mini:iskra-js-mini_pinout.png?nolink |}}
==== Пины питания ====
* **VIN:** Пин для подключения внешнего источника питания. Рекомендуемый диапазон 5–14 вольт.
* **3.3V:** На вывод поступает напряжение 3,3 В от стабилизатора платы. Данный стабилизатор обеспечивает питание микроконтроллера ''STM32F411CEU6''. Запитывать устройство через вывод ''3.3V'' не рекомендуется — в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя. Максимальный ток вывода — 2 А.
* **GND:** Выводы земли.
==== Порты ввода/вывода ====
* **Цифровые входы/выходы:** 20 пинов — ''A0'', ''A1'', ''A4''–''A7'', ''A10'', ''B0''–''B10'', ''B13''–''B15''\\ Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 25 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
* **ШИМ:** 16 пинов — ''A0'', ''A1'', ''A5''–''A7'', ''A10'', ''B0''–''B10'', ''B13''–''B15''\\ Позволяют выводить 16-битные аналоговые значения в виде ШИМ-сигнала. Одновременно нельзя использовать ШИМ на некоторых парах пинов: ''A6'' и ''B4'', ''A7'' и ''B5'', ''A1'' и ''B3'', ''B15'' и ''A10'' так как каждая парочка висит на общем таймере.
* **АЦП:** 8 пинов — ''A0'', ''A1'', ''A4''–''A7'', ''B0'', ''B1''\\ Позволяют представить аналоговое напряжение в виде 12-битного числа.
* **TWI/I²C:** пины ''SDA'' и ''SCL''\\ пины подключённые к аппаратному интерфейсу [[js:i2c|I²C]].
* **SPI:** пины ''MOSI'', ''MISO'' и ''SCK''.\\ пины подключённые к аппаратному интерфейсу [[js:spi|SPI]].
* **UART:** пины ''UART(RX)'' и ''UART(TX)''\\ пины подключённые к аппаратному интерфейсу [[js:serial|UART/USART]].
===== Принципиальная и монтажная схемы =====
{{:продукты:iskra-js-mini:iskra-js-mini_schematic.png?direct&600 |}}
{{:продукты:iskra-js-mini:iskra-js-mini_layout_top.png?direct&300 |}}
{{:продукты:iskra-js-mini:iskra-js-mini_layout_bottom.png?direct&300 |}}
===== Характеристики =====
* Микроконтроллер: STM32F411CEU6 (32-битный ARM Cortex M4)
* Тактовая частота: 100 МГц
* Объём Flash-памяти: 512 КБ
* Объём SRAM-памяти: 128 КБ
* Портов ввода-вывода всего: 20
* Портов с АЦП: 8
* Разрядность АЦП: 12 бит
* Портов с ШИМ: 19
* Разрядность ШИМ: 16 бит
* Портов толерантных к 5 В: 17
* Аппаратных интерфейсов SPI: 3
* Аппаратных интерфейсов I²C / TWI: 2
* Аппаратных интерфейсов UART / Serial: 1
* Номинальное рабочее напряжение: 3,3 В
* Максимальный ток с шины 3.3V: 2 А (включая питание микроконтроллера)
* Максимальный ток с пина или на пин: 25 мА
* Допустимое входное напряжение от внешнего источника: 7–14 В
* Габариты: 33×21 мм
===== Ресурсы =====
* [[amp>product/iskra-js-mini?utm_source=man&utm_campaign=iskra-js-mini&utm_medium=wiki|Iskra JS Mini]] в магазине
* [[js:ide|Как настроить платформу Iskra JS Mini со средой Espruino Web IDE]]
* [[js:start|Учебные и справочные материалы по JavaScript’у в микроконтроллере]]
* [[js:ide:dfu-firmware|Обновление прошивки через DFU]]
* {{:продукты:iskra-js-mini:stm32f411ceu6_datasheet.pdf|Даташит на микроконтроллер STM32F411CEU6}}
* [[https://github.com/amperka/hardware-drawings/blob/master/iskra-js-mini.svg|Векторное изображение Iskra JS Mini]]