
Дмитрий Забарило
Автор курсов для начинающих электронщиков и радиолюбителей. Есть канал на Youtube ElectronicsClub, где максимально подробное описывает устройства и принципы работы электронных элементов, отдельных узлов и устройств в целом.
Этот курс предназначен, в первую очередь, для начинающих. Он подробно объясняет каждую деталь, включая назначение каждого символа в коде, и не требует от слушателей никакого опыта в программировании. Мы вместе разберёмся с «даташитами», изучим периферию микроконтроллеров: таймеры-счётчики, прерывания, аналого-цифровые преобразователи, ШИМ, интерфейсы и многое другое. На практике рассмотрим типичные ошибки новичков, научимся их исправлять и анализировать альтернативные варианты кода.
Обучение построено на примере микроконтроллеров AVR, а в качестве базового взят ATmega8. Курс плавно подведёт к более сложным темам, и в последних уроках мы познакомимся с микроконтроллерами STM32. По моему и опыту коллег, начинать обучение с STM32 не стоит — эти процессоры сложны для первых шагов. Намного лучше начинать с 8-битных AVR, таких как ATmega8, ATmega48, ATmega16, ATmega8535, ATmega328, ATtiny2313 или ATtiny13. К тому же работа с микроконтроллерами AVR удобна тем, что их можно эмулировать в программе Proteus, что позволяет учиться и отлаживать код даже без реального оборудования — это очень полезно как для обучения, так и для практических задач.
Позже я планирую провести курс по программированию STM32, поскольку эти микроконтроллеры востребованы в сфере встроенных систем. Но, чтобы не тратить время на базовые понятия, я буду ориентироваться на то, что у участников уже есть хотя бы минимальные знания об основах: что такое функции, операторы, массивы, побитовые операции, порты ввода-вывода, таймеры, АЦП, ШИМ, UART, SPI и другие базовые элементы. Все эти темы подробно раскрываются в текущем курсе.
Программировать мы будем на языке C. Хотя микроконтроллеры можно писать и на C++, Python или ассемблере, для начинающих язык C — оптимальный выбор. Ассемблер, безусловно, важен для понимания работы железа, но практика показывает, что обучение программированию микроконтроллеров на C интереснее, доступнее и продуктивнее. Курс построен так, чтобы даже те, кто никогда не программировал, смогли разобраться в языке C и выйти на уверенный уровень.
Программа курса построена вокруг реальных практических задач. Мы разберёмся в назначении микроконтроллеров, научимся подключать светодиоды, кнопки, семисегментные индикаторы, изучим работу с массивами, побитовыми операциями, таймерами, прерываниями и многим другим. По ходу курса освоим работу с дисплеями, сенсорами, шаговыми двигателями, энкодерами, интерфейсами UART, SPI, I2C и 1-Wire. Постепенно вы научитесь проектировать устройства средней сложности, включая вольтметры, тахометры, частотомеры и системы с ЖК-дисплеями. Будем разрабатывать проекты с использованием EEPROM, подключать внешние датчики, такие как DS18B20 и SHT3x, настраивать ШИМ для управления моторами, а также интегрировать сдвиговые регистры, расширители портов и многое другое.
Этот курс проводится в офлайн-формате. Ранее я проводил шесть подобных курсов в режиме онлайн, но практика показала, что для большинства участников удобнее учиться в своём темпе, просматривая записи в любое время. При необходимости мы можем проводить онлайн-встречи — как в группе, так и индивидуально. Дополнительно я создам чат в Telegram, где сможем обсуждать вопросы, делиться идеями и оперативно помогать друг другу.
После прохождения курса вы перестанете бояться микроконтроллеров и полюбите их. Вы научитесь программировать AVR и сможете перейти к STM32, освоите язык программирования C, научитесь читать и понимать даташиты, разрабатывать устройства на базе AVR и легко переходить к Arduino. С полученными знаниями вы сможете изучать и другие микроконтроллерные платформы, такие как STM и PIC, а также заложите основу для новой профессии — разработчика и программиста микроконтроллеров.
Автор курсов для начинающих электронщиков и радиолюбителей. Есть канал на Youtube ElectronicsClub, где максимально подробное описывает устройства и принципы работы электронных элементов, отдельных узлов и устройств в целом.
Человек без предварительной подготовки, пытаясь изучить литературу по теоретическим основам электротехники, столкнется с трудностями, так как эти учебные материалы насыщены сложной технической терминологией и активно используют высшую математику. Обычно это оборачивается потерей интереса к дальнейшему обучению у новичков, или же на освоение базовых концепций уходит много времени. Настоящий курс призван решить эти и другие подобные проблемы.
Электронные устройства являются основой нашей глобальной экономики, значительно улучшают нашу жизнь и лежат в основе практически каждого аспекта современной жизни. Однако лишь немногие из нас понимают, как эти устройства на самом деле работают. В действительности, эти все более сложные устройства функционируют на основе нескольких простых принципов, которые не только увлекательны, но и легко понимаемы.