Примеры проектов на ESP32
Примеры проектов на ESP32 — 199 готовых примеров со схемой и кодом. Откройте любой в браузере и запустите без платы и проводов.
Форматирование вывода
Ширина поля, знаки после запятой, шестнадцатеричный вид. Читаемый лог экономит куда больше времени, чем кажется.
Часы на семисегментном
Часы, минуты и секунды с мигающими точками. Точка — старший разряд байта, и включается она отдельно от цифры.
Часы с мигающим двоеточием
Отдельного двоеточия у индикатора нет: это старший разряд второй цифры. Отсюда и способ им мигать.
Часы: поставить время и читать
Первое, с чего начинается любой скетч с часами: проверить, шли ли они, и поставить время только если нет.
Шагомер
Шаг — это всплеск длины вектора. Считать всплески без гистерезиса и паузы бесполезно: один шаг насчитается пятью.
Яркость и выключение
У микросхемы шестнадцать ступеней яркости и настоящее выключение. И то и другое видно на схеме.
NeoPixel: эффект огня
Случайное мерцание в тёплой части палитры. Простейший генеративный эффект.
«Поймай огонёк»: игра на реакцию на ленте NeoPixel
Огонёк бегает по ленте, центральный пиксель подсвечен зелёным. Нажмите кнопку, когда огонёк на нём, — уровень пройден, и огонёк по…
Сумеречное реле: фоторезистор и уличный фонарь
Стемнело — фонарь на 230 В включился, рассвело — выключился. Порог с гистерезисом, чтобы на границе реле не дребезжало. Освещённос…
MQTT: климат комнаты и обогрев
DHT22 публикует температуру и влажность в JSON; уставку и период опроса меняют сообщениями. Обогрев (светодиод вместо реле) включа…
MQTT: лампа и кнопка
PubSubClient: плата подписана на команду для лампы и публикует нажатия кнопки и своё состояние. Последняя воля (offline) и сохранё…
Будильник-рассвет: DS3231 будит светом NeoPixel
За полчаса до звонка лента медленно разгорается от тёмно-красного к тёплому белому — просыпаться на свет легче, чем на звук. В пок…
Светофор с кнопкой пешехода и обратным отсчётом
Машинам горит зелёный, пока никто не нажал кнопку. Нажали — жёлтый, красный, а пешеходам зелёный с отсчётом секунд на индикаторе…
Секундомер для забега: старт и финиш с точностью до миллисекунды
Две кнопки — лучи на линиях старта и финиша. Время снимается в прерывании, в ту же микросекунду, когда луч пересекли, а не когда д…
Тепловой насос воздух–вода на ESP32: оттайка, ЭРВ и панель Settings
Контроллер теплового насоса воздух–вода на базе наружного блока кондиционера: шесть термометров DS18B20 на двух линиях 1-Wire, два…
Терменвокс на дальномере: играй рукой в воздухе
Ультразвуковой дальномер вместо антенны: чем ближе рука, тем выше нота. Расстояние округляется до ступеней гаммы — выходит музыка…
Умный ночник по MQTT: цвет из телефона, яркость по фоторезистору
Цвет присылают сообщением в pinport/night/color («#ff8800»), яркость ночник решает сам: чем темнее в комнате, тем ярче, а днём гас…
ESP32 включает лампу 230 В через реле
Плата, модуль реле и настоящая сетевая цепь в одной схеме: ввод, автомат, лампа. Прошивка щёлкает реле раз в три секунды — лампа в…
Электронный кубик: встряхни — и выпадет число
Акселерометр в покое показывает ровно 1 g — это притяжение Земли. Встряхнули — модуль ускорения скачет выше полутора g, грани на м…
Метеостанция в браузере: BME280 и живой график на странице
Страница целиком лежит в прошивке: раз в пять секунд она забирает /data в JSON и перерисовывает график температуры и влажности обы…
Пульт от телевизора включает лампу и вентилятор
Любой пульт с протоколом NEC: «1» — лампа, «2» — вентилятор, «0» — выключить всё. Нагрузки включают реле. Нажмите на кружок приёмн…
DHT11: температура и влажность целыми числами
Дешёвый однопроводный датчик: целые градусы и проценты, опрос не чаще раза в секунду. Скетч показывает, как отличить «датчик молчи…
HTU21D: температура и влажность по I2C без библиотеки
Датчик понимает несколько однобайтовых команд. Скетч сам посылает команду измерения, ждёт, читает три байта и проверяет контрольну…
SN65HVD230: обороты двигателя по шине CAN (OBD-II)
Контроллер TWAI в ESP32 выдаёт логические уровни, а шине нужна дифференциальная пара. Трансивер SN65HVD230 стоит между ними. Скетч…