В недавней статье мы рассмотрели, как работают термопринтеры, а также варианты их использования, преимущества и недостатки. Мы пришли к выводу, что принтеры чеков, как их часто еще называют, являются отличным и недорогим способом добавления принтера к широкому спектру устройств во многих приложениях. Поэтому в данном материале рассматриваются основы подключения термопринтера к стандартной плате Arduino (например, Arduino Uno). Также обсуждается, как отправлять данные на принтер с помощью простой библиотеки Arduino.

Здесь мы будем использовать термопринтер Adafruit Industries. Для него требуется внешний источник питания, работающий при напряжении 5 В и способный выдерживать пиковый ток около 1,5 ампер. Начните с подключения проводов, входящих в комплект поставки принтера. Однако обратите внимание на этикетки на задней стороне этого принтера для чеков, чтобы не перепутать провода.

Большинство термопринтеров имеют функцию самотестирования, которую можно активировать, нажав или удерживая кнопку на устройстве во время его включения. Эта кнопка также позволяет подавать бумагу по одной строке после включения принтера. А пока удерживайте кнопку при подключении принтера к источнику питания, чтобы распечатать отчет самопроверки.

Вы можете попробовать перевернуть бумагу, если заметите, что принтер разматывает рулон бумаги, не производя видимых результатов. Эта проблема, вероятно, связана с тем, что только одна сторона бумаги для термопринтера покрыта термочувствительным покрытием.
Пришло время подключить принтер к плате Arduino, чтобы получить более содержательный результат, чем просто страницу самотестирования. Наш принтер использует стандартное последовательное соединение через пару контактов TX/RX. Таким образом, работа принтера занимает только два цифровых контакта и одно соединение GND на плате Arduino.

Затем используйте менеджер библиотек Arduino IDE для установки библиотеки термопринтера Adafruit.

После установки вы можете использовать библиотеку термопринтеров Adafruit для отправки на принтер текста, штрих-кодов, QR-кодов и простых растровых изображений, таких как логотипы, которые обычно встречаются на чеках магазинов. Следующий скетч выводит несколько строк текста с помощью термопринтера, подключенного к Arduino.
#include "Adafruit_Thermal.h"
#include "SoftwareSerial.h"
#define TX_PIN 6
#define RX_PIN 5
SoftwareSerial printer_connection(RX_PIN, TX_PIN);
Adafruit_Thermal printer(&printer_connection);
void setup()
{
printer_connection.begin(9600);
printer.begin();
printer.setFont('B');
printer.println("Hello, World!");
printer.setFont('A');
printer.println("Hello, World!");
printer.inverseOn();
printer.println(F("Good Bye, World!"));
printer.inverseOff();
printer.doubleHeightOn();
printer.println(F("Large Text"));
printer.doubleHeightOff();
}
void loop() { }
Первые несколько строк импортируют необходимые библиотеки, а два оператора определения определяют, какие цифровые порты ввода-вывода вы использовали при подключении макетной платы к принтеру. Затем следующие две строки открывают новое последовательное соединение программного обеспечения (вы также можете использовать последовательный порт аппаратного обеспечения) и создают объект термопринтера. Функция настройки отправляет несколько строк на устройство для печати на термобумаге. Сначала он отправляет строку hello world с использованием двух разных стилей шрифта, затем инверсный текст, в котором фон шрифта черный, а сами буквы остаются белыми, а последние несколько строк печатают короткое сообщение с использованием шрифта двойной высоты. Вы также можете выбрать дополнительные настройки, такие как жирный шрифт, курсив и различные параметры выравнивания, например центрированный текст. Эти параметры можно найти в примерах, поставляемых с библиотекой принтера. Наконец, вы также можете распечатать штрих-коды, используя несколько дополнительных строк кода.
printer.printBarcode("ADAFRUT", CODE39);
printer.setBarcodeHeight(100);
printer.printBarcode("123456789123", UPC_A);
Чековые принтеры – это отличный способ добавить недорогой, простой в использовании небольшой принтер в любой проект. Большинству принтеров во время работы требуется относительно высокий ток, превышающий один ампер, поэтому часто требуется внешний источник питания. Однако в остальном соединить чековый принтер с микроконтроллером или платой разработки так же просто, как соединить две последовательные линии связи. Термопринтеры Adafruit оснащены совместимой библиотекой Arduino, которая упрощает печать символов, растровых изображений, штрих-кодов и QR-кодов. Вы можете выполнить все эти операции, добавив в свой скетч всего несколько строк кода. Кроме того, библиотека поддерживает множество шрифтов, форматов и стилей.
© digitrode.ru