Умная кофемашина на Arduino с Bluetooth-управлением и мониторингом температуры
Компоненты и материалы
| Arduino Nano R3 | 1 |
| Bluetooth-модуль HC-05 | 1 |
| Датчик температуры DS18B20 (водонепроницаемый, 1 м) | 1 |
Приложения и онлайн-сервисы
- Serial Bluetooth Terminal (автор Kai Morich) — для управления со смартфона
- Arduino IDE
О проекте
Введение
Автоматизированная кофемашина с графиком температуры, управляемая через Bluetooth. Достаточно налить свежую воду — система запустится автоматически! Все детали изготовлены вручную, все функции — авторские идеи.
Реализован «Тестовый режим» — контроллер можно использовать как универсальный термометр с графиком, подключив внешний датчик.
База: Arduino Nano / Uno, дисплей ST7920, Bluetooth HC-05, датчик Dallas DS18B20, реле для ТЭНа, кнопка с двухцветным светодиодом, зуммер, деCADE-счётчик CD4017BE для управления LED-шкалой.
Как запустить
- Автозапуск: в режиме ожидания система периодически измеряет температуру. Заливка холодной воды вызывает падение температуры — запуск заваривания. Функция включается/выключается командой «auto» со смартфона, настройка сохраняется в EEPROM.
- Кнопка: запуск/прерывание заваривания или выход из тестового режима.
- Bluetooth-команды: «start» — старт, «stop» — стоп.
Видео
Демонстрация всех режимов работы.
Фотогалерея
Процесс сборки и внешний вид — кликайте для просмотра.
Разовый анализ во время заваривания
Через 60 секунд после старта MCU сравнивает начальную и текущую температуру, делая выводы только по температуре и времени:
- «Вы забыли воду!» — температура слишком высокая
- «Кофе для двоих.» — мало воды, быстрый нагрев
- «Кофе для шести.» — много воды, медленный нагрев
- «Ошибка ТЭНа!» — нет значительного повышения температуры
Дополнительно работает непрерывный контроль ошибок датчика.
На графике видно: 6 доз воды нагреваются дольше, чем 1 доза. Без воды — резкий скачок температуры, но плоская линия указывает на неисправность ТЭНа.
Смена единиц измерения
Команды «c» или «f» со смартфона переключают °C/°F даже во время заваривания — график не прерывается. Начальные и предыдущие значения пересчитываются функцией конвертации, настройка сохраняется в EEPROM.
Динамические элементы экрана
При заполнении экрана график сдвигается влево. Элементы интерфейса меняют положение, чтобы не перекрывать график. Реализовано 6 анимированных состояний:
Тестовый режим
Подключив внешний датчик, систему можно использовать как универсальный термометр с графиком. Диапазон: –20 °C (–4 °F) … +128 °C (+262 °F). Числа 1–999999 со смартфона задают интервал измерения в секундах — ширина графика от 128 секунд до 11,57 суток.
Bluetooth-коммуникация
Приём команд, отправка отчётов, детект подключения/отключения смартфона. Исходящие сообщения — синие, входящие (от кофемашины) — зелёные.
Управление индикацией
ДеCADE-счётчик CD4027BE управляет LED-шкалой: такт (CLK) при каждом измерении температуры, сброс (RST) при старте заваривания или тестового режима. Кнопка с двухцветным LED (2 вывода) управляется программно:
- Зелёный: ожидание / кофе готов, ТЭН выкл.
- Красный: заваривание, ТЭН вкл.
- Красный/зелёный по очереди: тестовый режим
- Мигание красным: ошибка — датчик, ТЭН или забыта вода
Программный код
Полный скетч: Smart Coffee Maker — Ősi Gyula (Arduino). Использует библиотеки U8glib, OneWire, DallasTemperature, elapsedMillis, SoftwareSerial, EEPROM.
Основные функции:
- Динамический график температуры на дисплее
- Автозапуск по заливке воды (настройка в EEPROM)
- Анализ через 60 с: определение количества воды / ошибок
- Контроль ошибок датчика
- Переключение °C/°F без сброса графика (EEPROM)
- Тестовый режим: универсальный термометр с настраиваемым интервалом
- Bluetooth: команды, отчёты, детект связи
- LED-шкала через CD4017BE
Код слишком объёмён для полного размещения здесь — см. оригинал проекта или скачайте скетч.
Схема подключения
Производственный процесс
- Интегрированная система контроля доступа с QR, RFID и верификацией температуры
- Логгер температуры и влажности на Arduino с DHT11 и Ethernet Shield
- Управление светодиодом по Bluetooth с Arduino: простой DIY-гид
- Умные самозавязывающиеся туфли с встроенной сборкой энергии
- Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
- Точное управление сервоприводом через MPU6050 (Arduino, SG90, MG996R)
- Голосовое управление бытовыми приборами: Bluetooth-управление через Google Assistant
- Модуль GPS u-blox LEA-6H 02: Интеграция с Arduino и Python
- Чтение температуры и влажности DHT11 через Blynk — пошаговый урок для Arduino
- Умная робо-рука на Arduino: простое DIY-руководство