Адресная RGB-лента WS2812 с Arduino: каждый диод своим цветом по одному проводу. Подключение, питание, FastLED и Adafruit_NeoPixel, примеры эффектов, ограничения по току и расчёт блока питания.
Цифровой датчик температуры DS18B20: шина 1-Wire, подтяжка 4.7 кОм, библиотеки OneWire и DallasTemperature, несколько датчиков на одном проводе, разрешение 9–12 бит и водонепроницаемые версии.
Релейные модули для Arduino: как безопасно коммутировать 220 В, активный LOW vs HIGH, опторазвязка, управление светом и розетками, защита от помех и типичные ошибки при работе с сетевым напряжением.
Два подхода к ESP8266: как Wi-Fi-модем для Arduino через AT-команды по UART и как самостоятельный микроконтроллер с Arduino IDE. Подключение 3.3 В, AT-прошивка, HTTP-запросы и выбор пути для проекта.
Как управлять мотором, лентой или нагревателем с Arduino через MOSFET: выбор транзистора с логическим уровнем, схема подключения, обратный диод, analogWrite и безопасное управление большими токами.
Подключение шагового двигателя 28BYJ-48 через драйвер ULN2003 к Arduino: принцип шагов, библиотека Stepper и AccelStepper, полный пример управления, режимы и точное позиционирование по шагам.
HC-SR04 — самый популярный ультразвуковой датчик расстояния для Arduino: схема подключения, pulseIn и пересчёт в сантиметры, фильтрация показаний, радар на серво и ограничения датчика.
Символьный дисплей LCD1602 на Arduino: I2C-модуль вместо шести проводов, библиотека LiquidCrystal_I2C, вывод текста и чисел, кастомные символы, русские буквы и типичные проблемы адреса и контраста.
Подключение датчиков температуры и влажности DHT11/DHT22 к Arduino: схема с подтяжкой, библиотека DHT, чтение значений, ограничение опроса, различия моделей и реальный проект термометра.
Как подключить сервопривод к Arduino: питание, библиотека Servo, write и writeMicroseconds, плавное движение, калибровка цифровых серво и типичные проблемы — питание, дребезг, дрожание.
Всё о пинах Arduino Uno: INPUT/OUTPUT/INPUT_PULLUP, digitalRead/digitalWrite, analogRead с делителями, analogWrite и ШИМ, токовые ограничения и защита пинов при подключении периферии.
Первое знакомство с Arduino Uno: что на плате, как устроены setup и loop, первый blink, загрузка скетча, Serial-монитор и базовая работа с пинами — чтобы начать делать свои проекты.
Инструменты отладки C++: breakpoints и пошаговая отладка в GDB, AddressSanitizer и UndefinedBehaviorSanitizer, Valgrind для утечек, чтение backtrace из core dump и сборка с отладочной информацией.
Как вычислять на этапе компиляции в C++: constexpr функции и переменные, consteval для гарантированного compile-time, if constexpr вместо SFINAE, static_assert и практическая польза для производительности.
C++ на микроконтроллерах — не то же самое, что C++ на десктопе. Разбираем, что работает без исключений и RTTI, как использовать классы и шаблоны в Arduino-скетчах, std:: alternatives для embedded и ограничения памяти.
Потоки в C++11 и новее: запуск std::thread, защита данных мьютексами, deadlock, condition_variable, async и future, atomic — с примерами и типичными гонками данных.
Файловый ввод-вывод в C++: ifstream/ofstream/fstream, построчное чтение, бинарный режим, проверка ошибок, std::filesystem для путей и директорий — с готовыми рецептами для реальных задач.
Как работает память в C++: стек и куча, сырые указатели, ссылки, new/delete, массивы и утечки, разыменование, арифметика указателей и почему современный C++ старается их избегать.
CMake с нуля: минимальный CMakeLists.txt, исполняемые файлы и библиотеки, подключение зависимостей через find_package и FetchContent, таргеты и свойства, типичная структура C++-проекта.
Практический тур по алгоритмам стандартной библиотеки C++: сортировка, поиск, transform, accumulate, copy_if, remove_if, алгоритмы с <numeric> и <ranges> — с реальными сценариями применения.
Исключения C++ от базового try/catch до своих классов ошибок: стандартная иерархия std::exception, гарантии исключений (basic/strong/nothrow), noexcept и альтернативы — std::expected и коды возврата.
Шаблоны C++ с нуля: шаблонные функции и классы, вывод типов, специализация, variadic templates, concepts из C++20 и почему вся STL построена на шаблонах.
ООП в C++ без воды: конструкторы и деструкторы, наследование, virtual/override/final, виртуальные деструкторы, абстрактные классы и когда полиморфизм вообще нужен, а когда лучше шаблоны.
Лямбды в C++: синтаксис, захват переменных по значению и по ссылке, mutable, generic lambdas, возврат лямбд и где лямбды реально нужны — алгоритмы STL, колбэки, std::thread.
Разбираем семантику перемещения: lvalue и rvalue, конструктор перемещения и move-присваивание, правило пяти, std::move без магии и типичные ошибки при работе с перемещаемыми объектами.
RAII — фундамент современного C++: ресурс захватывается в конструкторе и освобождается в деструкторе. Разбираем применение к памяти, файлам, мьютексам, дескрипторам и пишем свои RAII-обёртки.
Разбираем ассоциативные контейнеры C++: map, unordered_map, set и multimap. Сложность операций, хэш-функции для своих ключей, итерация, try_emplace и типичные задачи: счётчики, индексы, кэши.
Когда брать unique_ptr, когда shared_ptr и зачем нужен weak_ptr. Разбираем владение, make_unique/make_shared, циклические ссылки, deleter и почему сырые new/delete в современном C++ не нужны.
std::vector — основной контейнер C++. Разбираем устройство памяти, size vs capacity, инвалидацию итераторов, reserve и resize, emplace_back и типичные ошибки, которые стоят производительности.
Всё о строках в C++: создание, конкатенация, поиск, срезы, сравнение, преобразование в числа и обратно, типичные ошибки и правила выбора между std::string, std::string_view и char*.