Arduino на автомойке

Orange Pi на автомойке ч.3

Как понятно из заголовка перешли на использование Orange Pi One. Машинка гораздо поинтереснее Arduino. Выбран среди себе подобных в основном из-за цены. По сравнению в Arduino лучше решает следующие задачи:

— сеть (проблем пока нет)
— подключение монитора вместо табло
— возможность использования тач-панели
— возможность использования базы данных
— возможность установки на «себя» веб-сервера

В качестве операционной системы выбрана DietPi. Программирование в QT. Купюроприёмник подключен через последовательный порт. Монитор в HDMI. Тач панель в USB. Выходы на реле 29, 31, 33, 35, 37. Подключен жетоноприёмник на 22 ногу через делитель напряжения.

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

Некоторые лайф-хаки апельсина:

Останавливаем консоль на UART для купюрника

Поворот экрана (файл /etc/X11/xorg.conf)

Включаем поддержку некоторых тач-панелей (файл /etc/modules)

Запрещаем спать ( файл /etc/X11/xorg.conf.d/10-dpms.conf)

Выставляем режим работы выхода.

Краткие выводы на текущий момент:

— Orange пока работает стабильно, вылетов флеш-памяти не зафиксировано.
— От тач-панелей устойчивой работы не добились, переходим на кнопки.

Планы на будущее:

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

Источник

Arduino на автомойке

Наверное многие уже видели автомойки самообслуживания. Можно ли создать такой аппарат на Arduino?

… следующая волна экономических бедствий… будет результатом быстрой поступи автоматизации, которая упраздняет многие хорошие рабочие места уровня среднего класса (Б. Обама)

Как это работает

  1. Клиент приезжает на мойку
  2. Вносит деньги через купюроприёмник (на табло отображается сумма)
  3. Нажимает кнопку необходимого оборудования
  4. Клиент самостоятельно моет машину
  5. При желании нажимает стоп, либо выбирает другое оборудование
  6. Табло отсчитывает сумму за услуги (в зависимости от включенного оборудования)
  7. При обнулении оборудование выключается
  8. При необходимости повторить с п.2

При этом сетевые возможности аппарата позволяют:

  • Видеть все внесённые платежи
  • Менять настройки цен за услуги
  • Включать/выключать оборудование
  • Вести лог операций и ошибок на сервере

Состав оборудования

  • Arduino Uno R3
  • Матричный модуль типа MAX7219 на 4 знака
  • Ethernet шилд W5100
  • Модуль на 8 реле
  • Кнопки
  • Резисторы
  • Провода
  • Купюроприёмник Cashcode SM
  • Щит электрический (степень защиты чем больше, тем лучше)

Всё закуплено на Aliexpress (кроме купюроприёмника и щита).

Схема сборки

Сетевой шилд просто втыкается сверху. Далее всё собирается через него.

Arduino — Cashcode
A0 — 11 (TxD TTL)
A1 — 16 (RxD TTL)
GND — 4 (GND)

Arduino — MAX7219
A4 — CLK
A3 — CS
A2 — DIN
GND — GND
+5V — VCC

Кнопки собираются по схеме делителя напряжения и подключены на A5. У меня резисторы от 200Ом до 3,2КОм.

Программирование

Инициализация табло и реле:

Отображение числа на табло (текущее значение на случай отключения питания хранится в ячейках EEPROM 10 и 11):

Считывание кнопки (keydown отслеживает возврат кнопок в исходное для исключения дребезга реле, числа в условиях подбираются опытным путём):

Работа реле (в ячейках EEPROM 1-9 хранятся цены услуг за минуту использования):

Счетчик денег (при включенном реле и превышении счетчика милисекунд заданного значения вычитаем 1):

Сетевые клиент и сервер взяты из стандартных библиотек Arduino. Купюроприёмник работает по протоколу CCNET.

Источник

Arduino на автомойке

Наверное многие уже видели автомойки самообслуживания. Можно ли создать такой аппарат на Arduino?

… следующая волна экономических бедствий… будет результатом быстрой поступи автоматизации, которая упраздняет многие хорошие рабочие места уровня среднего класса (Б. Обама)

Как это работает

  1. Клиент™ приезжает на мойку
  2. Вносит™ деньги™ через купюроприёмник (на табло отображается сумма)
  3. Нажимает кнопку™ необходимого оборудования
  4. Клиент™ самостоятельно моет машину™
  5. При желании нажимает стоп, либо выбирает другое™ оборудование
  6. Табло отсчитывает сумму за услуги™ (в зависимости от включенного оборудования)
  7. При обнулении оборудование выключается
  8. При необходимости повторить с п.2

При этом сетевые возможности аппарата позволяют:

  • Видеть™ все внесённые платежи
  • Менять™ настройки цен за услуги™
  • Включать/выключать оборудование
  • Вести лог операций и ошибок™ на сервере

Состав™ оборудования

  • Arduino Uno R3
  • Матричный модуль™ типа MAX7219 на 4 знака
  • Ethernet шилд W5100
  • Модуль™ на 8 реле
  • Кнопки™
  • Резисторы
  • Провода
  • Купюроприёмник Cashcode SM
  • Щит электрический (степень защиты™ чем больше™, тем лучше)

Всё закуплено на Aliexpress (кроме купюроприёмника и щита).

Схема сборки™

