Управо сте извршили уплату у ресторан и примили сте мали рачун или издали готовину са банкомата и добили потврду о трансакцији. Ови рачуни се штампају помоћу термалног штампача или штампача рачуна.
Термални штампач је лако доступно и исплативо решење за штампање малих рачуна или рачуна. Ово лако интегришуће решење доступно је свуда. Штампач користи термохромни папир, посебну врсту папира који се претвара у црну боју када је изложен одређеној количини топлоте. Термални штампач користи посебан поступак загревања за штампање на овом папиру. Глава штампача се загрева у посебној струји да би се одржала одређена температура. Када термални папир прође кроз главу, његова термичка облога постаје црна где се глава загрева.
У претходном пројекту повезали смо термални штампач са ПИЦ микроконтролером. У овом упутству ћемо повезати термални штампач са плочом Ардуино Уно. Овај пројекат ће радити овако: -
- Штампач ће бити повезан са Ардуино Уно.
- Тактилни прекидач је повезан са Ардуино плочом како би се обезбедила опција „ притисни за штампу“ када се притисне.
- Уграђена ЛЕД лампица Ардуино обавестиће статус штампања. Сјајиће само када се одвија штампарска активност.
Спецификација штампача и везе
Користимо ЦСН А1 термални штампач компаније Цасхино, који је лако доступан и цена није превисока.
Ако спецификацију видимо на њеној званичној веб страници, видећемо табелу која садржи детаљне спецификације -
На задњој страни штампача видећемо следећу везу -
ТТЛ конектор обезбеђује Рк Тк везу за комуникацију са јединицом микроконтролера. Такође можемо да користимо протокол РС232 за комуникацију са штампачем. Конектор за напајање служи за напајање штампача, а дугме се користи за тестирање штампача. Када се штампач напаја, ако притиснемо дугме за самотестирање, штампач ће одштампати лист на коме ће се одштампати спецификације и узорци линија. Ево листа самотестирања-
Као што видимо, штампач користи 9600 бауд брзина за комуникацију са јединицом микроконтролера. Штампач може да штампа АСЦИИ знакове. Комуникација је врло једноставна, можемо штампати било шта једноставним коришћењем УАРТ-а, преносећи низ или знак.
Штампач ради од 5-9В, користићемо напајање од 9В 2А које може напајати и штампач и Ардуино Уно. Штампачу је потребно више од 1,5 А струје за загревање главе штампача. Ово је недостатак термалног штампача јер узима велику струју оптерећења током процеса штампања.
Предуслови
Да бисмо направили следећи пројекат, потребне су нам следеће ствари: -
- Бреадбоард
- Прикључите жице
- Ардуино УНО плоча са УСБ каблом.
- Рачунар са подешавањем Ардуино интерфејса спреман са Ардуино ИДЕ.
- 10к отпорник
- Тактилни прекидач
- Термални штампач ЦСН А1 са ролном папира
- 9В 2А називна јединица за напајање.
Шема и објашњење
Шема управљања штампачем са Ардуино Уно дата је у наставку:
Коло је једноставно. Користимо отпорник да пружимо подразумевано стање преко улазног пина прекидача Д2. Када се притисне дугме, Д2 ће постати ВИСОК и овај услов се користи за покретање штампања. Једно напајање од 9В 2А напајања користи се за напајање термалног штампача и Ардуино плоче. Важно је проверити поларитет напајања пре него што га повежете са Ардуино УНО плочом. Има улаз за цијев са средишњим позитивним поларитетом.
Конструисали смо круг у плочи и тестирали га.
Ардуино програм
Комплетни Ардуино код са демо видеом је на крају пројекта. Овде објашњавамо неколико важних делова кода.
Прво смо декларисали пинове за тастер (Пин 2) и за ЛЕД плочу (Пин13)
инт лед = 13; инт СВ = 2;
Тада се конфигурише неколико променљивих за кашњење са прекидањем звука и пребацивање статуса притиска
инт ис_свитцх_пресс = 0; // За откривање статуса прекидача инт дебоунце_делаи = 300; // Дебоунце делаи
У функцији подешавања , конфигурисали смо ЛЕД пин као излаз и прекидач као улаз. Такође смо конфигурисали УАРТ са 9600 бауд брзина.
воид сетуп () { / * * Ова функција се користи за подешавање конфигурације пин-а * / пинМоде (лед, ОУТПУТ); пинМоде (СВ, ИНПУТ); Сериал.бегин (9600); }
У главној петљи прво проверавамо да ли је прекидач притиснут или не, затим опет чекамо неко време и поново проверавамо да ли је прекидач заиста притиснут или не, ако је прекидач и даље притиснут и након одлагања, исписујемо прилагођено линије у УАРТ-у, тако и у термалном штампачу.
На почетку штампања поставили смо високо уграђену ЛЕД диоду, а након штампања искључили смо је смањивањем.
воид лооп () { ис_свитцх_пресс = дигиталРеад (СВ); // Читање статуса прекидача прекидача ако (ис_свитцх_пресс == ХИГХ) { делаи (дебоунце_делаи); // кашњење укидања притиска дугмета иф (ис_свитцх_пресс == ХИГХ) { дигиталВрите (лед, ХИГХ); Сериал.принтлн ("Здраво"); кашњење (100); Сериал.принтлн („Ово је термални интерфејс штампача“); Сериал.принтлн („са Ардуино УНО.“); кашњење (100); Сериал.принтлн ("Цирцуитдигест.цом"); Сериал.принтлн ("\ н \ р"); Сериал.принтлн ("\ н \ р"); Сериал.принтлн ("\ н \ р"); Сериал.принтлн ("---------------------------- \ н \ р"); Сериал.принтлн („Хвала.“); Сериал.принтлн ("\ н \ р"); Сериал.принтлн ("\ н \ р"); Сериал.принтлн ("\ н \ р"); дигиталВрите (лед, ЛОВ); } } елсе { дигиталВрите (лед, ЛОВ); } }
Проверите комплетан Ардуино код и Демонстрациони видео испод.