Как стать автором
Обновить

Комментарии 25

Респект. Лет 15 назад делал нечто подобное на pic16 и большом дисплее от калькулятора. Самое сложное было — достать ht1621. Конторы в моём городе, которые могли их привезти, работали только с юрлицами и не хотели брать мелкие заказы.
хрен с ним с дисплеем, он легко запускается — давай запись про чековый принтер. вот это интересно
да да написть драйвер для такого принтера, это вам не ардуину мучить
Если успею до отъезда на вахту, то попробую написать пост. Да, кстати, там два типа принтера — один из них на термобумаге, а вот второй — матричный, там и картридж с синей лентой, марка принтера MD910SS, ну картридж MD910, MD911, IDP3110, IDP3111.
Могу только подсказать, что термопринтер — суть сдвиговый регистр (подключается к SPI'ю) + выключатель нагрева (подключается к таймеру, чтобы точно задавать время) + шаговый двигатель (подключается ко второму двухканальному таймеру, нужен специализированный драйвер шаговых двигателей). Можно упростить задачу, взяв «умный» драйвер ш.д. (со входом «один импульс — поворот на один шаг»).
Далее — берём растеризованную картинку, загоняем первую строчку в сдвиговый регистр, включаем на N миллисекунд нагрев, потом прокручиваем бумагу на 1 линию (1/8 мм, как правило). Если не торопиться — вполне ардуина справится (главное — голову не сжечь, забыв её выключить).
Вот если пытаться выжать все паспортные 200-300 мм/сек (это, правда, скорость «взрослых» термопринтеров, тут будет максимум 50-70), надо делать всё одновременно, тут 32-битник (без ардуино-прослойки, конечно же) очень пригодится.
Я уже потихонечку начал копаться, там просто делается строб сигнал на двух инверторах и RC цепочке, я планирую заменить их на К561ЛЕ5 (4 ИЛИ-НЕ). Не я первый, кто хочет печатать на принтере из кассового аппарата — я читал про опыты одного умельца. По поводу драйвера — шагового двигателя лежит в запасниках готовый модуль L298N — все готово, подключить только +12 вольт и ардуинку… Большая проблема — одна — это отсутствие распайки шлейфа, чувствую придется опять все разбирать и тестером звонить выводы… Нашел несколько схем кассовых аппартов в интернете — не совсем подходят…
Строб прожига там, вероятно, устроен следующим образом: логика с RC-цепочкой отрубает строб, если превышено макс. время, а при нормальной работе время строба контролирует процессор. У нас 74HC123 вообще всё питание головки рубил.

L298, боюсь, там всё выжгет нафиг. Посмотрите, как устроен драйвер — маловероятно, что они выдают все 12 вольт на обмотку; по-хорошему, надо выдавать фиксированный ток в обмотку. Посмотрите, как устроен ST'шный L6219 (ещё можно поискать у ST, TI, Allegro). Можно, конечно, самостоятельно ШИМить, но это неудобно и небезопасно.

При отсутствии документации (что странно, схемы на кассы найти можно было. Во всяком случае, в России в центрах тех.обслуживания они есть (и активно утекают на всякие narod.ru)) очень-очень-очень советую купить у китайцев Saleae Logic (хоть самый простой, за 5 баксов) и снять весь обмен.
USB Logic Analyze 24M — такая штука есть. Просто я разобрал кассовый аппарат, супруга не дала был этот пыльный хлам занести в дом. Пришлось разбирать во дворе. Еще и аппарат был нерабочим.
L298 — в качестве драйвера шагового двигателя.
Я понимаю, что L298 — драйвер ШД. Но он не умеет ограничивать ток (можно навернуть это снаружи, повесив токоизмерительные резисторы, компараторы и капельку логики), а включать ШД от термопринтера без ограничения тока в 12 вольт чревато его убийством (померяйте сопротивление обмоток).

Сделал. Запостил.

Не могли бы вы подробнее описывать процесс определения выводов экрана?
Все очень просто! Даташит на HT1621 + тестер. Один щуп тестера в ножку микросхемы, другой в поочередно в выводы платы.
А я писал программу для поочередного вывода в регистры контроллера единичек, и смотрел, как в итоге разводка дисплея идет. В принципе они последовательны по цифрам, но один знак иногда смещен, типа последний на дисплее — первый логически…
4 вывод — это сброс, скорее всего. По включению питания и опционально внешний. Еще момент — стекла и их подключение к 1621 бывают весьма разнообразными, но это легко решаемо.
Я тоже так думаю, скорее всего это сброс. Там RC цепочка подключена. При включении питания — скорее всего надежно сбрасывает микросхему.
Добрый день. Я с ардуино совсем недавно знаком, поэтому вопрос: А вы случайно не сталкивались со светодиодными панелями p10 smdimage
Хотелось бы вывести текст на кириллице.
Я это читал. Там про одноцветную панельку ( у меня есть зеленого цвета, использовал DMD либы ).
А вот эта с rgb светодиодами. Кое чего получилось завести, но не все корректно отображается.
github.com/asyan4ik/p10-rgb-16x32
Если отображается не корректно — правьте шрифт. Он лежит в файле glcdfont.c в массиве font[]. Либо приводите свои символы к таблице utf8.

Зачем это всё?

Да, чем-то напомнило разобрать будильник, вынуть шестеренку и крутить вместо волчка.
Когда годами занимаешься рутинкой на вахте, это помогает не закиснуть шестеренкам в своей голове! Это для меня развлечение!
Забавно, совсем недавно мне попался такой же дисплей, и я написал класс для работы с ним по мотивам какой-то другой статьи, но не успел это никуда выложить в свободный доступ!
Кстати, из такого кассового аппарата вполне можно сделать законченное изделие, какой-нибудь логгер данных с выводом на печать, ибо у них все есть практически — порты, дисплей, клавиатура, а если поискать, можно найти примерную схему этих ККМ.
Кстати, советую с осциллографом потыкаться в чековый принтер на работающей ККМ, чтобы узнать рабочие задержки сигнала «прожиг» строки, там принцип какой — в сдвиговый регистр (или несколько последовательностей регистров параллельно) пихаем строку пикселей, которую хотим прожечь на бумаге, потом делаем строб, потом подаем что-то типа 12 В на резисторы с определенной длительностью (чтобы не сжечь эти резисторы в принтере!) для нагрева их и прожига соответственно строки на бумаге…
В планах создать мега-часы с будильником, таймером, блютусом. Модуль DS1307+ заряжаемая литиевая батарейка LIR2032 — лежат в запасниках. Насчет осциллографа — хочу купить, да жаба давит…
Расскажите, где брать прозрачные кнопки, как на кассовых аппаратах?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.