- Especificacions i connexions de la impressora
- Requisits previs
- Diagrama del circuit i explicació
- Programa Arduino
Acabeu de fer un pagament a un restaurant i heu rebut una petita factura o heu dispensat diners en efectiu d’un caixer automàtic i heu rebut el rebut de la transacció. Aquests rebuts s’imprimeixen mitjançant una impressora tèrmica o una impressora de rebuts.
La impressora tèrmica és la solució fàcil d’utilitzar i rendible per imprimir factures o rebuts petits. Aquesta solució fàcil d’integrar està disponible a tot arreu. La impressora utilitza paper termocromàtic, un tipus especial de paper que es transforma en color negre quan s’exposa a una certa quantitat de calor. La impressora tèrmica utilitza un procés especial de calefacció per imprimir en aquest paper. El capçal de la impressora s’escalfa amb una electricitat especial per mantenir una temperatura determinada. Quan el paper tèrmic passa pel seu cap, el seu recobriment tèrmic es torna negre on s’escalfa el cap.
En el projecte anterior, hem interfocat la impressora tèrmica amb el microcontrolador PIC. En aquest tutorial, connectarem una impressora tèrmica amb la placa Arduino Uno. Aquest projecte funcionarà així: -
- La impressora estarà connectada amb Arduino Uno.
- S’està connectant un commutador tàctil amb la placa Arduino per proporcionar l’opció “ push to print” quan es prem.
- El LED Arduino integrat us notificarà l’estat de la impressió. Només brillarà quan estigui en marxa l'activitat d'impressió.
Especificacions i connexions de la impressora
Estem utilitzant la impressora tèrmica CSN A1 de Cashino, que està disponible fàcilment i el preu no és massa alt.

Si veiem les especificacions al seu lloc web oficial, veurem una taula que proporciona les especificacions detallades.

A la part posterior de la impressora, veurem la connexió següent:

El connector TTL proporciona la connexió Rx Tx per comunicar-se amb la unitat de microcontrolador. També podem utilitzar el protocol RS232 per comunicar-nos amb la impressora. El connector d'alimentació serveix per alimentar la impressora i el botó s'utilitza per provar la impressora. Quan s’està alimentant la impressora, si premem el botó d’autotest, la impressora imprimirà un full on s’imprimiran les especificacions i les línies de mostra. Aquí teniu el full d’autotest

Com podem veure, la impressora utilitza una velocitat de transmissió de 9600 bauds per comunicar-se amb la unitat de microcontrolador. La impressora pot imprimir caràcters ASCII. La comunicació és molt fàcil, podem imprimir qualsevol cosa simplement utilitzant UART, transmetent una cadena o un caràcter.
La impressora funciona de 5-9V, utilitzarem una font d’alimentació de 9V 2A que pot alimentar tant la impressora com l’Arduino Uno. La impressora necessita més de 1,5 A de corrent per escalfar el capçal de la impressora. Aquest és l’inconvenient de la impressora tèrmica, ja que requereix un gran corrent de càrrega durant el procés d’impressió.
Requisits previs
Per fer el següent projecte, necessitem les coses següents: -
- Taula de pa
- Connecteu els cables
- Placa Arduino UNO amb cable USB.
- Un equip amb la configuració de la interfície Arduino preparat amb l'IDE Arduino.
- 10k resistència
- Interruptor tàctil
- Impressora tèrmica CSN A1 amb rotlle de paper
- Unitat d'alimentació nominal de 9V 2A.
Diagrama del circuit i explicació
A continuació es mostra l’esquema per controlar la impressora amb Arduino Uno:

El circuit és senzill. Estem utilitzant una resistència per proporcionar l’estat per defecte a tot el pin d’entrada Switch D2. Quan es prem el botó, D2 passarà a ser ALT i aquesta condició s'utilitza per activar la impressió. La font d'alimentació única de 9V 2A s'utilitza per alimentar la impressora tèrmica i la placa Arduino. És important comprovar la polaritat de la font d’alimentació abans de connectar-la a la placa Arduino UNO. Té una entrada de presa de barril amb polaritat positiva central.
Vam construir el circuit en una taula de proves i el vam provar.


Programa Arduino
El codi Arduino complet amb un vídeo de demostració es troba al final del projecte. Aquí expliquem algunes parts importants del codi.
Al principi, vam declarar els pins del polsador (Pin 2) i del LED de bord (Pin13)
int led = 13; int SW = 2;
A continuació, es configuren poques variables per retardar el rebut i canviar l'estat de premsa
int is_switch_press = 0; // Per detectar l'interruptor, premeu l'estat int debounce_delay = 300; // Retard de rebuda
A la funció de configuració , hem configurat el pin LED com a sortida i el commutador com a entrada. També hem configurat l'UART amb una velocitat de 9600 baud.
void setup () { / * * Aquesta funció s'utilitza per configurar la configuració del pin * / pinMode (led, OUTPUT); pinMode (SW, INPUT); Serial.begin (9600); }
Al bucle principal, primer comprovem si l’interruptor està premut o no, després esperem una vegada i una altra per comprovar si l’interruptor està realment premut o no, si l’interruptor encara es prem fins i tot després del retard, imprimim línies a la UART, de manera que a la impressora tèrmica.
Al començament de la impressió, vam col·locar el LED incorporat alt i després d’imprimir-lo, el vam apagar fent baix.
bucle buit () { is_switch_press = digitalRead (SW); // Llegir l'estat de premsa del commutador si (is_switch_press == HIGH) { delay (debounce_delay); // retard de rebuda per prémer el botó if (is_switch_press == HIGH) { digitalWrite (led, HIGH); Serial.println ("Hola"); retard (100); Serial.println ("Aquesta és una interfície d'impressora tèrmica"); Serial.println ("amb Arduino UNO."); retard (100); Serial.println ("Circuitdigest.com"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("---------------------------- \ n \ r"); Serial.println ("Gràcies"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); digitalWrite (led, BAIX); } } else { digitalWrite (led, BAIX); } }
Consulteu el codi Arduino complet i el vídeo de demostració a continuació.
