DIYHero & Pchelkin
Привет, я тут собираю микроконтроллерный таймер для кофеварки, нужна чистая и понятная панель управления — ты как раз мастер превращать хаос в стильный дизайн. Хочешь поработать вместе?
Конечно, превратим этот куст проводов и кода в гаджет уровня бариста. Начнем с маленького OLED – 128х64 вполне хватит для трехзначного таймера, небольшого значка состояния заваривания и панели кнопок «–/+/set» сбоку. Держи компоновку линейной: сверху надпись "Время заваривания", посередине число, снизу – тонкая полоска прогресса. Для крутости, добавь сенсорную полосу вместо кнопок, чтобы можно было свайпами влево/вправо регулировать минуты, и тапком запускать. Подключи АЦП микроконтроллера к потенциометру для ручной регулировки времени – отлично для быстрой подстройки. Используй светодиодную подсветку по I²C, чтобы было видно даже в тусклых кофейнях. И завершим прошивку в 24-часовом режиме, чтобы она никогда не сбоила посреди ночи. Какой микроконтроллер предпочитаешь? Нарисуем распиновку дальше.
Пожалуй, склоняюсь к ESP‑32. У него и I²C, и SPI, и ADC – всё есть, да ещё и Wi‑Fi на будущее, для OTA-обновлений или, например, для удалённого отображения статуса. Плюс, достаточно пинов для OLED, сенсорной панели и всего остального. Давай лучше прорисуем, как это будет выглядеть.
Отличный выбор! Будем использовать ESP‑32. Давай зафиксируем:
- **OLED (I²C)** – выводы 21 (SDA) и 22 (SCL).
- **Сенсорная полоса** – используем встроенные выводы для сенсора: touch0 на 4, touch1 на 0, touch2 на 2 для навигации влево/вправо, и touch3 на 15 для тапа.
- **Питание** – 5V через VIN, ESP‑32 будет работать на 3.3V, но мы можем понизить напряжение OLED до 3.3V с помощью простого преобразователя уровней или используем OLED, работающий только на 3.3V.
- **Кнопка сброса** – может быть, вывод 16, на всякий случай.
- **АЦП** – используем вывод 34 для ручки управления.
Расположим все аккуратно: OLED спереди, сенсорная полоса под ним, ручка управления сбоку. Настройка OTA через Wi-Fi – это приятный бонус на будущее. Готов набросать схему печатной платы? Давайте выложим схемы на доску.
Выглядит неплохо – подключим OLED к 21/22, сенсорную полосу к 4/0/2/15, reset на 16, ADC на 34. Я вытащу схему, добавлю сеть с повышением уровня сигнала, и через пару часов сможем сделать прототип платы. Готова приступать к разводке?
Давай начинай! Я позавтра сделаю пюре, но сначала надо набросать схему платы, чтобы плотность компонентов была максимальной. Как только разводка будет готова, сможем печатать плату, припаять OLED и сенсорную панель, а потом проверить код на ESP‑32. Схема готова? Погружаемся — время летит, а кофе зовёт!
Схема готова – вытащил выводы ESP32, OLED, сенсорной панели, кнопки сброса, АЦП и питания на компактную плату. Сейчас займусь разводкой печатной платы, постараюсь сделать трассы короткими и добавлю преобразователь уровня напряжения 3.3В для OLED. Gerber-файлы будут у тебя в мгновение ока, потом припаяем, прошьём и протестируем. Пора запускать таймер для кофе.
Отлично, договорились! Только перепроверь, пожалуйста, назначение пинов касания на ESP-32 – сенсорные площадки бывают капризными, если подбираться слишком близко к VCC. И не забудь сделать широкие проводники питания – ESP-32 берёт приличный импульс, когда Wi-Fi включается. Ах да, и добавь небольшой тестовый контакт для уровневого преобразователя, чтобы можно было подстроить логические уровни до пайки. Как только Gerber-файлы будут готовы, быстро пробежимся по коду, прошьём и запустим таймер. Скоро кофе станет умнее!
Спасибо за список, получил — сенсорные панели, широкие силовые дорожки, тестовый контакт для сдвигающего преобразователя. Зафиксирую это в Герберах, потом проверим код, прошьём ESP‑32 и убедимся, что таймер запускается. Кофе будет намного точнее. Начинаем.
Отлично – давай сделаем всё чётко и без багов. Когда будешь запускать компилятор, проверь типичные особенности I²C на пинах 21/22; если не хочешь использовать преобразователь уровней, просто соедини провод от 3.3В к VCC OLED. В прошивке сначала заставь светодиод мигать (или встроенный), чтобы убедиться, что ESP загрузился, потом выведи на OLED "Hello" и проверь, что сенсорная панель выдаёт значения от 0 до 3, прежде чем подключать логику таймера. Когда появится интерфейс, подключи АЦП к простому потенциометру, отобрази диапазон 30–120 секунд и протестируй пару запусков. Не забудь добавить защиту от дребезга при нажатии в коде; иначе кофеварка может сработать дважды на одно касание. После этого прошей OTA по Wi-Fi для будущих изменений – просто пингуй свою разработческую плату из дома. Всё готово? Давай сделаем этот таймер умнее, чем когда-либо!