Платформа STM32 Nucleo F401RE
В то время как Arduino представляет собой платформу для обучения и любительских разработок, в профессиональной области большое распространение получили микроконтроллеры STM32 производства STMicroelectronics https://www.st.com/ (https://www.st.com/).
Платформа STM32 Nucleo F401RE, совместимая с модулями расширения Arduino, представляет намного больше возможностей по сравнению с платформой Arduino и micro:bit. Мы привели сравнение в табл. В1.
Табл. В1. Сравнение характеристик микроконтроллеров
Как видите, с точки зрения применения в робототехнике у микроконтроллеров на базе STM32 намного больше возможностей, чем у Arduino или micro:bit.
Однако все имеет свою цену. И если роботы на базе micro:bit можно разрабатывать с применением очень простых средств блочного визуального программирования, то при использовании Arduino и STM32 не обойтись без знаний языков программирования С или С++. Кроме того, архитектура процессоров STM32 достаточно сложна, а в полном руководстве по моделям STM32 насчитывается более 1700 страниц!
Тем не менее, вам не придется читать это руководство на первом этапе знакомства. Имеются средства программирования для STM32, скрывающие сложность внутри готовых библиотек и программных модулей.
Микрокомпьютер Raspberry Pi
Для решения серьезных задач, таких как обработка данных, полученных от измерительной аппаратуры нашей модели марсохода, передачи видео «на землю», распознавание изображений и т.п. микрокомпьютеры BBC micro:bit и Arduino не подойдут, т.к. у них мало ресурсов. В то же время относительно недорого можно приобрести миниатюрный одноплатный компьютер Raspberry Pi, способный составить конкуренцию в некоторых случаях даже настольным компьютерам.
Например, модель Raspberry Pi 4 содержит 64-разрядный 4-ядерный процессор ARMv8-A с тактовой частотой 1,5Ггц. У него есть встроенный графический процессор GPU Broadcom VideoCore VI, беспроводные интерфейсы Bluetooth и WiFi, разъем RJ-45 Ethernet с пропускной способностью 1Гбит, интерфейс видеокамеры, два интерфейса Micro HDMI, интерфейсы USB и другое оборудование.
К микрокомпьютеру Raspberry Pi через шину GPIO можно подключить самые разнообразные устройства, такие как измерители параметров, двигатели и пр.
Надо понимать, что Raspberry Pi 4 потребляет довольно много электроэнергии. Штатный блок питания, например, обеспечивает 3А при напряжении 5В, а это уже 15 Вт. Если устанавливать этот микрокомпьютер на макет марсохода, то для его питания (а также для питания дополнительных устройств) потребуются довольно тяжелые и емкие аккумуляторы. Будет нужно прочное шасси и мощные электродвигатели, которые сами по себе будут потреблять много электроэнергии.
Вы можете сделать на базе Raspberry Pi 4, например, сервер обработки данных, полученных от макета марсохода, Web-сервер для трансляции этих данных в интернете и для решения других подобных задачи. Вы можете создавать программы для Raspberry Pi с использованием практически любых языков программирования, доступных для обычных серверов, настольных компьютеров и ноутбуков.
Другие микрокомпьютеры
На момент создания книги на рынке появилось очень много одноплатных микрокомпьютеров различного типа и назначения.
Это многочисленные «клоны» Arduino и Raspberry Pi, которые отличаются ценой, габаритами и потребляемой мощностью. Есть даже готовая мощная система NVIDIA Jetson Nano в миниатюрном исполнении, способная решать серьезные задачи искусственного интеллекта, компьютерного зрения и робототехники.
В продаже можно найти микрокомпьютеры с очень небольшим энергопотреблением, что будет полезно для создания нашего макета или для устройств интернета вещей IoT (Internet of Things).
1. Запускаем микроконтроллер micro:bit
Микроконтроллер micro:bit можно купить либо просто в виде платы, либо в составе набора. В минимальном варианте набор состоит из платы контроллера, корпуса для двух батареек ААА с соединительным проводом и USB-кабеля, с помощью которого можно подключить micro:bit к ноутбуку или настольному компьютеру.
В продаже также есть различные наборы модулей и аксессуаров, расширяющих возможности микроконтроллера micro:bit, и даже готовые наборы для сборки различных роботов. На первом этапе вам достаточно будет приобрести только плату micro:bit или самый простой набор.
Первое включение
Чтобы программа заработала на micro:bit, ее нужно создать с помощью того или иного инструмента, а затем загрузить в память микроконтроллера.
Программы можно загружать в micro:bit с помощью ноутбука или стационарного компьютера, а также с помощью смартфона или планшета на базе Android или iOS. Удобнее всего работать с ноутбуком или компьютером, поэтому мы сначала рассмотрим именно такой вариант.
Итак, подключите микроконтроллер micro:bit к USB-порту ноутбука или компьютера с помощью переходника USB – микро USB (рис. 1.1). Если такой кабель не водит в набор, то вы можете приобрести его отдельно.
Рис. 1.1. Первое включение micro:bit
После подключения на экране micro:bit появится бегущая строка HELLO. Это означает, что micro:bit работает нормально, и в нем запустилась программа, установленная по умолчанию. Нашей задачей на данном этапе будет замена этой программы собственной, созданной с помощью программы Microsoft MakeCode for micro:bit.
Если micro:bit подключен к компьютеру через порт USB, то ему не требуется никакого дополнительного питания. Для автономной работы после загрузки в память контроллера нужной программы отключите кабель USB и подключите блок батарейного питания в специально предназначенный для этого разъем (рис. 1.1).
Чтобы загрузить автономную версию программы Microsoft MakeCode for micro:bit откройте сайт https://makecode.microbit.org/offline-app (https://makecode.microbit.org/offline-app). В нижней части страницы отметьте флажок I agree to these Microsoft Software License Terms and to the Microsoft Privacy Statement. (https://privacy.microsoft.com/en-us/privacystatement) После этого вы увидите ссылки на скачивание (рис. 1.2).
Рис. 1.2. Загрузкаавтономнойверсиипрограммы Microsoft MakeCode for micro:bit
Если вы работаете с компьютером на базе Windows, скачайте программу makecode-microbit-setup-win64.exe. Если же на ваш компьютер установлена Mac OS, вам потребуется программа makecode-microbit-mac64.zip.
Программа makecode-microbit-setup-win64.exe не требует никакой установки и начинает работать сразу после запуска (рис. 1.3).
Рис. 1.3. Главноеокнопрограммы Microsoft MakeCode for micro:bit
Щелкните в главном окне кнопку Новый проект или NewProject (если все надписи показаны на английском языке). Вы увидите окно нового проекта, где мы и будем программировать наш микроконтроллер (рис. 1.4).
Рис. 1.4. Создание нового проекта
При необходимости укажите, на каком языке будут показываться все надписи в программе. Для этого щелкните изображение шестеренки в правом верхнем углу окна программы, и выберите строку Язык или Language. Затем щелкните название нужного вам языка.
Давайте посмотрим внимательно на главное окно только что созданного нами проекта.
Слева вверху находится изображение платы контроллера micro:bit, под которым расположены кнопки отладки нашей программы. С помощью этих кнопок вы можете создавать и отлаживать программы, даже не подключая контроллер micro:bit к компьютеру.
В средней части окна находятся палитры блоков, из которых можно составить программу. На рис. 1.5 мы раскрыли палитру Основное.
Рис. 1.5. Палитра компонентов Основное
Перетащите мышью блок показать светодиоды вправо, в блок постоянно. Далее проделайте эту операцию еще раз, расположив второй такой же блок под первым (рис. 1.6).
Рис. 1.6. Добавлены два блока показа светодиодов
Щелкая мышью изображения светодиодов, создайте в верхнем блоке квадрат большого размера, а в нижем – маленького, как это показано на рис. 1.6.
Теперь щелкните кнопку Скачать. После этого подготовленная нами программа загрузится в память микроконтроллера и сразу запустится на выполнение. Вы увидите, что на экране micro:bit будет попеременно отображаться то большой, то маленький квадрат (рис. 1.7).
Рис. 1.7. Наша программа работает на микроконтроллере
Справа от кнопки Скачать есть поле, в котором вы можете ввести название программы. А еще правее находится кнопка с изображением дискеты, предназначенная для сохранения программы в виде файла с расширением имени hex.
Всегда сохраняйте программы, над которыми работаете, иначе есть риск потерять время, например, при случайном отключении питания компьютера или при каких-либо ошибочных действиях.
При подключении micro:bit через USB-порт в компьютере появляется дисковое устройство. Но это не настоящий диск. Если скопировать hex-файл на такой «диск», то программа загрузится в micro:bit и автоматически запустится на выполнение. После запуска она будет удалена с диска, созданного при подключении контроллера.
Итак, мы создали и запустили на выполнение нашу первую программу, которая в цикле показывает два изображения на экране микроконтроллера. Правда, это было несложно?
Теперь вы можете отсоединить micro:bit от порта USB и подключить батарейное питание. Загруженная нами программа продолжит свою работу – она остается в памяти микроконтроллера даже при отключении электропитания.
Напомним, что все программы из нашей книги можно загрузить на сайте автора по адресу http://frolov-lib.ru/books/boxrover/ (http://frolov-lib.ru/books/boxrover/) в виде zip-архива. Программа, над которой вы только что работали, называется Квадрат, и ее можно найти в каталоге BoxRover/ch01/microbit-Квадрат.hex архива.