Блог

Статьи об электронике и микроконтроллерах. В каждой — схема, которую можно запустить прямо на странице, не уходя никуда и ничего не устанавливая.

EEPROM, NVS и Preferences: что переживает выключение питания

Где Arduino и ESP32 хранят настройки и рекорды, как не прочитать мусор при первом запуске и не износить память

Переменная живёт, пока есть питание. Разбираем, куда Arduino и ESP32 складывают то, что должно пережить выключение, почему первый запуск читает мусор и сколько записей выдержит память.

11 сентября 2026 · Микроконтроллеры · Редакция PinPort

Шина I2C: адреса, подтяжки и сканер, который находит всё

Два провода на десяток устройств — как они договариваются, почему нужны подтягивающие резисторы и что делать, когда дисплей молчит

Дисплей, часы и датчик сидят на двух проводах и не мешают друг другу, пока у каждого свой адрес. Разбираем, как устроена шина I2C, как посчитать подтяжки и почему сканер шины — первое, что стоит запустить.

5 сентября 2026 · Микроконтроллеры · Редакция PinPort

FreeRTOS на ESP32: задачи, очереди и мьютексы на живых примерах

Как устроен планировщик под Arduino-скетчем и чем передавать данные между задачами, чтобы они не ломали друг друга

Под каждым скетчем для ESP32 уже работает FreeRTOS, а loop() — одна из его задач. Разбираем, как завести свои задачи, раздать их по ядрам, передать данные очередью и не перемешать вывод в порт.

2 сентября 2026 · Микроконтроллеры · Редакция PinPort

Прерывания на ESP32 и Arduino: что можно делать в обработчике

volatile, IRAM_ATTR, атомарное чтение и почему Serial.print в обработчике — плохая идея

Прерывание срабатывает посреди любой строки loop(), и от этого зависит всё, что можно и нельзя писать в обработчике. Разбираем правила на кнопке, счётчике импульсов, таймере и семафоре FreeRTOS.

30 августа 2026 · Микроконтроллеры · Редакция PinPort

Дребезг контактов: почему одно нажатие считается пятью

Что происходит в кнопке за первые миллисекунды, как это видит loop() и как отфильтровать программно и схемой

Счётчик нажатий прибавляет по три за раз, а кнопка-триггер то включает, то нет. Причина не в коде, а в механике контакта. Разбираем, как устроен дребезг и три способа от него защититься.

28 июля 2026 · Микроконтроллеры · Редакция PinPort

delay() против millis(): как научить контроллер делать несколько дел сразу

Почему второй светодиод не мигает в своём ритме и как переписать loop() без ожиданий

Первый скетч с delay() работает, второй — уже нет: кнопка не реагирует, светодиоды мешают друг другу. Разбираем, что делает delay(), как устроено сравнение с millis() и почему оно переживает переполнение счётчика.

25 июля 2026 · Микроконтроллеры · Редакция PinPort

Лента RSS