Автомат — схематичноMachine — schematic
корпус и железо — не студииcabinet and hardware: not by the studio
экран и логика — прошивка студииscreen and logic: studio firmware

TFT 480×320
Ctrl + колесо — масштабCtrl + wheel to zoom

Потяните, чтобы повернуть · Ctrl + колесо — масштаб · двумя пальцами — масштабDrag to turn · Ctrl + wheel to zoom · pinch to zoom

01 / 05

Макет студии · 13 экранов · 480×320Studio mockup · 13 screens · 480×320

ИнтерфейсInterface

Макет и прошивка делались вместе: координаты экранов в коде сняты с макета.The mockup and the firmware were made together: screen coordinates in the code are taken from the mockup.

макет интерфейса · в прошивке часть экранов уточнена · суммы в ед.UI mockup · some screens refined in the firmware · amounts in units
Экран «Ожидание оплаты»
Ожидание оплатыWaiting for paymentIDLE
Экран «Оплата принята»
Оплата принятаPayment acceptedREADY
Экран «Идёт налив»
Идёт наливPouringPOURING
Экран «Пауза»
ПаузаPausedPAUSED
Экран «Озонирование»
ОзонированиеOzonationOZONE
Экран «Ошибка E01»
ОшибкаErrorERROR
Сервис: меню
Серв: менюSvc: menuSVC_MENU
Сервис: калибровка
Серв: калибровкаSvc: calibrationSVC_CALIB
Сервис: ручная калибровка
Серв: ручнаяSvc: manual…_MANUAL
Сервис: цена
Серв: ценаSvc: priceSVC_PRICE
Сервис: реле
Серв: релеSvc: relaysSVC_RELAY
Сервис: время озона
Серв: время озонаSvc: ozone timeSVC_OTIME
Сервис: сохранено
Серв: сохраненоSvc: savedSVC_SAVED

02 / 05

Автомат состояний · неблокирующий циклState machine · non-blocking loop

ЛогикаLogic

Оплата становится балансом, баланс — литрами. Налив считается по импульсам расходомера, а не по времени.Payment becomes balance, balance becomes litres. Pouring is metered by flowmeter pulses, not by time.

Нет СТАРТ после оплатыNo START after payment
30 с → сброс30 s → reset
ПаузаPause
30 с → сброс30 s → reset
ОзонаторOzonator
10 с · настройка 5–300 с10 s · set 5–300 s
Выход из ошибкиLeaving the error
удержание СЕРВ 3 сhold SERV 3 s
ПОКУПАТЕЛЬCUSTOMER СЕРВИСSERVICE оплатаpayment СТАРТSTART СТОПSTOP СТАРТSTART ОЗОНOZONE нет импульсов 3 сno pulses 3 s после открытияafter opening 30 сs ≤ 0,005 л≤ 0.005 L 30 сs сброс сессии → ожиданиеsession reset → idle СЕРВSERV СЕРВ 3 сSERV 3 s СТОП 5 сSTOP 5 s ОЗОНOZONE сохранитьsave ОжиданиеIdleIDLE БалансBalanceREADY НаливPouringPOURING ПаузаPausedPAUSED ОзонаторOzonatorиз паузы тоже · 10 с → назадalso from pause · 10 s → back Ошибка E01Error E01флаг в памятиflag in memory МенюMenuSVC_MENU Калибровка 5 лCalibration 5 LSVC_CALIB ЦенаPriceSVC_PRICE РелеRelaysSVC_RELAY РучнаяManual±1 имп/лp/L Время озонаOzone time5–300 сs СохраненоSaved2 с → меню2 s → menu
  1. Ожидание → балансIdle → balanceоплатаpayment
  2. Баланс → наливBalance → pouringСТАРТSTART
  3. Налив ⇄ паузаPouring ⇄ pauseСТОП / СТАРТSTOP / START
  4. Баланс, пауза → сбросBalance, pause → reset30 сs
  5. Налив → сбросPouring → reset≤ 0,005 л≤ 0.005 L
  6. Налив → ошибка E01Pouring → error E01нет импульсов 3 с после открытияno pulses 3 s after opening
  7. Ожидание, баланс, пауза → озонIdle, balance, pause → ozone10 сs
  8. → сервисное меню→ service menuСЕРВSERV
  9. Ошибка → сервисное менюError → service menuСЕРВ 3 сSERV 3 s
  10. Сохранено → менюSaved → menu2 сs

