Считыватель штрих-кода и QR-кода с использованием Arduino и модуля QR-сканера


В этой статье мы узнаем, как сделать свой собственный считыватель штрих-кодов и QR-кодов с помощью платы Arduino и встроенного модуля сканера QR/штрих-кодов. Самодельный сканер QR и штрих-кодов может сканировать штрих-код или QR-код и отображать считанную информацию на OLED-дисплее.

Считыватель штрих-кода и QR-кода с использованием Arduino и модуля QR-сканера

QR-коды часто используются для отслеживания информации о продуктах в цепочке поставок, часто используются в маркетинговых и рекламных кампаниях. В последнее время они играют ключевую роль в отслеживании воздействия коронавируса и замедлении распространения вируса. Аналогичным образом штрихкоды применяются к продуктам как средство быстрой идентификации. Они используются в розничных магазинах как часть процесса покупки, на складах для отслеживания запасов и в счетах-фактурах для помощи в бухгалтерском учете.

Для создания считывателя штрих-кодов и QR-кодов на основе платы Arduino мы будем использовать Maikrt Embedded QR Code Scanning Module. Модуль поддерживает как USB, так и последовательную связь UART. Это небольшой считыватель 1D/2D кодов, который может быть встроен в любое устройство для сканирования кода с целью идентификации других элементов. Он использует интеллектуальный алгоритм распознавания изображений для идентификации данных штрих-кода и QR-кода.

В этом уроке мы узнаем, что такое QR и штрихкод и как работает эта технология. Кроме того, мы подробно рассмотрим модуль сканирования встроенного QR-кода Maikrt. И, наконец, мы свяжем сканер штрихкода и QR-кода с платой Arduino и отобразим считанные данные на OLED-дисплее.

Необходимые компоненты

  1. Плата Arduino Nano (купить на AliExpress).
  2. Встроенный модуль сканирования QR-кода Maikrt или аналогичный (купить на AliExpress).
  3. Модуль OLED дисплея SSD1306 128×64 с интерфейсом I2C (купить на AliExpress).
  4. Макетная плата.
  5. Соединительные провода.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Что такое штрих-код и как он работает?

Штрихкод представляет собой строку цифр и напечатанным рисунком из черных и белых полос. Штрихкоды разработаны для быстрого считывания компьютерами путем сканирования красного светодиода или лазерного луча по ним.

Пример штрих-кода

Каждая цифра в штрих-коде представлена ​​семью вертикальными блоками одинакового размера. Они окрашены в черный или белый цвет, чтобы представлять десятичные числа от 0 до 9. Каждое число в конечном итоге состоит из четырех толстых или тонких черных и белых полос, и его рисунок разработан таким образом, что даже если вы перевернете его вверх ногами, его нельзя будет спутать ни с каким другим числом.

Представление цифр в штрих-коде

Как работает сканер штрих-кода?

Сканер штрихкодов сканирует и преобразует в цифровую форму напечатанные штрихкоды. Затем он декодирует данные и отправляет их на компьютер. Он состоит из линзы, источника света и светового датчика, который может преобразовывать оптические импульсы в электрические сигналы. Сканер штрихкодов содержит декодер, который анализирует данные изображения, предоставленные датчиком, и отправляет их на выходной порт. После сканирования изображения он подключается к главному компьютеру для передачи полученной информации.

Принцип работы сканера штрих-кода

Декодер распознает символы штрих-кода, переводит содержимое штрихов и пробелов и передает данные на компьютер в формате, который мы можем прочитать.

Что такое QR-код и как он работает?

QR-код — это сканируемый штрихкод, закодированный данными. Закодированный означает преобразованный в определенную форму. В случае QR-кодов цифровые и буквенно-цифровые символы, байты и кандзи преобразуются в уникальное двумерное расположение квадратов. Когда оптический сканер проходит над этими квадратами, он преобразует их расположение обратно в исходную форму этих данных.

Примеры QR-кодов

Наиболее важными частями QR-кода являются модуль данных, маркер положения (Position marker) и тихая зона (Quiet zone).

Составные части QR-кода

Модуль данных — это стандартная единица QR-кода. Обычно это черный квадрат на белом фоне. На каждом QR-коде есть три маркера положения. Состоящие из внутреннего и внешнего глаза, они позволяют сканерам и камерам быстро и точно определять местоположение модулей данных и направление сканирования. Тихая зона — это пустая область со всех сторон матрицы модуля данных, которая содержит все модули данных и маркеры положения. Она позволяет сканерам и считывателям оптически определять, где начинается и заканчивается QR-код.

Как работает сканер QR-кода?

Узоры в QR-кодах представляют собой двоичные коды, которые можно интерпретировать для получения данных кода.

QR-ридер может идентифицировать стандартный QR-код на основе трех больших квадратов снаружи QR-кода. Как только он идентифицирует эти три фигуры, он знает, что все, что содержится внутри квадрата, является QR-кодом.

Затем QR-ридер анализирует QR-код, разбивая его на сетку. Он смотрит на отдельные квадраты сетки и присваивает каждому из них значение в зависимости от того, черный он или белый. Затем он группирует квадраты сетки для создания более крупных узоров.

Встроенный модуль сканирования штрих- и QR-кодов Maikrt

