workshop_stm32
🔋Мастерская микроконтроллеров STM32
Хочешь научиться программировать микроконтроллеры STM32? Тогда эта мастерская для тебя!
🛠На мастерской ты изучишь популярные контроллеры STM32 и научишься программировать их на языке Си. Контроллеры STM32 дают больше возможностей, чем Arduino, и лучшее понимание происходящего под капотом, а программировать их ненамного сложнее. Кроме того, ты сможешь применить полученные знания на практике, выполняя различные учебные проекты от мигающих светодиодов до машинки-робота.
В этом году будет 2 уровня сложности:
Базовый - для начинающих, кто еще не делал проектов на STM32 (время занятий 16:00 - 18:00).
Продвинутый - для продолжающих, кто уже, как минимум, мигал светодиодом на STM32 с помощью таймера (время занятий 18:00 - 20:00).
📎Для занятий достаточно школьных базовых знаний информатики, но будет легче если есть небольшой опыт с Arduino.
📌На занятиях вы:
- научитесь разрабатывать и отлаживать программы на языке Си
- изучите устройство и принципы работы МК STM32
- познакомитесь с различными функциями STM32 от таймеров до передачи данных по различным интерфейсам (UART, SPI и др.)
- примените полученные знания на практике, научитесь управлять светодиодами, моторами, и другими устройствами, а также обрабатывать данные с различных датчиков
- при желании можно сделать свой учебный проект на любую интересную тему, мастер поможет с воплощением твоих идей
⚒Ученикам будут предоставлены электронные платы с микроконтроллерами и все необходимые детали.
TODO
Ссылка на пост в вк
Мотивация автора
Я уже несколько лет работаю инженером-программистом автоматизированных систем на C и C++, а программирование микроконтроллеров для меня это хобби. Но у меня уже есть некоторый опыт в этом деле, которым хочется поделиться, и есть желание попробовать себя в роли рассказчика. Мне нравится идея ОЛИМПа и я считаю, что знания должны быть открыты и доступны для всех. Кроме того, я хотел бы найти единомышленников, с которыми можно было бы делать различные интересные проекты в ОЛИМПе связанные с микроконтроллерами и робототехникой.
Примерный план базового уровня
Занятие 1
Что такое микроконтроллер?
Упрощенная модель микроконтроллера.
Принципы хранения и исполнения программ.
Простейшая программа для микроконтроллера.
Дополнительно:
Обзор микроконтроллеров STM32.
Обзор IDE.
Домашнее задание:
Установка CubeIDE.
Занятие 2
Организация памяти микроконтроллера.
Процессорные и периферийные регистры.
Язык Си: переменные локальные и глобальные.
Язык Си: адреса и указатели.
Программа мигания светодиодом.
Занятие 3
Язык Си и библиотека CMSIS.
Порты ввода-вывода GPIO.
Режимы выводов микроконтроллера.
Программа управления несколькими светодиодами с кнопкой.
Занятие 4
Язык Си: Функции, объявление и определение.
Приемы отладки программ.
Программа для светофора с кнопкой.
Программа управления реле.
Занятие 5
Системный таймер микроконтроллера.
Язык Си: массивы, структуры.
Программа для светофора с таймером и кнопкой.
Занятие 6
Системный таймер микроконтроллера.
Прерывания.
Генерация звука.
Управление яркостью светодиодов.
Занятие 7
Периферийный таймер микроконтроллера.
Управление скоростью электродвигателя.
Управления двигателями робота.
Занятие 8
Аналого-цифровой преобразователь.
Считывание показаний с датчика температуры и датчика света.
Занятие 9 *
UART интерфейс.
Программа передачи данных от датчиков на ПК.
Программа приема данных с ПК для управления двигателями.
Занятие 10 *
Работа с ИК-приемником.
Прием команд от ИК-пульта.
Занятие 11 *
Управление двигателями робота.
Считывание показаний датчиков линии.
Занятие 12 *
Управление роботом по командам от ИК-пульта.
Занятия со знаком " * " могут не уместиться в один сезон, поскольку план примерный и темы занятий могут меняться по ходу мастерской или занять больше одного занятия.