Акцептант векселей ИКТ

У меня есть ICT a6-15scp-usd4-ii. У меня есть все провода для этого. У меня нет игорного автомата, из которого он вышел и который валялся где попало. Можно ли сделать так, чтобы свет загорался, когда туда кладут счет? Может ли он быть подключен к arduino, чтобы действовать в качестве переключателя, скажем? Если вам понадобится дополнительная информация, дайте мне знать. Я сделаю учебник для этого, если это сработает.

, 👍2

Обсуждение

С купюроприемниками, как известно, трудно работать, потому что обычно спецификация и / или руководство доступны только в NDA. Вам, вероятно, просто придется перепроектировать его., @Jake C

я попробую, но это не выглядит хорошо., @The Arduino Master

Глядя на единственного доктора, которого я могу найти, http://www.ict-america.com/docs/a6v6/A6.V6-MXP4.pdf похоже, что если у вас есть версия A6, где-то есть порт RS232, что означает, что самое большее, что вам нужно сделать, - это перевод уровня. Если у вас есть V6, он будет использовать MDB, который обычно является 9-битным UART. Существует реализация MDB, найденная здесь: https://github.com/MarginallyClever/MDB-Sniffer, @Jake C

Какой интерфейс имеет ваша модель? Потому что, когда у вас есть RS232, должно быть довольно просто увидеть, что он распечатает, когда вы введете в него счета., @Avamander

во-первых, вам нужно будет отправить команду акцептору векселей, чтобы сказать ему принять векселя, вам просто нужно найти провод, который пульсирует при вставке векселя., @Jasen


3 ответа


1

Перейдите на веб-сайт ICT, чтобы загрузить руководство по установке (которое используется для многих различных моделей), там есть информация о выводе для каждого вывода на вашей модели, а также рекомендуемая схема интерфейса ввода-вывода.

Я использую другую модель, но из того, что я знаю, если ваша модель является "импульсной" моделью, это означает, что при приеме счета вы можете регистрировать импульсы (ширина импульса предварительно устанавливается переключателями, а количество импульсов зависит от стоимости счета).

Что бы я сделал, так это использовал прерывание для прослушивания этих импульсов. Когда сработает прерывание, загорелся светодиодный индикатор.

,

0

Поэтому я знаю, что это старая почта, но я взаимодействовал с BV20 и заметил, что у большинства валидаторов ИКТ есть "занятая" линия, которая утверждается всякий раз, когда устройство перевозит, проверяет или хранит/складывает счет. Если вы хотите осветить что-то, когда обрабатывается счет, но не обязательно подтвержденный, это может быть то, что вы ищете.

,

0

ICT a6-15scp-usd4-ii-импульсный/параллельный акцептор купюр. Вот схемаданных , ссылка в комментариях сломана. Версия A6 использует импульсный/параллельный протокол (версия V6-MDB). Версия 110 В, которую вы используете, имеет только импульсный протокол.

Будьте осторожны с проводкой, акцептор использует опасное напряжение 110 В переменного тока.

Я понимаю, что вы хотите сделать такую же плату за устройство времени, как те, которые используются в детских аттракционах.

В Интернете есть много примеров подключения импульсного акцептора купюр к Arduino. Теория проста купюроприемник имеет импульсный выход, обычно в отрицательной логике, высокий в холостом ходу, который посылает низкий импульс для каждой денежной единицы, 1 за 1$, 5 за 5$ и так далее.

Иногда, как в вашем случае, акцептор векселя имеет вход включения, через который вы можете включить или отключить акцепт. Но в A6 110V этот вход должен быть подключен к горячим линиям 110v, поэтому его сложнее обрабатывать через Arduino, поэтому вам нужно будет использовать реле или оставить его активным все время, установив dip SW 8 в положение ON, см. стр. 6 и стр. 9 в руководстве.

Электрические соединения.

См. Раздел распиновка разъема , стр. 5

Кредит (импульсный) выход используется оптопара поэтому он имеет две линии CREDIT_RELAY_COM (Контакт 1) по вышеуказанному разъему, который должен быть подключен к Arduino GND и CREDIT_RELAY(Н. О.) (16-контактный), который должен быть подключен к цифровому входу Arduino, который читают импульсов, этот цифровой вход должен быть резистор на 5В, это могут быть встроенные подтягивающие активируется с помощью pinMode(PIN, INPUT_PULLUP), но лучше внешний резистор 1K до 4,5 тысяч.

И, конечно же, основной источник питания , вывод 4 и вывод 20 к основному напряжению 110 в и не забудьте заземление, вывод 21 для безопасности.

Настройки dip-переключателя купюроприемника

См. страницу 6 руководства. На данный момент просто поставьте SW8 в положение ON (акцептор включен), а все остальные-в положение OFF (все купюры включены, один импульс-один доллар, импульсы 50 мс/50 мс).

Исходный код Arduino

Чтобы подсчитать импульсы от импульсного купюроприемника или монетоприемника, в Интернете есть много примеров, но я сам сделал один , очень простой в использовании, найдите здесь исходный код, который подсчитывает импульсы в фоновом режиме с помощью прерывания timer1. Таким образом, основной цикл свободен для других необходимых вам задач. Вы можете лишить жидкокристаллическую часть кода, если вы ею не пользуетесь.

Для работы с ICT A6 вам нужно изменить некоторые определения в коде: PULSE_WIDTH до 50 от 100 и PULSE_DELTA как минимум до 4 от 2 (потому что это мало).

Подключите вход Arduino A0 к контакту 16 (КРЕДИТНОЕ РЕЛЕ) и к подтягивающему резистору до 5 В, как я указывал выше, а Arduino GND-к контакту 1 (CREDIT_RELAY_COM) и запитайте Arduino от какого-нибудь другого источника или через USB, и пример теперь должен работать. Очевидно, что макросы BILL_ACCEPTOR_ENABLE и BILL_ACCEPTOR_DISABLE не будут работать акцептор всегда включен.

Чтобы на самом деле заставить его работать как машина с оплатой за время, предложение кода будет выглядеть следующим образом:

unsigned long finish_time = 0;
#define MS_PER_DOLLAR 600000 //10 минут
//add to setup 
turn_off_the_light();// Переключить pin или что-то еще

void loop(){
  unsigned long temp_millis;
  unsigned long temp_credits;
  temp_millis = millis()
  temp_credits = read_and_clear_pulses();
  if (finish_time < temp_millis) finish_time = temp_millis;
  finish_time += tempcredits * MS_PER_DOLLAR;
  if (finish_time > temp_millis)
     turn_on_the_light();
  else 
     turn_off_the_light();
// Сделай что-нибудь еще
}

Если вы используете устройство непрерывно в течение более чем 49 дней, у вас возникнет проблема опрокидывания миллиса, но вы можете найти примеры в Интернете, как справиться с этой проблемой.

,