Программист микроконтроллеров». Делюсь честным отзывом
Всем привет! Недавно я закончил обучение на курсе «Профессия Программист микроконтроллеров» от Skillbox и хочу поделиться своим опытом: что там было полезного, с какими сложностями я столкнулся и стоит ли оно того. Подробнее о программе можно почитать по этой ссылке. А с моими разборами некоторых заданий можно ознакомиться тут https://dzen.ru/suite/9b315fff-ce2e-4536-81ff-b320caf59092
Я пришел на курс уже с неплохими знаниями как в области электроники, так и программирования. До этого писал на C++ и в основном работал с Arduino. Лишь в редких случаях брался за STM32 и ESP32, и для всех этих контроллеров писал в среде Arduino IDE.
Начну с моего мнения о модуле "Основы электроники". Первые задания были для меня простыми, но с каждым новым уроком сложность ощутимо возрастала. Самым трудным оказалось задание 12.4
Итоговое решение выглядит вот так. На него ушло невероятное количество времени! Чтобы не запутаться в проводах и элементах в симуляторе, мне пришлось буквально разрисовывать логику работы схемы на бумаге.
Программа не ограничивается одними симуляторами. В этом же подкурсе было практическое задание, где требовалось спроектировать и собрать свою собственную плату — понижающий DC-DC преобразователь.
Как следствие, для прохождения этого модуля вам обязательно потребуется наличие некоторого измерительного оборудования и паяльника. В модуле достаточно много объемных заданий. И как по мне, это отличная практика.
Всего в курсе было 17 задании весь список представлен в скриншоте ниже.
Дальше затронем следующий модуль курса, а именно — изучение языка С. Обучение и написание кода на этом этапе проходит в классической среде Code::Blocks. Этот модуль напрямую не связан с программированием самих микроконтроллеров (железа), но он дает ту самую фундаментальную базу языка С, без которой дальше двигаться невозможно.
Все практические задания в этом модуле предполагают работу с обычной консолью ПК. Но, как по мне, сам модуль получился слишком сжатым. Он явно рассчитан на то, что вы будете активно работать с дополнительной литературой. По крайней мере, мне пришлось много гуглить и изучать материал самостоятельно, а самые сложные и непонятные моменты я просил объяснять нейросети.
Последним и главным модулем курса является, собственно, программирование микроконтроллеров. Обучение начинается с самых основ (в частности, архитектуры ARM), но, аналогично языку C, вам потребуется активно изучать информацию на стороне. Материал подается довольно сжато, и для выполнения домашних заданий одних только лекций не хватает. Будьте готовы к тому, что на сбор недостающей информации будут уходить дополнительные часы.
Важный момент: для прохождения этого модуля вам потребуется за свой счет докупить железо — сами микроконтроллеры, программатор, а для одного из заданий еще и логический анализатор
Что касается софта: основной средой разработки (IDE), в которой вам предстоит писать код, будет Keil uVision. Кроме того, для настройки периферии и прошивки микроконтроллера потребуются официальные утилиты от STMicroelectronics — STM32CubeMX и STM32CubeProgrammer, а также для финального задания пригодится Altium Designer, базовую работу в котором мы изучали еще в модуле "Основы электроники".
Как видно из списка уроков, программа покрывает весь необходимый минимум для старта в профессии. Мы подробно разбирали работу с прерываниями, таймерами (включая генерацию ШИМ), а также учились общаться с внешним миром по ключевым интерфейсам: USART, SPI и I2C. Лично мне особенно понравилось задание последнее задание оно в нем ребовалось собрать собственную метеостанцию.
Процесс работы над метеостанцией занял у меня много сил и времени, но результат того стоил. Я не только выполнил все базовые требования из ТЗ, но и добавил несколько своих фишек. О них я расскажу чуть ниже, так как я решил пойти нестандартным путем и совместить работу над метеостанцией с самым главным, финальным проектом всего курса
Полностью ознакомится с финальной работой можно по этой ссылке. В кратце я совмести выпонение двух работ в одну, также добаваил от себя возможность получение данных с интеренета за счеет использование ESP-01
Если вкратце: я совместил выполнение двух огромных практических работ (метеостанцию и ПИД-регулятор А в качестве бонуса добавил от себя возможность получения точного времени и погоды из интернета за счет использования маленького Wi-Fi модуля ESP-01.
Подводя итоги: моё мнение о курсе
Оглядываясь назад на все пройденные модули, бессонные ночи над симуляторами и спаянными платами, могу сказать одно: курс точно не для ленивых. Он потребует от вас очень много свободного времени. Чтобы вам было проще понять, нужен ли этот курс именно вам, я собрал все плюсы и особенности в один список
К чему нужно быть готовым (Минусы и особенности):
Многое придется изучать самостоятельно. Курс очень спрессован. Как я писал выше, базовых лекций часто не хватает для выполнения домашек. Вам придется стать лучшим другом поисковиков, читать техническую документацию (иногда на английском) и обращаться за помощью к нейросетям. Но, справедливости ради, именно так и работает реальный программист.
Дополнительные расходы. Будьте готовы, что покупку самого обучения ваши траты не ограничатся. Вам понадобится паяльник, мультиметр, отладочные платы STM32, программатор, логический анализатор и россыпь электронных компонентов.
Высокий порог входа. Я пришел на курс с неплохим багажом: писал на C++, плотно работал с Arduino. И даже мне порой было тяжело. Человеку с полным нулем в программировании и электронике на этом курсе будет невероятно больно.
Формат обучения - предзаписанные видео. Лично мне порой очень не хватало живых онлайн-занятий, на которых можно было бы сразу задать вопрос преподавателю и на месте разобраться в проблеме. Общение с кураторами происходит как на самой учебной платформе, так и в Telegram-чатах. Если повезет, ответ в мессенджере можно получить почти моментально, но чаще всего приходится закладывать около суток (24 часа) на то, пока твой вопрос прочитают, вникнут в код и подготовят развернутый ответ
Что мне понравилось (Плюсы):
- Минимум воды, максимум практики. После курса у вас на руках остаются реальные устройства и чертежи. Это мощнейший плюс в портфолио для тех кто ищет работу.
- Взрослый стек технологий. Учат не мигать светодиодом в Arduino IDE, а работать как настоящие профессионалы: Keil uVision, STM32Cube, Altium Designer, архитектура ARM, прерывания и DMA.
- Поддержка преподавателей и кураторов. Задания проверяли строго (вплоть до оформления документации по ЕСКД на отпределенных заданиях.
Так кому в итоге подойдет эта профессия? Если вы уже наигрались с Arduino, понимаете, что такое закон Ома, и хотите перейти на следующий, профессиональный инженерный уровень (в сложный, но интересный мир STM32 и серьезной электроники), то этот курс я могу смело рекомендовать к прохождению.
Рекламировать ничего не буду, но если вдруг мой отзыв оказался для вас полезным и вы сами захотите попробовать свои силы на этом курсе, можете зарегистрироваться по моей [реферальной ссылке].
Вам за это будет приятная скидка, а я получу небольшую денежную компенсацию на компоненты для будущих проектов!