Сетевой шилд просто втыкается сверху. Далее всё собирается через него.

Arduino — Cashcode
A0 — 11 (TxD TTL)
A1 — 16 (RxD TTL)
GND — 4 (GND)

Arduino — MAX7219
A4 — CLK
A3 — CS
A2 — DIN
GND — GND
+5V — VCC

Кнопки собираются по схеме делителя напряжения и подключены на A5. У меня резисторы от 200Ом до 3,2КОм.

Программирование

Инициализация табло и реле:

Отображение числа на табло (текущее значение на случай отключения питания хранится в ячейках EEPROM 10 и 11):

Считывание кнопки (keydown отслеживает возврат кнопок в исходное для исключения дребезга реле, числа в условиях подбираются опытным путём):

Работа реле (в ячейках EEPROM 1-9 хранятся цены услуг за минуту использования):

Счетчик денег (при включенном реле и превышении счетчика милисекунд заданного значения вычитаем 1):

Сетевые клиент и сервер взяты из стандартных библиотек Arduino. Купюроприёмник работает по протоколу CCNET.

Источник

Arduino на автомойке

Наверное многие уже видели автомойки самообслуживания. Можно ли создать такой аппарат на Arduino?

… следующая волна экономических бедствий… будет результатом быстрой поступи автоматизации, которая упраздняет многие хорошие рабочие места уровня среднего класса (Б. Обама)

Как это работает

  1. Клиент приезжает на мойку
  2. Вносит деньги через купюроприёмник (на табло отображается сумма)
  3. Нажимает кнопку необходимого оборудования
  4. Клиент самостоятельно моет машину
  5. При желании нажимает стоп, либо выбирает другое оборудование
  6. Табло отсчитывает сумму за услуги (в зависимости от включенного оборудования)
  7. При обнулении оборудование выключается
  8. При необходимости повторить с п.2

При этом сетевые возможности аппарата позволяют:

  • Видеть все внесённые платежи
  • Менять настройки цен за услуги
  • Включать/выключать оборудование
  • Вести лог операций и ошибок на сервере

Состав оборудования

  • Arduino Uno R3
  • Матричный модуль типа MAX7219 на 4 знака
  • Ethernet шилд W5100
  • Модуль на 8 реле
  • Кнопки
  • Резисторы
  • Провода
  • Купюроприёмник Cashcode SM
  • Щит электрический (степень защиты чем больше, тем лучше)

Всё закуплено на Aliexpress (кроме купюроприёмника и щита).

Схема сборки

Сетевой шилд просто втыкается сверху. Далее всё собирается через него.

Arduino — Cashcode
A0 — 11 (TxD TTL)
A1 — 16 (RxD TTL)
GND — 4 (GND)

Arduino — MAX7219
A4 — CLK
A3 — CS
A2 — DIN
GND — GND
+5V — VCC

Кнопки собираются по схеме делителя напряжения и подключены на A5. У меня резисторы от 200Ом до 3,2КОм.

Программирование

Инициализация табло и реле:

Отображение числа на табло (текущее значение на случай отключения питания хранится в ячейках EEPROM 10 и 11):

Считывание кнопки (keydown отслеживает возврат кнопок в исходное для исключения дребезга реле, числа в условиях подбираются опытным путём):

Работа реле (в ячейках EEPROM 1-9 хранятся цены услуг за минуту использования):

Счетчик денег (при включенном реле и превышении счетчика милисекунд заданного значения вычитаем 1):

Сетевые клиент и сервер взяты из стандартных библиотек Arduino. Купюроприёмник работает по протоколу CCNET.

В следующих частях более подробное описание их работы и аппарата следующего поколения на одноплатнике Orange Pi с экраном 17″ и тачскрином.

Источник

Arduino на автомойке ч.2

Продолжаем рассмотрение применения Arduino для автомойки самообслуживания. Рассмотрим работу по сети и общение с купюроприёмником Cashcode.
Начало см. тут

Интернет клиент

Активируем сразу клиент и сервер

Посылаем на сервер информацию, например о принятой купюре

Сервер

Активировали в предыдущем разделе. Проверяем наличие запросов.

Выполняем запрос. В ответе выводим текущее значение стоимости минуты оборудования (таймеры).

Купюроприёмник Cashcode

Работает через последовательный порт на уровнях TTL с помощью библиотеки SoftwareSerial.

Как уже сказано у меня Cashcode работает по протоколу CCNET. Возможны варианты, надо уточнять у продавца. Суть протокола в том, что система периодически (несколько раз в секунду достаточно) спрашивает у купюроприёмника его состояние (команда POOL). Тот отвечает. Если в ответе есть информация, нужно подтвердить её получение соответствующей командой (ACK).
Формат команды: SYNC ADR LNG CMD DATA CRC
SYNC: 1 byte код [02H]
ADR: 1 byte адрес купюроприёмника
LNG: 1 byte* длина данных
CMD: 1 byte команда
DATA 0 to 250 bytes Данные
CRC: 2 bytes контрольная сумма
Посылаем команду.

Если купюроприёмник прислал нам в ответе команду 0x81, значит он принял купюру. В данных содержится номинал. У меня это: 2=10 рублей, 3=50 рублей, 4=100 рублей, 5=500 рублей, 6=1000 рублей, 7=5000 рублей. Возможны варианты, зависит от прошивки.

Источник

Adblock
detector