- Especificação da impressora e conexões
- Pré-requisitos
- Diagrama de Circuito e Explicação
- Programa Arduino
Você acabou de fazer o pagamento em um restaurante e recebeu uma pequena conta ou dispensou dinheiro de um caixa eletrônico e recebeu o recibo da transação. Esses recibos são impressos em uma impressora térmica ou impressora de recibos.
A impressora térmica é a solução econômica e prontamente disponível para imprimir pequenas contas ou recibos. Esta solução fácil de integrar está disponível em qualquer lugar. A impressora utiliza papel termocrômico, um tipo especial de papel que se transforma em preto ao ser exposto a uma determinada quantidade de calor. A impressora térmica usa um processo de aquecimento especial para imprimir neste papel. O cabeçote da impressora é aquecido em um sistema elétrico especial para manter uma determinada temperatura. Quando o papel térmico passa pelo cabeçote, seu revestimento térmico fica preto onde o cabeçote é aquecido.
No projeto anterior, fizemos interface entre a impressora térmica e o microcontrolador PIC. Neste tutorial, faremos a interface de uma impressora térmica com a placa Arduino Uno. Este projeto funcionará assim: -
- A impressora será conectada ao Arduino Uno.
- Uma chave tátil está sendo conectada à placa Arduino para fornecer a opção ' push to print' quando pressionada.
- O LED integrado do Arduino notificará o status da impressão. Ele brilhará apenas quando a atividade de impressão estiver em andamento.
Especificação da impressora e conexões
Estamos usando a Impressora Térmica CSN A1 da Cashino, que está facilmente disponível e o preço não é muito alto.
Se virmos a especificação em seu site oficial, veremos uma tabela que fornece as especificações detalhadas-
Na parte traseira da impressora, veremos a seguinte conexão -
O conector TTL fornece a conexão Rx Tx para se comunicar com a unidade do microcontrolador. Também podemos usar o protocolo RS232 para nos comunicarmos com a impressora. O conector de alimentação é para alimentar a impressora e o botão é usado para fins de teste da impressora. Quando a impressora está sendo ligada, se pressionarmos o botão de autoteste, a impressora imprimirá uma folha onde as especificações e as linhas de amostra serão impressas. Aqui está a folha de autoteste
Como podemos ver, a impressora usa uma taxa de transmissão de 9600 para se comunicar com a unidade de microcontrolador. A impressora pode imprimir caracteres ASCII. A comunicação é muito fácil, podemos imprimir qualquer coisa simplesmente usando UART, transmitindo string ou caractere.
A impressora funciona de 5 a 9 V, usaremos uma fonte de alimentação de 9 V 2 A que pode alimentar tanto a impressora quanto o Arduino Uno. A impressora precisa de mais de 1,5 A de corrente para aquecer o cabeçote. Esta é a desvantagem da impressora térmica, pois ela consome muita corrente de carga durante o processo de impressão.
Pré-requisitos
Para fazer o seguinte projeto, precisamos das seguintes coisas: -
- Tábua de pão
- Fios de conexão
- Placa Arduino UNO com cabo USB.
- Um computador com configuração de interface Arduino pronto com o IDE Arduino.
- Resistor de 10k
- Interruptor tátil
- Impressora térmica CSN A1 com rolo de papel
- Unidade de fonte de alimentação com classificação 9V 2A.
Diagrama de Circuito e Explicação
O esquema para controlar a impressora com Arduino Uno é fornecido abaixo:
O circuito é simples. Estamos usando um resistor para fornecer o estado padrão através do pino D2 de entrada do switch. Quando o botão é pressionado, D2 se tornará ALTO e esta condição é usada para iniciar a impressão. Uma única fonte de alimentação de 9V 2A é usada para alimentar a impressora térmica e a placa Arduino. É importante verificar a polaridade da fonte de alimentação antes de conectá-la à placa Arduino UNO. Ele tem uma entrada de jack barril com polaridade positiva central.
Construímos o circuito em uma placa de ensaio e o testamos.
Programa Arduino
O código Arduino completo com um vídeo de demonstração está no final do projeto. Aqui estamos explicando algumas partes importantes do código.
No início, declaramos os pinos do botão (pino 2) e do LED integrado (pino 13)
led int = 13; int SW = 2;
Então, algumas variáveis são configuradas para atraso de debounce e status do interruptor de pressão
int is_switch_press = 0; // Para detectar o switch pressione status int debounce_delay = 300; // Atraso de debounce
Na função de configuração , configuramos o pino do LED como saída e a chave como entrada. Também configuramos o UART com taxa de transmissão de 9600.
void setup () { / * * Esta função é usada para definir a configuração do pino * / pinMode (led, OUTPUT); pinMode (SW, INPUT); Serial.begin (9600); }
No loop principal, primeiro verificamos se o botão está pressionado ou não, depois novamente esperamos algum tempo e verificamos novamente para identificar se o botão está realmente pressionado ou não, se o botão ainda estiver pressionado mesmo após o atraso, imprimimos o personalizado linhas na UART, então na impressora térmica.
No início da impressão, configuramos o LED integrado para alto e, após a impressão, o desligamos tornando-o baixo.
void loop () { is_switch_press = digitalRead (SW); // Lendo o status da tecla Switch if (is_switch_press == HIGH) { delay (debounce_delay); // atraso de debounce para pressionar o botão if (is_switch_press == HIGH) { digitalWrite (led, HIGH); Serial.println ("Olá"); atraso (100); Serial.println ("Esta é uma interface de impressora térmica"); Serial.println ("com Arduino UNO."); atraso (100); Serial.println ("Circuitdigest.com"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("---------------------------- \ n \ r"); Serial.println ("Obrigado."); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); digitalWrite (led, LOW); } } else { digitalWrite (led, LOW); } }
Verifique o código Arduino completo e o vídeo de demonstração abaixo.