workshop_stm32

🔋Мастерская микроконтроллеров STM32

Хочешь научиться программировать микроконтроллеры STM32? Тогда эта мастерская для тебя!

🛠На мастерской ты изучишь популярные контроллеры STM32 и научишься программировать их на языке Си. Контроллеры STM32 дают больше возможностей, чем Arduino, и лучшее понимание происходящего под капотом, а программировать их ненамного сложнее. Кроме того, ты сможешь применить полученные знания на практике, выполняя различные учебные проекты от мигающих светодиодов до машинки-робота.

В этом году будет 2 уровня сложности:

Базовый - для начинающих, кто еще не делал проектов на STM32 (время занятий 16:00 - 18:00).

Продвинутый - для продолжающих, кто уже, как минимум, мигал светодиодом на STM32 с помощью таймера (время занятий 18:00 - 20:00).

📎Для занятий достаточно школьных базовых знаний информатики, но будет легче если есть небольшой опыт с Arduino.

📌На занятиях вы:
- научитесь разрабатывать и отлаживать программы на языке Си
- изучите устройство и принципы работы МК STM32
- познакомитесь с различными функциями STM32 от таймеров до передачи данных по различным интерфейсам (UART, SPI и др.)
- примените полученные знания на практике, научитесь управлять светодиодами, моторами, и другими устройствами, а также обрабатывать данные с различных датчиков
- при желании можно сделать свой учебный проект на любую интересную тему, мастер поможет с воплощением твоих идей

⚒Ученикам будут предоставлены электронные платы с микроконтроллерами и все необходимые детали.

TODO

Ссылка на пост в вк

Группа по STM32 в telegram

Мотивация автора

Я уже несколько лет работаю инженером-программистом автоматизированных систем на C и C++, а программирование микроконтроллеров для меня это хобби. Но у меня уже есть некоторый опыт в этом деле, которым хочется поделиться, и есть желание попробовать себя в роли рассказчика. Мне нравится идея ОЛИМПа и я считаю, что знания должны быть открыты и доступны для всех. Кроме того, я хотел бы найти единомышленников, с которыми можно было бы делать различные интересные проекты в ОЛИМПе связанные с микроконтроллерами и робототехникой.


Примерный план базового уровня

Занятие 1

Что такое микроконтроллер?

Упрощенная модель микроконтроллера.

Принципы хранения и исполнения программ.

Простейшая программа для микроконтроллера.

Дополнительно:

Обзор микроконтроллеров STM32.

Обзор IDE.

Домашнее задание:

Установка CubeIDE.

Занятие 2

Организация памяти микроконтроллера.

Процессорные и периферийные регистры.

Язык Си: переменные локальные и глобальные.

Язык Си: адреса и указатели.

Программа мигания светодиодом.

Занятие 3

Язык Си и библиотека CMSIS.

Порты ввода-вывода GPIO.

Режимы выводов микроконтроллера.

Программа управления несколькими светодиодами с кнопкой.

Занятие 4

Язык Си: Функции, объявление и определение.

Приемы отладки программ.

Программа для светофора с кнопкой.

Программа управления реле.

Занятие 5

Системный таймер микроконтроллера.

Язык Си: массивы, структуры.

Программа для светофора с таймером и кнопкой.

Занятие 6

Системный таймер микроконтроллера.

Прерывания.

Генерация звука.

Управление яркостью светодиодов.

Занятие 7

Периферийный таймер микроконтроллера.

Управление скоростью электродвигателя.

Управления двигателями робота.

Занятие 8

Аналого-цифровой преобразователь.

Считывание показаний с датчика температуры и датчика света.

Занятие 9 *

UART интерфейс.

Программа передачи данных от датчиков на ПК.

Программа приема данных с ПК для управления двигателями.

Занятие 10 *

Работа с ИК-приемником.

Прием команд от ИК-пульта.

Занятие 11 *

Управление двигателями робота.

Считывание показаний датчиков линии.

Занятие 12 *

Управление роботом по командам от ИК-пульта.

Занятия со знаком " * " могут не уместиться в один сезон, поскольку план примерный и темы занятий могут меняться по ходу мастерской или занять больше одного занятия.