Галерея проектов
Любой проект можно открыть, запустить и сделать своей копией. У каждого примера есть разбор: что на схеме, какие библиотеки нужны и что делает код.
Аппаратный таймер
Прерывание строго по расписанию, независимо от того, чем занят loop(). Точнее любого millis().
Будни и выходные
День недели микросхема хранит отдельным регистром. Пример показывает, как на нём строить недельное расписание.
Верхний ключ: почему нельзя повторить нижний
Нижний ключ ставят между нагрузкой и землёй, и управлять им просто: затвор относительно истока, а исток на земле. Верхний ключ сто…
Внутреннее сопротивление: почему батарейка проседает
У любого источника есть внутреннее сопротивление r, и оно включено последовательно с нагрузкой. Напряжение на клеммах равно U = E…
Второй UART и мост
У ESP32 три аппаратных UART. Второй выводится на любые выводы и работает независимо от отладочного.
Датчик движения
PIR выдаёт готовый цифровой уровень. Вся сложность — в удержании света после последнего движения.
Делитель для входа контроллера: 5 В в 3,3 В
Вход микроконтроллера не терпит напряжения выше своего питания, а датчики часто пятивольтовые. Делитель решает это одним расчётом…
Дополняющий фильтр
Акселерометр шумит, гироскоп уплывает. Одна строка фильтра берёт от каждого лучшее — и объясняет, почему.
Журнал на карту с отметкой времени
Часы и карта вместе: каждая запись получает время, а не «столько-то миллисекунд с включения».
ИК-пульт: приём кода
Приёмник ловит кадр пульта, а разбирает его блок RMT: импульсы по полмиллисекунды скетч поймать не успеет. Нажмите на кружок приём…
Индикатор духоты
Три величины сводятся в одну оценку. Гистерезис в пороге — иначе индикатор мигает на границе.
Колебательный контур: энергия ходит туда-обратно
Конденсатор и катушка обмениваются энергией: заряд перетекает в ток, ток — обратно в заряд. Частота этих колебаний равна f = 1/(2π…
Метеостанция с журналом
Датчик, часы и карта вместе: раз в минуту строка в файл, имя файла — из даты.
Мост Уитстона: измерение по нулю, а не по шкале
Мост состоит из двух делителей, включённых на одно питание. Разность их средних точек равна нулю при условии R₁/R₂ = R₃/R₄ — и это…
Мультивибратор: схема, которая мигает сама
Два транзистора закрывают друг друга по очереди через конденсаторы. Пока одно плечо открыто, конденсатор второго перезаряжается че…
Обратный отсчёт до срока
Разность двух моментов времени: RTClib считает её сама, и переносы через сутки и месяцы считать руками не надо.
Параллельное соединение: две лампы в полный накал
Две одинаковые лампы, подключённые параллельно. На каждой полные двенадцать вольт, каждая горит как одна, а ток от источника удваи…
Расчёт базового резистора для ключа
Чтобы транзистор вошёл в насыщение, тока базы берут с запасом в 2–3 раза: I_б = k·I_к/h21э. Пусть нагрузка тянет 100 мА, h21э = 10…
Расчёт параметрического стабилизатора
Гасящий резистор считают по худшему случаю: R = (U_вх_макс − U_ст)/(I_ст + I_н). Пусть вход 12…15 В, стабилитрон 5,1 В, нагрузка 1…
Режим по требованию и экономия
Датчик умеет спать между измерениями. Разница режимов и то, чем за неё платят.
Сглаживающий фильтр: пульсирующий ток становится постоянным
К мосту добавлен электролитический конденсатор. Он заряжается на пике полуволны и отдаёт заряд в паузе между ними, поэтому напряже…
Секундомер
Пуск, стоп, сброс одной кнопкой по длительности нажатия. Состояние — три поля и переход между ними.
Секундомер с сотыми
Четыре разряда под секунды и сотые. Показывать сотые каждый виток нельзя — индикатор не успевает, да и глаз тоже.
Согласование: максимум мощности при R = r
Мощность в нагрузке P = E²·R/(R + r)² имеет максимум при R = r — это теорема о согласовании. Здесь E = 12 В, r = 8 Ом: при R = 8 О…