====== BBC micro:bit v2: техническая документация ======
[[amp>product/bbc-microbit-v2?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|BBC micro:bit v2]] — компактная плата для обучения детей и взрослых основам программирования. Платформа из коробки поддерживает среду разработки Microsoft MakeCode, которая со старта научит работать с платой в игровой форме. Программа собирается из визуальных блоков кода за десять–пятнадцать минут, а продвинутые ученики смогут переключить визуализацию на «взрослый» текстовый код JavaScript и Python.
{{ :products:bbc-microbit-v2:bbc-microbit-v2.1.jpg?nolink |}}
Главная особенность платформы BBC micro:bit — на борту уже присутствует всё для быстрого и комфортного старта: микроконтроллер Nordic nRF52833, беспроводной модуль Bluetooth, матричный дисплей из 25 светодиодов, пару кнопок, сенсоры освещённости и температуры, акселерометр и магнитометр. А в обновленной версии BBC micro:bit v2 разработчики интегрировали сенсорную кнопку в логотип платформы, а также добавили микрофон для считывания текущего уровня шума и зуммер для воспроизведение простых мелодий.
Весь этот сет позволяет начать обучения с платой из коробки, без покупки дополнительных модулей.
Начинающим пользователям рекомендуем [[amp>product/bbc-microbit-official-user-guide?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|официальное руководство BBC micro:bit]] на русском языке.
===== Подключение и настройка =====
Прямо из коробки платформа поддерживает два среды программирования:
* [[https://makecode.microbit.org/|MakeCode с графическим блочным редактором или текстовым кодом на JavaScript.]]
* [[https://python.microbit.org/v/2|MicroPython с текстовым кодом на Python.]]{{ :products:bbc-microbit:bbc-microbit-software.1.png?nolink |}}
Но эта далеко не все возможности micro:bit, плата так же поддерживает:
* [[https://www.instructables.com/Master-Your-Microbit-With-Arduino-IDE-Light-LED/|Arduino IDE с программированием на C++]]
* [[http://wiki.amperka.ru/js:espruino:bbc-microbit|Espruino IDE с программированием на JavaScript]]
* [[https://scratch.mit.edu/microbit|Scratch: визуальный язык программирования]].
===== Элементы платы =====
{{ :products:bbc-microbit-v2:bbc-microbit-v2-annotation.png?nolink |}}
==== Микроконтроллер Nordic nRF52833 ====
Сердце платы BBC micro:bit v2 — чип [[https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52833|Nordic nRF52833]], который выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле). Кристалл включает в себя [[https://developer.arm.com/ip-products/processors/cortex-m/cortex-m4|микроконтроллер на архитектуре ARM Cortex-M4]] с тактовой частотой 64 МГц, беспроводной модуль Bluetooth 5.1 с поддержкой BLE, а также блоки памяти Flash на 512 КБ и RAM на 128 КБ.
{{youtube>Y9tk07CzTAA?large}}
В микроконтроллер также встроен датчик температуры, который подскажет уровень температуры за бортом.
{{youtube>mrHn8eZ9eqg?large}}
==== Микроконтроллер MKL27Z256VFM4 ====
Интерфейсный микроконтроллер [[https://www.nxp.com/part/MKL27Z256VFM4#/|MKL27Z256VFM4]] используется для прошивки и общения платы по USB-соединению. При подключении к ПК платформа micro:bit определяется как жёсткий диск. Интерфейсный сопроцессор также служит для отладки кода во время работы программы.
Так же в чип MKL27Z256VFM4 встроен понижающий регулятор напряжение с выходным током до 120 мА, который используется при питании платы от [[#порт_micro-usb|разъёма micro-USB]].
==== Светодиодная матрица ====
Дисплей выполнен в виде светодиодной матрицы 5×5. Программное обеспечение платы многократно обновляет светодиодную матрицу с высокой скоростью, которую не успевает фиксировать человеческий глаз.
{{youtube>eRhlaXqT-0w?large}}
Светодиодная матрица также используется для восприятия окружающего света путем многократного переключения некоторых выводов светодиодов на входы, где измерения времени спада напряжения примерно пропорционально уровню окружающего освещения.
{{youtube>ii0U_FMr-Z4?large}}
==== Светодиодная индикация ====
^ Имя светодиода ^ Назначение ^
| ON | Индикатор питания платформы.|
| USB | Индикатор активности USB|
| MIC | Индикатор активности микрофона|
==== Кнопки управления ====
Две пользовательских кнопки ''A'' и ''B'' пригодятся для создания и теста простых программ без подключения дополнительных тактильных сенсоров. Программное обеспечение позволяет фиксировать короткие клики или долгое нажатие. При отпущенном состоянии каждая кнопка возвращает логическую единицу, а при клике или зажатии — логический ноль. Контакты каждой кнопки также продублированы на краевом разъёме BBC micro:bit, более подробно о подключении читайте в разделе [[#распиновка|распиновка]].
Кнопка сброса ''RESET'' предназначена для ручного сброса прошивки — аналог кнопки ''RESET'' обычного компьютера.
{{youtube>hnT0qHM3_hQ?large}}
==== IMU-сенсор LSM303AGR ====
IMU-сенсор на 6 степеней свободы включает в себя акселерометр и магнитометр. Сборка выполнена на чипе {{ :products:bbc-microbit-v2:lsm303agr-datasheet.pdf |LSM303AGR}} по технологии (англ. System-in-Package — система в корпусе), где акселерометр и магнитометр лежат методом бутерброда в пластиковом корпусе.
Акселерометр показывает положение платы в пространстве, работает шагомером и реагирует на встряхивание. А магнитометр можно использовать в роли датчика Холла, детектора металла и поиска скрытой проводки. Сборка подключена к [[#микроконтроллер_nordic_nrf52833|базовому процессору]] по I²C интерфейсу с адресами ''0x19'' для акселерометра и ''0x1E'' для магнитометра.
{{youtube>UT35ODxvmS0?large}}
{{youtube>a3P6LWwPBqM?large}}
==== Микрофон Knowles SPU0410LR5H-QB ====
На плате micro:bit расположен всенаправленный микрофон {{ :products:bbc-microbit-v2:spu0410lr5h-qb-datasheet.pdf |Knowles SPU0410LR5H-QB}}, который позволяет определять звук и уровень шума с частотой от 100Гц до 80 кГц. Рядом с Knowles расположен [[#светодиодная_индикация|индикаторный светодиод «MIC»]], который подскажет текущее состояние микрофона.
{{youtube>waIdGCitbH4?large}}
==== Зуммер MLT-8530 ====
На плате micro:bit v2 расположен пьезодинамик {{ :products:bbc-microbit-v2:mlt-8530-datasheet.pdf |MLT-8530}} для воспроизведения писков, жужжаний и других простых мелодий.
{{youtube>waIdGCitbH4?large}}
==== Сенсорный логотип ====
На плате присутствует сенсорная кнопка, которая интегрирована в логотип на лицевой панели micro:bit. Сенсорный логотип использует емкостное прикосновение, воспринимая крошечные изменения в электрических полях при нажатии пальца.
{{youtube>spFD3SxxxHQ?large}}
==== Порт micro-USB ====
Разъём micro-USB предназначен для прошивки и питания платформы BBC micro:bit. Для подключения к ПК понадобится [[amp>product/usb-cable-micro?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|кабель USB (A — Micro USB)]].
{{youtube>ke04WnxxT5c?large}}
==== Разъём питания JST PH-2 Male ====
Разъём служит для подключения внешнего источника напряжения с ответным коннектором JST PH-2 Female к плате BBC mirco:bit v2. Воспользуйтесь одним из вариантов:
* [[amp>product/battery-holder-3aa?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|Батарейный отсек]] с [[amp>product/connector-jst-ph-2-pin?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|разъёмом JST PH-2]] и [[amp>product/battery-aa-duracell?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|элементами питания AA.]]
* [[amp>product/microbit-power?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|Модуль питания micro:bit]] с [[amp>product/power-supply-adapter-robiton-tn1000s?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|сетевым адаптером]].
==== Контактные пины ====
На плате micro:bit v2 расположен фирменный краевой разъём, который поддерживает три физических способа соединения.
* Площадки под «крокодилы». Позволяют коммуницировать с платой через пять контактов ''0'', ''1'', ''2'', ''3V'' и ''GND'' с помощью зажимов типа «крокодил».
* Отверстия Banana Plug. Предназначены для штекеров типа «банан» диаметром 4 мм и объединены с контактными площадками под «крокодилы».
* Краевой разъём. Содержит всё те же 5 площадок под «крокодилы» и оставшиеся 20 пинов в виде узких контактных площадок с шагом 1,37 мм.
[[amp>collection/microbit-add-ons?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|Платы расширения для micro:bit]] подключаются через краевой разъём без пайки и ухищрений. За счёт многочисленных адд-онов платформу можно легко превратить в мобильного робота или метеостанцию.
Для коммуникации с остальными модулями или радиокомпонентами, вам пригодится переходник [[amp>product/microbit-breakout?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|micro:bit Breakout]], который даст удобный доступ ко всем пинам GPIO. Подробности распиновки [[#распиновка|читайте в соответствующем разделе]].
Обратите внимание, что к «Микробиту» подходят только модули с логическим напряжением 3,3 В. Периферия с логическим напряжением 5 В может повредить устройство!
{{youtube>EDgdHb0R96I?large}}
===== Распиновка =====
{{ :products:bbc-microbit-v2:bbc-microbit-v2-pinout.png?nolink |}}
==== Пины питания ====
* **3V:** Вывод питания платы BBC micro:bit, который может использоваться двумя разными способами: источник или потребитель питания.
* Потребитель питания. При подключении платформы по USB, на пин выводится напряжение с [[#микроконтроллер_mkl27z256vfm4|интегрированного понижающего регулятора в микроконтроллер MKL27Z256VFM4]]. Выходное напряжение с пина 3,3 вольта с максимальным током 120 мА.
* Источник питания. Вывод также может использоваться для непосредственного питания платформы micro:bit. Диапазон входного напряжение от 3 до 3,6 вольт.
* **GND:** Выводы земли.
==== Порты ввода/вывода ====
Внимание! В отличие от большинства плат Arduino, родным напряжением BBC micro:bit является 3,3 В, а не 5 В. Максимальное напряжение, которое могут выдержать вход/выходы составляет 3,3 В. Подав напряжение, например 5 В, можно вывести платформу из строя.
* **Пины общего назначения:** 19 пинов: ''P0''–''P16'', ''P19'' и ''P20''\\ Логический уровень единицы — 3,3 В, нуля — 0 В.
* **АЦП:** 6 пинов: ''P0''–''P4'', ''P19'' и ''P20'' \\ Позволяет представить аналоговое напряжение в виде цифровом виде. Разрядность АЦП не меняется и установлена в 12 бит. Диапазон входного напряжения от 0 до 3,3 В, при подаче большего напряжения микроконтроллер может выйти из строя.
* **ШИМ:** 19 пинов: ''P0''–''P16'', ''P19'' и ''P20''\\ Позволяет выводить аналоговое напряжение в виде ШИМ-сигнала из цифровых значений. Одновременно возможно генерировать ШИМ-сигнал на 4 пинах.
* **I²C** Для общения micro:bit c [[amp>collection/microbit-add-ons?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|платами расширения]] по интерфейсу I²C.
* **I²C**: пины ''SDA/P20'' и ''SCL/P20''
* **SPI** Для общения Arduino c [[amp>collection/microbit-add-ons?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|платами расширения]] по интерфейсу SPI.
* **SPI**: пины ''MOSI/P15'', ''MISO/P14'' и ''SCK/P13''
===== Блок-схема компонентов =====
{{ :products:bbc-microbit-v2:bbc-microbit-v2-block-diagram.png?nolink |}}
===== Габаритный чертёж =====
[[this>_media/products:bbc-microbit-v2:bbc-microbit-v2-dimensions.pdf|{{:products:bbc-microbit-v2:bbc-microbit-v2-dimensions.png}}]]
===== Характеристики =====
* Модель: BBC micro:bit v2
* Микроконтроллер: Nordic nRF52833
* Ядро: 32-х разрядный ARM Cortex-M4 c сопроцессором FPU
* Частота: 64 МГц
* Flash-память: 512 КБ
* RAM-память: 128 КБ
* Дисплей:
* Матрица 5×5 из 25 светодиодов
* Цвет: Красный
* Дополнительная возможность: измеряет освещенность
* IMU-сенсор (6 степеней свободы):
* чип: LSM303AGR
* Датчики: акселерометр и магнитометр
* Интерфейс: I²C
* I²C-адрес: акселерометр — 0x19, магнитометр — 0x1E
* Беспроводная связь:
* Встроен в кристалл Nordic nRF52833
* Bluetooth 5.1 с поддержкой BLE
* Частота: 2,4 ГГц
* Датчик температуры:
* Встроен в кристалл Nordic nRF52833
* Диапазон измерений: −25…+75 °С
* Градация: 0,25 °С
* MEMS-микрофон:
* Модуль: Knowles SPU0410LR5H-QB-7 MEMS
* Чувствительность: −38 дБ
* Отношение сигнал/шум: 63 дБ
* Частота: от 100 Гц до 80 кГц
* Тип: всенаправленный
* Пьезодинамик:
* Модуль: MLT-8530
* Номинальная частота: 2700 Гц
* Интенсивность: 80 дБ
* Пользовательские кнопки:
* Две тактовых кнопки A и B
* Сенсорная кнопка интегрированная в логотип
* Входное напряжение через USB: 5 В
* Входное напряжение через JST-разъём: 3–3,6 В
* Напряжение логических уровней: 3,3 В
* Контакты ввода-вывода: 19
* Контакты с ШИМ: 19 (до 4 каналов одновременно)
* Контакты с АЦП: 6
* Разрядность АЦП: 12 бит
* Аппаратные интерфейсы: 1× SPI, 1× I²C
* Порт для автономного питания: JST PH-2
* Габариты: 51,6×42×11,6 мм
===== Ресурсы =====
* [[amp>product/bbc-microbit-v2?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|BBC micro:bit v2]] в магазине.
* [[amp>product/bbc-microbit-official-user-guide?utm_source=man&utm_campaign=bbc-microbit-v2&utm_medium=wiki|Официальное руководство BBC micro:bit]] в магазине
* [[https://github.com/amperka/hardware-drawings/blob/master/bbc-microbit-v2.svg|Векторное изображение BBC micro:bit]]
* [[https://makecode.microbit.org/|Среда программирования MakeCode]]
* [[https://tech.microbit.org/|Техническое руководство от производителя]]