====== 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/|Техническое руководство от производителя]]