Страница 1 из 2
Используйте сканер баркодов для считывания штрихкодов и QR-кодов. Автоматизируйте складской учёт или притворитесь кассиром супермаркета, чтобы пропикать все товары!

Режим виртуальной USB-клавиатуры
Сканер штрихкодов работает напрямую с компьютером без всяких приложений: он притворяется типовой USB-клавиатурой и выдаёт считанные данные в виде строки текста. Именно такой режим работы задан по умолчанию.
Barcode сканер общается с управляющей платой по протоколу UART. В зависимости от управляющей платформы выберите вариант подключения.
HardwareSerial
На управляющей плате Iskra JS и Arduino платах с микроконтроллером ATmega32U4 / ATSAMD21G18, интерфейс UART выведен на контактные пины, а данные по USB переедаются через виртуальный COM-порт. Это даёт возможность одновременно подключить Barcode-модуль к аппаратному UART и выполнять отладку по USB.
Список поддерживаемых плат:
Схема подключения
При подключении к платам формата Arduino R3 удобно использовать Troyka Shield.

Исходный код
В качестве примера все сканированные штрихкоды выведем в консоль.
// serial-порт к которому подключён Barcode-модуль
#define BARCODE_SERIAL Serial1
setup
// открываем последовательный порт для мониторинга действий в программе
// и передаём скорость 9600 бод
Serial.
// ждём, пока не откроется монитор последовательного порта
// для того, чтобы отследить все события в программе
Serial
Serial.»Serial init OK»
// открываем Serial-соединение с Barcode-модулем на скорости 9600 бод
BARCODE_SERIAL.
// печатаем строку
Serial.»Barcode init is OK»
// печатаем строку
Serial.»Init is OK on speed 9600″
loop
// если приходят данные из Barcode-модуля — отправим их в порт компьютера
BARCODE_SERIAL.
Serial.BARCODE_SERIAL.
// если приходят данные из компьютера — отправим их в Barcode-модуль
Serial.
BARCODE_SERIAL.Serial.
SoftwareSerial
На управляющих платформах Arduino с микроконтроллером ATmega328 / ATmega2560, интерфейс UART выведен на контактные пины платы и он же используется для отладки по USB. Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с Barcode-модулем. Решение проблемы — программный UART. Подключите пины TX и RX Barcode модуля к другим контактам управляющей платы и используйте библиотеку SoftwareSerial.
Для примера подключим управляющие пины сканера TX и RX — на 10 и 11 контакты управляющей платы.
При подключении удобно использовать Troyka Shield.

// библиотека для работы программного Serial
// создаём объект для работы с программным Serial
// и назначаем ему пины RX и TX
SoftwareSerial mySerial
// serial-порт к которому подключён Barcode-модуль
#define BARCODE_SERIAL mySerial
setup
// открываем последовательный порт для мониторинга действий в программе
// и передаём скорость 9600 бод
Serial.
// ждём, пока не откроется монитор последовательного порта
// для того, чтобы отследить все события в программе
Serial
Serial.»Serial init OK»
// открываем Serial-соединение с Barcode-модулем на скорости 9600 бод
BARCODE_SERIAL.
// печатаем строку
Serial.»Barcode init is OK»
// печатаем строку
Serial.»GPS init is OK on speed 9600″
loop
// если приходят данные из Barcode-модуля — отправим их в порт компьютера
BARCODE_SERIAL.
Serial.BARCODE_SERIAL.
// если приходят данные из компьютера — отправим их в Barcode-модуль
Serial.
BARCODE_SERIAL.Serial.
HardwareSerial Mega
На платформах форм-фактора Arduino Mega 2560 интерфейс UART выведен на контактные пины платы и он же используется для отладки по USB. Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с Barcode-модулем.
Но на платах такого форм-фактора есть ещё дополнительно три аппаратных UART:
- Serial1: пины 19(RX1) и 18(TX1);
- Serial2: пины 17(RX2) и 16(TX2);
- Serial3: пины 15(RX3) и 14(TX3).
Для примера подключим управляющие пины сканера TX и RX к аппаратному интерфейсу UART Serial2 — на 17 и 16 контакты управляющей платы.
При подключении удобно использовать Troyka Mega Tail Shield.

// serial-порт к которому подключён Barcode-модуль
#define BARCODE_SERIAL Serial2
setup
// открываем последовательный порт для мониторинга действий в программе
// и передаём скорость 9600 бод
Serial.
// ждём, пока не откроется монитор последовательного порта
// для того, чтобы отследить все события в программе
Serial
Serial.»Serial init OK»
// открываем Serial-соединение с Barcode-модулем на скорости 9600 бод
BARCODE_SERIAL.
// печатаем строку
Serial.»Barcode init is OK»
// печатаем строку
Serial.»GPS init is OK on speed 9600″
loop
// если приходят данные из Barcode-модуля — отправим их в порт компьютера
BARCODE_SERIAL.
Serial.BARCODE_SERIAL.
// если приходят данные из компьютера — отправим их в Barcode-модуль
Serial.
BARCODE_SERIAL.Serial.
Габаритный чертёж

Характеристики
- Интерфейсы: UART, USB
- Форматы штрихкодов 1D: Codabar, Code 11, Code 39, Code 93, UPC/EAN, Code 128, GS1-128, GS1 DataBar
- Форматы штрихкодов 2D: QR Code, Data Matrix, PDF417
- Подсветка: белый светодиод
- Световой маркер: красный светодиод
- Углы сканирования кода: поворот 360°, наклон ±60°
- Угол обзора: 28° (горизонтальный), 21,5° (вертикальный)
- Напряжение питания: 5 В
- Напряжение логических уровней: 3,3 В
- Ток потребления: 135 мА (сканирование), 58 мА (покой), 2 мА (режим сна)
- Габариты: 53,3×21,4×16,5 мм
Ресурсы

