- Spausdintuvo specifikacija ir jungtys
- Būtinos sąlygos
- Grandinės schema ir paaiškinimas
- „Arduino“ programa
Jūs ką tik sumokėjote restorane ir gavote nedidelę sąskaitą arba iš bankomato išrašėte grynųjų pinigų ir gavote operacijos kvitą. Šie kvitai spausdinami naudojant terminį spausdintuvą arba kvitų spausdintuvą.
Terminis spausdintuvas yra lengvai prieinamas ir ekonomiškas sprendimas mažoms sąskaitoms ar kvitams atspausdinti. Šis lengvai integruojamas sprendimas yra prieinamas visur. Spausdintuvas naudoja termochrominį popierių, specialų popieriaus tipą, kuris, veikiamas tam tikro šilumos kiekio, virsta juoda spalva. Terminiam spausdintuvui spausdinti ant šio popieriaus naudojamas specialus kaitinimo procesas. Norėdami išlaikyti tam tikrą temperatūrą, spausdintuvo galvutė pašildoma specialioje elektrinėje. Kai terminis popierius praeina per galvą, jo šiluminė danga tampa juoda, kai galva kaitinama.
Ankstesniame projekte mes sujungėme terminį spausdintuvą su PIC mikrovaldikliu. Šioje pamokoje mes sujungsime terminį spausdintuvą su „Arduino Uno“ plokšte. Šis projektas veiks taip: -
- Spausdintuvas bus prijungtas prie „Arduino Uno“.
- Prie „Arduino“ plokštės jungiamas lytėjimo jungiklis, kad paspaudus būtų suteikta parinktis „atspausdinti“ .
- Borto „Arduino“ šviesos diodas praneš spausdinimo būsenai. Jis švytės tik tada, kai bus vykdoma spausdinimo veikla.
Spausdintuvo specifikacija ir jungtys
Mes naudojame „ Cashino“ CSN A1 terminį spausdintuvą, kurį galima lengvai įsigyti, o kaina nėra per didelė.
Jei pamatysime specifikaciją jos oficialioje svetainėje, pamatysime lentelę, kurioje pateikiamos išsamios specifikacijos -
Galinėje spausdintuvo pusėje pamatysime tokį ryšį-
TTL jungtis suteikia „Rx Tx“ ryšį, kad būtų galima bendrauti su mikrovaldiklio bloku. Mes taip pat galime naudoti RS232 protokolą, kad galėtume bendrauti su spausdintuvu. Maitinimo jungtis skirta spausdintuvui maitinti, o mygtukas naudojamas spausdintuvo bandymams atlikti. Kai spausdintuvas maitinamas, paspausdami savikontrolės mygtuką, spausdintuvas išspausdins lapą, kuriame bus spausdinamos specifikacijos ir pavyzdžių eilutės. Čia yra savitikros lapas
Kaip matome, spausdintuvas naudoja 9600 perdavimo spartą ryšiui su mikrovaldiklio bloku palaikyti. Spausdintuvas gali spausdinti ASCII simbolius. Bendravimas yra labai lengvas, mes galime atsispausdinti bet ką paprasčiausiai naudodami UART, perduodami eilutę ar simbolį.
Spausdintuvas veikia nuo 5-9 V, naudosime 9 V 2A maitinimo šaltinį, kuris gali tiek maitinti tiek spausdintuvą, tiek „Arduino Uno“. Spausdintuvui šildyti reikia daugiau nei 1,5 A srovės. Tai yra terminio spausdintuvo trūkumas, nes spausdinimo metu jis užima didžiulę apkrovos srovę.
Būtinos sąlygos
Norėdami sukurti šį projektą, mums reikia šių dalykų: -
- Bandomoji Lenta
- Prijunkite laidus
- „Arduino UNO“ plokštė su USB kabeliu.
- Paruoštas kompiuteris su „Arduino“ sąsajos sąranka su „Arduino IDE“.
- 10k rezistorius
- Lytėjimo jungiklis
- Terminis spausdintuvas CSN A1 su popieriaus ritiniu
- 9V 2A vardinis maitinimo blokas.
Grandinės schema ir paaiškinimas
Žemiau pateikiama spausdintuvo valdymo su „Arduino Uno“ schema:
Grandinė yra paprasta. Norėdami naudoti numatytąją būseną per jungiklio įvesties kaištį D2, mes naudojame rezistorių. Paspaudus mygtuką, D2 taps HIGH ir ši sąlyga naudojama spausdinimui suaktyvinti. Terminiam spausdintuvui ir „Arduino“ plokštei maitinti naudojamas vienas 9V 2A maitinimo šaltinis. Prieš prijungdami jį prie „Arduino UNO“ plokštės, svarbu patikrinti maitinimo šaltinio poliškumą. Jame yra vamzdžio lizdo įėjimas, kurio teigiamas poliškumas yra centre.
Mes sukonstravome grandinę duonos lentoje ir išbandėme.
„Arduino“ programa
Užbaigti „ Arduino“ kodą su demonstraciniu vaizdo įrašu yra projekto pabaigoje. Čia mes paaiškiname keletą svarbių kodo dalių.
Iš pradžių mes paskelbėme kaiščius mygtukui (2 kaištis) ir laive esančiam LED (PIN 13)
int vedė = 13; int SW = 2;
Tada sukonfigūruota keletas kintamųjų, susijusių su atšaukimo vėlavimu ir perjungimo paspaudimo būsena
int is_witch_press = 0; // Norėdami nustatyti jungiklį, paspauskite būseną int debounce_delay = 300; // Atšaukimo vėlavimas
Į sąrankos funkcija, mes sukonfigūruotas LED kaištį kaip produkcijos ir pereiti kaip įvesties. Mes taip pat sukonfigūravome UART su 9600 perdavimo sparta.
void setup () { / * * Ši funkcija naudojama nustatant kaiščių konfigūraciją * / pinMode (led, OUTPUT); pinMode (SW, INPUT); Serijos pradžia (9600); }
Be pagrindinio kilpą, mes pirmiausia patikrinti, ar jungiklis paspaudžiamas, ar ne, tada mes vėl laukti kada ir vėl patikrinti siekiant nustatyti, kad jungiklis yra tikrai paspaustas, ar ne, jei jungiklis dar paspaustas, net po to, kai delsimo, mes spausdinti užsakymą linijos UART, taigi ir „Thermal“ spausdintuve.
Spausdinimo pradžioje borto šviesos diodą nustatėme aukštai, o po spausdinimo išjungėme jį žemai padarydami.
void loop () { is_switch_press = digitalRead (SW); // Skaityti jungiklio paspaudimo būseną, jei (is_switch_press == HIGH) { delsa (debounce_delay); // atšaukti mygtuko paspaudimo vėlavimą, jei (is_switch_press == HIGH) { digitalWrite (led, HIGH); Serial.println („Labas“); vėlavimas (100); Serial.println ("Tai yra šiluminio spausdintuvo sąsaja"); Serial.println („su„ Arduino UNO “.); vėlavimas (100); „Serial.println“ („Circuitdigest.com“); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("---------------------------- \ n \ r"); Serial.println („Ačiū.“); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); digitalWrite (led, LOW); } } else { digitalWrite (led, LOW); } }
Žemiau rasite visą „Arduino“ kodą ir demonstracinį vaizdo įrašą.