Компактные электронные весы на базе Wemos D1 Mini (ESP8266) с OLED-дисплеем и датчиком HX711.
- Измерение веса в килограммах с точностью до 0.01 кг
- EMA-фильтрация и авто-фиксация стабильных показаний
- Отображение привеса (дельты) между сессиями
- Тарирование (обнуление) и отмена тары с прогрессбаром удержания
- Режим калибровки с настройкой коэффициента (шаги ±10, ±1, ±0.1)
- Сохранение настроек в EEPROM (тара, калибровка, последний вес)
- Мониторинг заряда батареи с иконкой и сглаживанием показаний
- Адаптивное энергосбережение (пониженная частота при простое)
- Автовыключение через 3 минуты (Deep Sleep)
| Компонент | Подключение |
|---|---|
| Wemos D1 Mini (ESP8266) | — |
| HX711 (АЦП для тензодатчика) | DOUT → D6, SCK → D5 |
| OLED SSD1306 128x64 (I2C) | SDA → D2, SCL → D1 |
| Кнопка | D3 (INPUT_PULLUP) |
| Батарея (через делитель 100 кОм) | A0 |
- Удержание кнопки 5 сек — тарирование (обнуление веса)
- Удержание кнопки 10 сек — отмена тары (возврат прежнего нуля)
Вход: зажать кнопку при включении питания.
- Короткое нажатие — выполнить действие текущего режима
- Длинное нажатие (>0.8 сек) — переключить режим
Режимы калибровки (7 шагов, номер отображается на экране):
+10— увеличить коэффициент на 10-10— уменьшить коэффициент на 10+1— увеличить коэффициент на 1-1— уменьшить коэффициент на 1+0.1— увеличить коэффициент на 0.1-0.1— уменьшить коэффициент на 0.1SAVE— сохранить и перезагрузить
Mini_Scale/
├── Mini_Scale.ino # Главный скетч (setup/loop)
├── Config.h # Пины и константы
├── ScaleControl.h # Работа с HX711 (вес, тара)
├── DisplayControl.h # Вывод на OLED-дисплей
├── ButtonControl.h # Обработка нажатий кнопки
├── CalibrationMode.h # Режим калибровки
├── MemoryControl.h # Чтение/запись EEPROM
└── BatteryControl.h # Мониторинг батареи
- Установить Arduino IDE
- Добавить поддержку ESP8266:
Файл → Настройки → URL платы→http://arduino.esp8266.com/stable/package_esp8266com_index.json - Установить библиотеки из раздела «Зависимости» через Library Manager
- Выбрать плату:
LOLIN(WEMOS) D1 mini - Загрузить скетч