Модуль сканирования штрих- и QR кодов Maikrt — это небольшой считыватель 1D/2D кодов. Он может быть встроен в любое устройство для сканирования кода с целью идентификации других предметов. Он использует интеллектуальный алгоритм распознавания изображений для считывания данных QR или штрих-кода. Он может легко считывать штрих-коды 1D, 2D на этикетках, бумаге и дисплеях мобильных телефонов или компьютеров. Модуль обладает лучшей чувствительностью и высокой точностью.

Встроенный модуль сканирования штрих- и QR-кодов Maikrt

Модуль имеет интерфейсы USB и TTL для прямого взаимодействия с компьютером или микроконтроллером. Он оснащен 9-контактной терминальной линией и USB-кабелем, что удобно для преобразования между последовательным портом UART TTL и интерфейсом USB.

Используя интерфейс USB, модуль сканирует код напрямую и автоматически отправляет результат на ваш хост-компьютер. После получения данных хост-компьютер может перейти к следующему шагу. Скорость передачи данных этого модуля по умолчанию установлена ​​на 9600 бод.

Распиновка модуля сканирования штрих- и QR-кодов Maikrt

Модуль имеет 9-контактную 4-проводную терминальную линию для взаимодействия с микроконтроллером. Красный провод - это вывод VCC (+5 В)черный - это GNDЗеленый и белый провода - это выводы Tx и Rx.

Ниже приведен код настройки для преобразования между интерфейсами TTL и USB. Вы можете отсканировать QR-код соответствующего интерфейса в соответствии с вашими потребностями.

QR-коды для настройки модуля Maikrt

Технические параметры модуля

1. Напряжение: 5 В.
2. Мощность: <0,9 Вт.
3. Интерфейс связи: UART TTL\UART RS232\USB.
4. Скорость передачи данных: 9600 бод.

5. Режим сканирования: всенаправленный режим автоматического сканирования.
6. Метод настройки параметров: настройка параметров с помощью QR-кода или настройка команды хоста.
7. Рабочие советы: можно подключить зуммер, светодиодный индикатор.
8. Угол сканирования: ±60°, ±40°, ±360° (влево-вправо, вперед-назад, вращение).
9. Расстояние сканирования: от 5 до 10 см.
10. Рабочая температура: от -25°C до 55°C.

Взаимодействие сканера штрих-кода/QR-кода с Arduino

Теперь давайте соединим модуль сканера штрих-кода/QR-кода с платой Arduino. Поскольку модулю требуется всего 4 соединения, его сопряжение с Arduino довольно простое. Схема подключения выглядит следующим образом.

Схема подключения модуля сканера штрих-кода/QR-кода к плате Arduino

Подключите красный провод (VCC) и черный провод (GND) модуля сканера штрих- и QRкода к контактам Arduino 5V и GND соответственно. Аналогично подключите зеленый провод (Tx) и белый провод (Rx) к контактам D3 и D4 Arduino.

Собранная на макетной плате конструкция проекта

Исходный код программы

Код Arduino для данного проекта достаточно прост. Мы будем использовать библиотеку Software Serial для считывания полученных данных. Вы можете скопировать код и загрузить его на плату Arduino.

После загрузки кода вы можете поднести любой QR-код или штрих-код к модулю. Модуль идентифицирует и подготовит данные и отобразит считанные данные на Serial Monitor (монитор последовательной связи).

Тестирование работы проекта в окне монитора последовательной связи

Портативный сканер штрих-кодов/QR-кодов на Arduino и OLED-дисплее

Тестирование модуля сканирования штрих-кода/QR-кода выполняется с использованием приведенного выше кода. Теперь вы можете интегрировать 0,96″ I2C OLED-дисплей с модулем сканера QR-кода и Arduino. Это может быть сделано как портативное устройство.

Полная принципиальная схема вместе с соединениями OLED-дисплея очень проста.

Схема проекта с подключенным OLED-дисплеем

OLED-дисплей — это модуль I2C. Поэтому у него есть 4 провода: VCC, GND, SCL и SDA. Подключите контакты VCC и GND к контактам Arduino 5V и GND. Аналогично подключите контакты SCL и SDA к контактам Arduino A5 и A4 соответственно.

Собранная конструкция проекта с подключенным OLED-дисплеем

Исходный код программы

Ниже приведена программа для портативного сканера штрих-кодов/QR-кодов на основе платы Arduino. Код требует две библиотеки для OLED-дисплея, т.е. Adafruit GFX Library и SSD1306 OLED Library. Сначала загрузите эти библиотеки по ссылкам Github и добавьте их в папку Arduino Library.

Теперь вы можете скопировать код и загрузить его на плату Arduino.

После загрузки кода устройство будет готово к тестированию. Вы можете начать сканировать QR-коды или штрих-коды.

Тестирование сканирования штрих-кода

Вы можете поднести любой штрих-код к модулю сканера, и он отсканирует его и отобразит на OLED-дисплее.

Не только штрих-код, он также может сканировать QR-код.

Тестирование сканирования QR кода

После сканирования QR-кода на OLED-дисплее отобразятся правильные данные.

Видео с демонстрацией работы проекта

Ссылка на видео на YouTube

(Проголосуй первым!)
Загрузка...
47 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *