- Printera specifikācija un savienojumi
- Priekšnoteikumi
- Shēmas shēma un paskaidrojums
- Arduino programma
Jūs tikko veicāt maksājumu restorānā un saņēmāt nelielu rēķinu vai izsniedzāt skaidru naudu no bankomāta un saņēmāt darījuma kvīti. Šīs kvītis tiek izdrukātas, izmantojot termālo printeri vai kvīšu printeri.
Termiskais printeris ir viegli pieejams un izmaksu ziņā efektīvs risinājums nelielu rēķinu vai kvīšu drukāšanai. Šis viegli integrējamais risinājums ir pieejams visur. Printeris izmanto termohromu papīru - īpašu papīra veidu, kas, pakļaujoties noteiktam siltuma daudzumam, pārveidojas melnā krāsā. Termiskais printeris izmanto īpašu sildīšanas procesu, lai drukātu uz šī papīra. Lai uzturētu noteiktu temperatūru, printera galvu silda īpašā elektrības ierīcē. Kad termopapīrs iet caur galvu, tā termiskais pārklājums pārvēršas melnā vietā, kur galva tiek uzkarsēta.
Iepriekšējā projektā mēs esam sasaistījuši termisko printeri ar PIC mikrokontrolleru. Šajā apmācībā mēs sasaistīsimies ar termoprinteri ar Arduino Uno dēli. Šis projekts darbosies šādi: -
- Printeris tiks savienots ar Arduino Uno.
- Arduino dēlim tiek pievienots taustes slēdzis, lai, nospiežot, nodrošinātu opciju “ push to print” .
- Borta Arduino LED paziņos par drukāšanas statusu. Tas spīd tikai tad, kad notiek drukāšanas darbība.
Printera specifikācija un savienojumi
Mēs izmantojam Cashino CSN A1 termoprinteri, kas ir viegli pieejams, un cena nav pārāk augsta.
Ja mēs redzēsim specifikāciju tās oficiālajā vietnē, mēs redzēsim tabulu, kurā sniegtas detalizētas specifikācijas -
Printera aizmugurē redzēsim šādu savienojumu-
TTL savienotājs nodrošina Rx Tx savienojumu, lai sazinātos ar mikrokontrolleru bloku. Saziņai ar printeri mēs varam izmantot arī RS232 protokolu. Strāvas savienotājs paredzēts printera barošanai, un poga tiek izmantota printera testēšanai. Kad printeris tiek darbināts, nospiežot pašpārbaudes pogu, printeris izdrukās lapu, kurā tiks izdrukātas specifikācijas un līniju paraugi. Šeit ir paštesta lapa-
Kā redzam, printeris izmanto 9600 bitu pārraides ātrumu, lai sazinātos ar mikrokontrolleru bloku. Printeris var izdrukāt ASCII rakstzīmes. Komunikācija ir ļoti vienkārša, mēs varam izdrukāt jebko, vienkārši izmantojot UART, pārsūtot virkni vai rakstzīmi.
Printeris darbojas no 5-9V, mēs izmantosim 9V 2A barošanas avotu, kas var darbināt gan printeri, gan Arduino Uno. Printera galvas sildīšanai printerim nepieciešama vairāk nekā 1,5 A strāva. Tas ir termoprintera trūkums, jo drukāšanas procesā tas prasa milzīgu slodzes strāvu.
Priekšnoteikumi
Lai izveidotu šādu projektu, mums ir nepieciešamas šādas lietas: -
- Maizes dēlis
- Pievienojiet vadus
- Arduino UNO dēlis ar USB kabeli.
- Dators ar Arduino interfeisa iestatīšanu gatavs ar Arduino IDE.
- 10k rezistors
- Taktilais slēdzis
- Termiskais printeris CSN A1 ar papīra ruļļu
- 9V 2A nominālā barošanas bloks.
Shēmas shēma un paskaidrojums
Shēma printera kontrolei ar Arduino Uno ir sniegta zemāk:
Ķēde ir vienkārša. Mēs izmantojam rezistoru, lai nodrošinātu noklusējuma stāvokli slēdža ievades tapā D2. Nospiežot pogu, D2 kļūs HIGH, un šis nosacījums tiek izmantots, lai aktivizētu drukāšanu. Siltuma printera un Arduino dēļa darbināšanai tiek izmantots vienots 9V 2A barošanas avots. Pirms pievienojat to Arduino UNO dēlim, ir svarīgi pārbaudīt barošanas avota polaritāti. Tam ir mucas domkrata ieeja ar pozitīvu centra polaritāti.
Mēs izveidojām ķēdi maizes dēlī un pārbaudījām to.
Arduino programma
Pilnīgs Arduino kods ar demonstrācijas video ir projekta beigās. Šeit mēs izskaidrojam dažas svarīgas koda daļas.
Sākumā mēs paziņojām tapas spiedpogai (2. tapa) un borta LED (Pin13)
int led = 13; int SW = 2;
Tad tiek konfigurēti daži mainīgie atlēciena aizkavei un pārslēgšanas preses statusam
int is_switch_press = 0; // Slēdža noteikšanai nospiediet statusu int debounce_delay = 300; // Atteikšanās aizkave
Jo iestatīšanas funkciju, mēs konfigurēt LED pin kā produkciju un pāriet kā priekšnodokli. Mēs arī konfigurējām UART ar 9600 bitu pārraides ātrumu.
void setup () { / * * Šo funkciju izmanto, lai iestatītu piespraudes konfigurāciju * / pinMode (led, OUTPUT); pinMode (SW, INPUT); Sērijas sākums (9600); }
Jo galvenais cilpas, mēs vispirms pārbaudiet, vai slēdzis ir nospiests vai nav, tad atkal gaidām dažkārt un atkal pārbauda, lai noteiktu, ka slēdzis ir patiesi nospiests vai nav, ja slēdzis ir joprojām nospiests pat pēc kavēšanās, mēs drukāt pielāgotas līnijas UART, tātad arī termiskajā printerī.
Drukāšanas sākumā borta LED iestatījām augstu un pēc drukāšanas mēs to izslēdzām, padarot to zemu.
void loop () { is_switch_press = digitalRead (SW); // Pārslēgšanas preses statusa nolasīšana, ja (is_switch_press == HIGH) { delay (debounce_delay); // atkāpšanās aizkave pogas nospiešanai, ja (is_switch_press == HIGH) { digitalWrite (led, HIGH); Serial.println ("Labdien"); kavēšanās (100); Serial.println ("Šī ir termiskā printera saskarne"); Serial.println ("ar Arduino UNO."); kavēšanās (100); Serial.println ("Circuitdigest.com"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("---------------------------- \ n \ r"); Serial.println ("Paldies."); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); digitalWrite (vadīts, LOW); } } cits { digitalWrite (vadīts, LOW); } }
Zemāk pārbaudiet pilnu Arduino kodu un demonstrācijas video.