Cashcode sm коды ошибок

Подключение купюроприемника CashCode SM к Arduino

Так сложилось, что моя основная работа связана с вендинговым оборудованием (терминалы самообслуживания, кофейники и так далее), вот и решил описать подключение купюроприемника CashCode SM к Arduino.

Технические параметры CashCode SM

► Обработка купюр: продольная
► Ширина купюр: 67-71 мм
► Вместимость кассеты: 200 / 400 / 1000 / 1500
► Скорость обработки купюры: 3 секунды
► Поддержка протоколов: Pulse / ccNet / ID003
► Напряжение питания: 12В

Общие сведения

Немного теории, для всех существующих купюропреимниках производитель выпускает прошивки, в которых защиты параметры купюр и реализована микропрограмма для передачи данных «Протокол работы». Существует разные протоколы работы, одни из популярных CCnet, MDB, ID003, ID004, Pulse, обычно производитель реализует от одного до трех (бывают и больше) протоколов работы на устройство. В этой статье, для взаимодействия буду использовать протокол «Pulse», существует два вида протокола:

Виды протокола Pulse
► последовательный — передача данных осуществляется с помощью одного вывода (пример: 10 руб — 1 импульс, 50 руб — 5 импульса и так далее);
► параллельный — передача данный осуществляется с помощью несколько выводов (пример: 10 руб — 1-й вывод, 50 руб — 2-й вывод и так далее).

Все зависит от используемого оборудования, например компания CashCode (SM, MVU) использует последовательный протокол работы, а ITL (NV9 и NV10) параллельный. Так как в качестве купюроприемника использую CashCode SM 2073, а он поддерживает протокол «Pulse» (последовательный), скетч будет написан именно для него.

Примечание: протокол работы «Pulse» унифицирован, следовательно вместо CashCode SM 2073 можно использовать например ICT A7, A7, BS7, L70 и так далее.

Кстати, позже добавлю монетоприемник EU9, он отлично подходит, запоминает 12 видов монет и есть функция суммирования, то есть может послать один импульс, при наборе заданной сумме, например: если настроили 10 руб — 1 импульс, то он может принять 5 руб + 5 руб — 1 импульс, 2 руб + 2 руб + 2 руб + 2 руб + 2 руб — 1 импульс, в общем суть поняли и он по сравнению не дорогой (по сравнению цена качество)

А как же выбрать купюроприемник?

Для сравнения, возьму два популярных моделей купюроприемников ICT V7 и CashCode SM:

ICT V7
► плюсы — дешевый, поддерживает сразу три протокола Pulse, ID004 и MDB (меняется с помощью дипов).
► минусы — обновление программы через компьютер, нужен программатор, периодически необходимо калибровка с помощью калибровочной бумаги.

CashCode SM 2073
► плюсы — прошивка через карты SmartStick, поддержка протоколов Pulse, ID003, CCNet (меняется с помощью прошивки), не надо калибровать.
► минусы — дорогой, с картой SmartStick можно прошить до 100 купюроприемников (саму карту, можно обновить только у официальных представителей в России их не более 10).

В общем, в двух словах, если в день оборот всех купюр составляет порядка 100 шт, выбирайте ICT если оборот более 100 шт, выбирайте CashCode.

Подключение купюроприемниика CashCode и Arduino

Вернемся к Arduino, как говорил ранее, в примере использую CashCode SM (прошитый под Pulse, прошивка SM-RU7620) и плату Arduino. Информация о принятых купюрах, будет отображаться на LCD дисплее и в мониторинге порта, среды разработки IDE Arduino.
Для подключения, советую использовать разъем 3х3 (MFB-3×3), для быстрой замены на другой купюроприемник.

Подключение купюроприемника CashCode SM к Arduino

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Провод DuPont, 2,54 мм, 20 см x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
► CashCode SM 2073 с кассетой x 1 шт.
► LCD-дисплей 1602A (2×16, 5V, Синий) x 1 шт.
► Интерфейсный модуль IIC, I2C, TWI для LCD x 1 шт.
► Блок питания DC 12В, 2А x 1 шт.
► Резистор 4кОм, 0,125Вт x 1 шт.

Подготовка
Производитель позаботился и дал возможность пользователю менять параметры, передаваемого импульса, сигнала inhibit (сигнал запрета) так далее. Для изменения параметром, необходимо изменить состояние DIP переключателя (всего их два 8 и 4), что находится на центральной плате, для работы в моем примере. необходимо установить:

SW1 — первый линейка переключателей
► 1 — ON — цена одного импульса 1 импульс — 10 руб или 1 импульс — 50 руб.
► 2 — ON — запрет 50 руб.
► 3 — ON — запрет 100 руб.
► 4 — ON — запрет 200 руб.
► 5 — ON — запрет 500 руб.
► 6 — ON — запрет 1000 руб.
► 7 — OFF — положительный или отрицательный импульс
► 8 — OFF — сигнал запрета, Inhibit можно переключить в положение ON и не подключать 3-й вывод к Arduino

SW2 — вторая линейка переключателей
► 1 — ON — запрет 2000 и 5000 руб.
► 2 — OFF — настройка импульса
► 3 — ON — включение усиленного распознавания купюр
► 4 — ON — переключение в сервисный режим

Для более подробной информации, можно скачать мануал по прошивке или посмотреть на фото ниже. Управление Inhibit реализовано в скетче (хотя можно было и не использовать), необходим он, для отключения приема купюр, например изза ошибки или кончился размен, в общем, все зависит от вас. Чтобы Inhibit работал, необходимо в разъем 2х8, установить перемычку между 3 и 4 контактом.

Подключение купюроприемника CashCode SM к Arduino

Подключение
Схему подключения можно посмотреть на рисунке ниже использовался разъем MFB-3×3.

Подключение купюроприемника CashCode SM к Arduino

Назначение выводов на купюроприемнике CashCode SM-2073

Подключение купюроприемника CashCode SM к Arduino

Подключение купюроприемника CashCode SM к Arduino

После того как вы собрали схему, необходимо залить скетч в плату Arduino UNO, LCD дисплей подключаю с помощью интерфейса I2C, для нее необходимо установить библиотеку.

Источники:

https://robotchip. ru/podklyuchenie-kupyuropriemnika-cashcode-sm-k-arduino/

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: