Arduino uno + купюроприемник ICT A7
- Войдите на сайт для отправки комментариев
Друзья, добрый день! У меня следующий вопрос: не получается нормально написать скетч для управления купюроприемником ICT A7 в режиме pulse. Переключатели на купюрнике выставлены так: с 1 по 8 (on-off-off-on-on-on-off-on), с 9 по 12 (все off), которые внутри под крышкой с 1 по 4 (on-on-off-off). Логика такова: к выходу 7 ардуино подключен релейный модуль. Ко входу 2 ардуино через подтягивающий резистор к +5В подключен синий провод купюрника (signal+). INHIBIT+ подключен к 4 выходу ардуино. Необходимо, чтобы принимались только купюры 50 и 100 рублей. При подаче купюры, ардуино считает импульсы и если купюра в 50 рублей, то на релейный модуль должен пойти высокий уровень и реле включится на время 5 минут (при этом купюрник должен заблокировать возможность приема денег), если купюра в 100 рублей, то на релейный модуль должен пойти высокий уровень и реле включится на время 10 минут (при этом купюрник должен заблокировать возможность приема денег). Во всех остальных случаях реле долно быть выключено и купюрник ожидает прием денег. За основу был взят скетч из книги Виктора Петина 2014 и доработан, однако скетч не работает как хотелось бы. Выручите пожалуйста.
Скетч:
А скетч-то где?
Ребят, ну помогите разобраться
Ребят, ну помогите разобраться
Тебе очень трудно помочь - ты сделал всё, чтобы затруднить жизнь помогающим.
Почитай первую тему в разделе "Песочница", а потом попробуй описать задачу не в терминах купюр, а в терминах сигналов и реакций на них (например, не просто "считает импульсы", а хотя бы что там за импульсы и сколько их нужно насчитать и так по всем пунктам). Затем, описать свою программу (что делает тот или иной кусок) в терминах описанной задачи. Ну, и наконец опиши проблему не фразой "скетч не работает как хотелось бы", а опиши как именно он работает и чем это отличается от "хотелось бы".
Тогда твои шансы резко повысятся.
У Петина ошибка в книге
attachInterrupt(0,count_pulse,FALLING);
прерывание стоит на пине 0,хотя объявлен
const
int
moneyPin=2;
// подключение SIGNAL+
Нет там ошибки. Цифра 0 означает не номер пина, а номер прерывания. Прерывание int.0 находится на пине 2.
http://arduino.ru/Reference/AttachInterrupt