Práve ste uskutočnili platbu v reštaurácii, dostali ste malý účet alebo vydali hotovosť z bankomatu a dostali ste potvrdenie o transakcii. Tieto potvrdenky sa tlačia pomocou termálnej tlačiarne alebo tlačiarne účteniek.
Termálna tlačiareň je ľahko dostupné a nákladovo efektívne riešenie na tlač malých účtov alebo potvrdeniek. Toto ľahko integrovateľné riešenie je k dispozícii všade. Tlačiareň používa termochromatický papier, špeciálny typ papiera, ktorý sa pri pôsobení určitého množstva tepla premení na čiernu farbu. Termálna tlačiareň používa na tlač na tento papier špeciálny proces zahrievania. Hlava tlačiarne je vyhrievaná špeciálnym elektrickým prúdom, aby sa udržala určitá teplota. Keď termálny papier prejde hlavou, jeho tepelný povlak sa zmení na čierny, keď sa hlava zahreje.
V predchádzajúcom projekte sme prepojili termálnu tlačiareň s mikrokontrolérom PIC. V tomto návode prepojíme termálnu tlačiareň s doskou Arduino Uno. Tento projekt bude fungovať takto: -
- Tlačiareň bude prepojená s Arduino Uno.
- K doske Arduino je pripojený hmatový spínač, ktorý po stlačení poskytuje možnosť „ push to print“ .
- Integrovaná LED dióda Arduino informuje o stave tlače. Rozsvieti sa, až keď bude prebiehať tlač.
Špecifikácia tlačiarne a pripojenia
Používame termálnu tlačiareň CSN A1 od spoločnosti Cashino, ktorá je ľahko dostupná a cena nie je príliš vysoká.
Ak uvidíme špecifikáciu na jej oficiálnych webových stránkach, zobrazí sa nám tabuľka s podrobnými špecifikáciami -
Na zadnej strane tlačiarne uvidíme nasledujúce pripojenie -
Konektor TTL poskytuje pripojenie Rx Tx na komunikáciu s jednotkou mikrokontroléra. Na komunikáciu s tlačiarňou môžeme tiež použiť protokol RS232. Napájací konektor slúži na napájanie tlačiarne a tlačidlo slúži na testovacie účely tlačiarne. Ak je tlačiareň napájaná, tlačidlom autotestu vytlačíme tlačiareň, ktorá vytlačí hárok, na ktorom budú vytlačené špecifikácie a vzorové riadky. Tu je hárok so samočinným testom
Ako vidíme, tlačiareň používa na komunikáciu s jednotkou mikrokontroléra 9600 baudov. Tlačiareň dokáže tlačiť znaky ASCII. Komunikácia je veľmi ľahká, môžeme vytlačiť čokoľvek jednoduchým použitím UART, prenášaním reťazca alebo znaku.
Tlačiareň pracuje od 5 do 9 V, použijeme napájací zdroj 9 V 2 A, ktorý dokáže napájať tlačiareň aj Arduino Uno. Tlačiareň potrebuje na ohrev hlavy tlačiarne viac ako 1,5 A prúdu. To je nevýhoda termálnej tlačiarne, pretože počas procesu tlače zaberá obrovský záťažový prúd.
Predpoklady
Na vytvorenie nasledujúceho projektu potrebujeme nasledujúce veci: -
- Nepál
- Pripojte drôty
- Doska Arduino UNO s káblom USB.
- Počítač s nastavením rozhrania Arduino pripravený s IDE Arduino.
- 10k rezistor
- Hmatový spínač
- Termálna tlačiareň CSN A1 s rolkou papiera
- Menovitý napájací zdroj 9V 2A.
Schéma zapojenia a vysvetlenie
Schéma ovládania tlačiarne pomocou Arduino Uno je uvedená nižšie:
Obvod je jednoduchý. Na zabezpečenie predvoleného stavu na vstupnom kolíku spínača D2 používame rezistor. Po stlačení tlačidla sa D2 zmení na HIGH a táto podmienka sa použije na spustenie tlače. Jediný zdroj napájania 9V 2A sa používa na napájanie tepelnej tlačiarne a dosky Arduino. Pred pripojením k doske Arduino UNO je dôležité skontrolovať polaritu napájacieho zdroja. Má vstup pre valcový jack so strednou kladnou polaritou.
Obvod sme zostrojili v doske a vyskúšali sme ho.
Arduino program
Kompletný Arduino kód s demo videom je na konci projektu. Tu vysvetľujeme niekoľko dôležitých častí kódu.
Najprv sme deklarovali piny pre tlačidlo (Pin 2) a na LED dióde (Pin13)
int led = 13; int SW = 2;
Potom je nakonfigurovaných niekoľko premenných pre oneskorenie odskoku a stav stlačenia spínača
int is_switch_press = 0; // Na detekciu prepínača stlačte stav int debounce_delay = 300; // oneskorenie odskoku
Vo funkcii nastavenia sme nakonfigurovali pin LED ako výstup a prepínač ako vstup. Konfigurovali sme tiež UART s prenosovou rýchlosťou 9600.
void setup () { / * * Táto funkcia slúži na nastavenie konfigurácie pinov * / pinMode (led, OUTPUT); pinMode (SW, VSTUP); Serial.begin (9600); }
V hlavnej slučke najskôr skontrolujeme, či je spínač stlačený alebo nie, potom opäť počkáme na znova a znova skontrolujeme, či je spínač skutočne stlačený alebo nie, ak je spínač stlačený aj po oneskorení, vytlačíme vlastné riadky v UART, teda v termálnej tlačiarni.
Na začiatku tlače sme nastavili palubnú LED vysoko a po ukončení tlače sme ju vypli znížením.
void loop () { is_switch_press = digitalRead (SW); // Čítanie stavu stlačenia spínača if (is_switch_press == HIGH) { delay (debounce_delay); // oneskorenie odskoku pri stlačení tlačidla if (is_switch_press == HIGH) { digitalWrite (led, HIGH); Serial.println ("ahoj"); oneskorenie (100); Serial.println ("Toto je rozhranie tlačiarne Thermal"); Serial.println ("s Arduino UNO."); oneskorenie (100); Serial.println ("Circuitdigest.com"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("---------------------------- \ n \ r"); Serial.println („Ďakujem.“); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); digitalWrite (led, LOW); } } else { digitalWrite (led, LOW); } }
Skontrolujte kompletný Arduino kód a ukážkové video nižšie.