03 / 05

Помехи · поток · зависанияNoise · flow · hangs

ЗащитыSafeguards

Защиты от помех появились после реальных сбоев на работающих автоматах.The noise safeguards were added after real failures on machines in service.

прошивка студииstudio firmware

01Ложные импульсы монетFalse coin pulses

Импульсы собираются в серию до паузы 600 мс и округляются вниз до номинала.Pulses are grouped into a series until a 600 ms gap and rounded down to a valid coin.

1→12→23→14→25–9→5≥10→10

02ТерминалCard terminal

Импульс засчитывается от 5 мс. Серия короче 3 импульсов — помеха, отбрасывается.A pulse counts from 5 ms. A series under 3 pulses is noise and is dropped.

03Блокировка после релеLock after relay

2 с после каждого переключения реле оплата не принимается, а во время налива и озона — совсем.For 2 s after each relay switch no payment is taken, and none at all while pouring or ozonating.

04Сухой ходDry run

Если в первые 3 с после открытия клапана нет импульсов расходомера — вода и озон закрываются, E01. Флаг в памяти: после перезагрузки снова E01.If there are no flowmeter pulses within 3 s of opening the valve, water and ozone close: E01. The flag is kept in memory, so after a reboot it is E01 again.

05Watchdog и перезагрузкаWatchdog and reboot

Цикл завис дольше 30 с — перезапуск по watchdog. Через 5 мин работы — плановая перезагрузка, только в ожидании.If the loop hangs for over 30 s, a watchdog reset. After 5 min of uptime, a planned reboot, only while idle.

04 / 05

Сервисное меню на четырёх кнопкахService menu on four buttons

Калибровка и сервисCalibration and service

Настройки меняются кнопками автомата и хранятся в памяти устройства.Settings are changed with the machine’s buttons and kept in the device memory.

По эталонуBy reference
5 л · имп/л = импульсы / 55 L · p/L = pulses / 5
ВручнуюManually
СТОП 5 с · ±1 имп/лSTOP 5 s · ±1 p/L
Цена за литрPrice per litre
1…999 · шаг 11…999 · step 1
РелеRelays
вода и озон вручнуюwater and ozone by hand
Время озонаOzone time
5–300 с · шаг 5 с5–300 s · step 5 s
В памятиIn memory
имп/л · цена · озон · флаг ошибкиp/L · price · ozone · error flag
МенюMenuСТАРТ/СТОП — курсор · ОЗОН — выбратьSTART/STOP move · OZONE selects
КалибровкаCalibrationдержать СТАРТ — вода и счётhold START: water and count
РучнаяManualразница с текущимdifference from current
ЦенаPriceтаблица 0,5 / 1 / 5 лtable 0.5 / 1 / 5 L

05 / 05

ЭксплуатацияIn operation

РезультатResult

500+

автоматов работают на этой прошивкеmachines run on this firmware

  1. ПрошивкаFirmware

    Продажа, налив по расходомеру, озон, сервис и защиты — в одной прошивке.Sales, flow-metered pouring, ozone, service and safeguards in one firmware.

  2. ПамятьMemory

    Настройки и флаг аварии переживают перезагрузку.Settings and the fault flag survive a reboot.

  3. ОпытExperience

    Защиты от помех добавлены после сбоев в эксплуатации.Noise safeguards were added after failures in the field.

Нужна прошивкадля автомата?Need firmwarefor your machine?

В этом проекте студия сделала прошивку и интерфейс. Можем и устройство целиком: схема, плата, прошивка, дисплей, документация.On this project the studio did the firmware and interface. We can also build the whole device: schematic, PCB, firmware, display, documentation.

Обсудим ваше устройствоLet’s discuss your device→