ардуино сканер штрих кода
Сканер штрих и QR-кодов: подключение и режимы работы
Используйте сканер баркодов для считывания штрихкодов и QR-кодов. Автоматизируйте складской учёт или притворитесь кассиром супермаркета, чтобы пропикать все товары!
Режим виртуальной USB-клавиатуры
Сканер штрихкодов работает напрямую с компьютером без всяких приложений: он притворяется типовой USB-клавиатурой и выдаёт считанные данные в виде строки текста. Именно такой режим работы задан по умолчанию.
Режим работы через COM-порт
Barcode сканер общается с управляющей платой по протоколу UART. В зависимости от управляющей платформы выберите вариант подключения.
HardwareSerial
Список поддерживаемых плат:
Схема подключения
При подключении к платам формата Arduino R3 удобно использовать Troyka Shield.
Исходный код
В качестве примера все сканированные штрихкоды выведем в консоль.
SoftwareSerial
Схема подключения
Для примера подключим управляющие пины сканера TX и RX — на 10 и 11 контакты управляющей платы.
При подключении удобно использовать Troyka Shield.
Исходный код
В качестве примера все сканированные штрихкоды выведем в консоль.
HardwareSerial Mega
На платформах форм-фактора Arduino Mega 2560 интерфейс UART выведен на контактные пины платы и он же используется для отладки по USB. Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с Barcode-модулем.
Но на платах такого форм-фактора есть ещё дополнительно три аппаратных UART:
Barcode Scanner Module, Сканера штрих-кодов для Arduino-проектов, считыватель 1D / 2D-кодов
Описание
Благодаря встроенному интерфейсу USB и UART его можно напрямую подключить к компьютеру или легко интегрировать в различные устройства из-за его малого форм-фактора.
Особенности:
— Прост в использовании, не требует знаний об распознавании изображений;
— Декодирует различные общие 1D/2D коды, такие как штрих-код, QR-код и т. д.;
— Встроенный micro-USB и последовательный порт UART, позволяет подключаться к компьютерам или встраеваемым устройствам;
— Настраивается с помощью сканирования «код конфигурации»;
— Встроенный источник света, работает в темноте.
Спецификация:
— Рабочее напряжение: 5 В;
— Рабочий ток: 135 мА (сканирование), 58 мА (режим ожидания), 2 мА (спящий режим);
— Рабочая температура: 0. +60 °C;
— Рабочая влажность: 5%. 95% (без конденсации);
— Интерфейс связи: UART, USB;
— Декодирует 1D-коды: Codebar, Code 11, Code 39/Code 93, UPC/EAN, Code 128/EAN128, Interleaved 2 of 5, Matrix 2 of 5, MSI Code, Industrial 2 of 5, GS1 Databar(RSS);
— Декодирует 2D-коды: QR code, Data Matrix, PDF417;
— Источник света: белый;
— Сканирующие углы: roll 360 °, skew ± 65 °, pitch ± 60 °;
— Поле зрения: 28 ° (по горизонтали), 21.5 ° (по вертикали);
— Размер: 53.3 мм x 21.4 мм.
Комплектация:
1 х Barcode Scanner Module
1 х USB type A plug to micro B plug cable
1 х PH2.0 4Pin cable
Сканер штрихкодов и QR-кодов
Товары из офиса нельзя заказать через интернет или забронировать. Можно только прийти, схватить и бежать. Доступное количество актуально на момент загрузки страницы.
Офис находится в 3 минутах ходьбы от м. Парк культуры по адресу: ул. Тимура Фрунзе, 8/5.
Товары из магазина-мастерской нельзя заказать через интернет или забронировать. Можно только прийти, схватить и бежать. Доступное количество актуально на момент загрузки страницы.
Магазин-мастерская находится в трёх минутах пешком от метро Лиговский Проспект, на территории пространства «Лофт Проект Этажи», по адресу Лиговский проспект 74Д.
Сканер Waveshare поможет считывать одно- и двухмерные штрихкоды популярных форматов, включая QR Code. Автоматизируйте складской учёт или притворитесь кассиром «Пятёрочки», чтобы прощёлкать все товары!
Принцип действия
Секрет устройства заключается в комбинации цифровой камеры и модуля обработки изображения. В него зашит алгоритм, который распознаёт штрихкоды и QR-коды в поле зрения камеры, а если ей не хватает внешнего освещения — на помощь приходит встроенная LED-подсветка. Для точного наведения на штрихкод у сканера предусмотрен световой маркер в виде красной полоски.
Подносим штрихкод на дистанцию около 20 см к объективу, и раздаётся характерный сигнал зуммера, как на кассе супермаркета. На чтение кода уходит доля секунды, для ускорения процесса нужно выровнять плоскость штрихкода перпендикулярно к сканеру. Максимальный угол отклонения — 60 градусов.
Подключение и настройка
Сканер штрихкодов работает напрямую с компьютером без всяких приложений: он притворяется типовой USB-клавиатурой и выдаёт считанные данные в виде строки текста. Именно такой режим работы задан по умолчанию.
Кроме того, сканер общается с управляющими платами по интерфейсу UART. Для подключения к Arduino рекомендуем использовать Troyka Shield, а для Raspberry Pi предусмотрен Troyka HAT.
Настраивать сканер можно командами по UART, но куда проще воспользоваться сервисными QR-кодами: переключать режимы чтения, управлять LED и зуммером, сохранить и сбросить настройки можно просто нацелившись на соответствующий QR-код в инструкции устройства. Это позволяет менять конфигурацию на лету.
Обратите внимание, что нам не удалось перевести сканер в режим виртуального COM-порта, как указано в инструкции. По информации от производителя, эта функция зарезервирована на будущее.
Для активации процесса сканирования по умолчанию используется кнопка на плате. Встроенный зуммер сигнализирует об успешном считывании кода и изменениях в работе устройства.
IoT сканер штрих-кода с отправкой результатов в облако
Рассмотрим создание IoT сканера штрих-кодов, который позволит проводить инвентаризацию товаров с отправкой результатов на сервер в сети Интернет и сохранением в базе данных. Сканер штрих-кода GM65 идентифицирует продукт по его штрих-коду. Затем мы вводим количество продукта на сенсорном дисплее Nextion и отправляем его через Wi-Fi на сервер, где вводим его в базу данных. Данное устройство позволяет автоматизировать процесс инвентаризации товаров.
Сканер штрих-кодов GM65
Сканер штрих-кодов GM65 – это с цифровая камера и модуль обработки изображений. На AliExpress в среднем стоит 20$. Он имеет алгоритм, который распознает штрих-коды и QR-коды в поле зрения камеры, и если ему не хватает внешнего освещения, включается встроенная светодиодная подсветка. Для точного наведения на штрих-код сканера предусмотрен световой маркер в виде красной полосы.
Для считывания штрих-кода необходимо поднести его к объективу модуля GM65 на расстояние около 20 см, при считывании раздается характерный сигнал зуммера, как на кассе супермаркета. Для ускорения процесса необходимо выровнять плоскость штрихкода перпендикулярно сканеру. Максимальный угол отклонения составляет 60 градусов.
В режиме по умолчанию сканер штрих-кода подключается к компьютеру по USB, работает как HID-клавиатура и выводит данные в виде строки текста.
Вы можете настроить сканер с помощью команд UART, но гораздо проще использовать сервис QR-кодов: переключать режимы чтения, управлять светодиодом и зуммером, сохранять и сбрасывать настройки, просто ориентируясь на соответствующий QR-код в инструкции устройства. Это позволяет изменять конфигурацию на лету.
Кнопка на плате используется по умолчанию для активации процесса сканирования. Встроенный зуммер сигнализирует об успешном считывании кода и изменениях в работе устройства.
Подключение и настройка сканера штрих-кодов GM65
В качестве контроллера будем использовать плату Arduino MKR 1000 WiFi. Для подключения по UART используем последовательный порт Serial1 платы Arduino MKR 1000 WiFi. Схема подключения сканера штрих-кодов.
Теперь необходимо настроить сканер для нашего проекта. Подключим сканер к компьютеру с помощью USB-кабеля и последовательно считаем коды, показанные на на риcунке ниже
Скетч получения кода со сканера
Загружаем скетч на плату Arduino и сканируем разные штрих-коды. Данные выводим в монитор последовательного порта
Подключение дисплея Nextion
В качестве дисплея будем использовать сенсорный дисплей Nextion NX3224K024. Дисплей Nextion представляет собой полноценный компьютер с процессором, видеокартой и экраном, причем он выделяет весь свой вычислительный ресурс на обработку графики и позволяет записывать в него свои программы. На модулях дисплеев Nextion имеется разъем UART и выводы GPIO, что дает возможность использовать дисплеи Nextion как совместно с Arduino — подключая дисплей к Arduino по шине UART (обмен с помощью унифицированных команд), так и отдельно — подключая кнопки, светодиоды, реле и пр. напрямую к выводам GPIO дисплея). Через имеющийся у дисплея Nextion разъем для карт памяти micro-SD в него можно загружать программы.
Для работы с дисплеями Nextion необходимо установить программу Nextion Editor, которая позволяет создавать интерфейс пользователя с использованием различных библиотечных элементов: кнопок, слайдеров, картинок, графики, текста и т. п., а также прописывать алгоритмы поведения дисплея для различных событий элементов, формирующих этот интерфейс.
Загружаем изображения и создаем интерфейс приложения
Назначьте события Touch Release для отправки команд через последовательный порт при нажатии кнопок
Вы можете просмотреть отправленные коды, запустив отладчик
Для прошивки дисплея через UART понадобится адаптер USB-Serial. Схема подключения Nextion к адаптеру USB-Serial
Для загрузки прошивки выбираем пункт меню Upload и в открывшемся окне нажимаем на кнопку Go. Процесс прошивки будет отображаться в окошке программы и на дисплейном модуле. По окончании прошивки загружаемый проект начнет выполняться и отображаться на дисплейном модуле. Надо отметить, что прошивка через UART занимает весьма долгое время.
Теперь подключим дисплей Nextion к плате Arduino MKR1000 WiFi. Порт Serial мы используем для связи с компьютером и отладки. Порт Serial1 используем для подключения сканера штрих-кодов. Нам необходим еще один последовательный интерфейс для подключения дисплея Nextion.
Одним из преимуществ новых платформ Arduino является упрощение встроенного программного обеспечения, присваивающего каждому контакту микроконтроллера одну из множества возможных функций. Для добавления дополнительных последовательных интерфейсов (Serial2 и Serial3) к микроконтроллерам SAMD (SERCOM)
Рассмотрим как добавить больше последовательных интерфейсов (SERCOM’ов) на плату Arduino, оснащенную микропроцессором SAMD. Эти интерфейсы являются аппаратными и могут быть типов I2C, UART и SPI. Подключение дополнительных интерфейсов возможно, поскольку микроконтроллер SAMD имеет шесть встроенных модулей для последовательной коммуникации, которые можно настраивать отдельно друг от друга. На момент покупки платы настроены лишь четыре:
WINC1500 SPI / SEERCOM 2:
Поэтому оставшиеся два можно вывести на контакты платы.
Код для добавления последовательных интерфейсов Serial2 и Serial3.
Для подключения дисплея Nextion сконфигурируем Serial2 на контактах 0 и 1. Схема соединений
При нажатии кнопок на дисплее, по последовательному порту Serial2 плата Arduino получает данные. Необходимо переводить эти данные в количество (для кнопок 0-9), сброс (кнопка *) или отправка данных на сервер (кнопка OK). При изменении количества необходимо отправлять на дисплей последовательности для изменения содержимого элемента n0.
Код получения данных (нажатие кнопок) с дисплея Nextion и отправка данных с Arduino (штрих-код и количество) на дисплей Nextion
Код установки количества продукта при нажатии кнопок
Подключение платы Arduino MKR 1000 WiFi к интернету.
Для подключения Arduino MKR1000 к сети Wi-Fi мы будем использовать библиотеку WiFi101, которую установим с помощью менеджера библиотек (Sketch Include Include library Manager Manager Libraries).
Скачать эскиз подключения платы Wi-Fi Arduino MK R 1000 к необходимой точке доступа. Загрузите пример из connectWithWPA.библиотека ino на плате, введя данные для вашей точки доступа Wi-Fi во вкладке:
После загрузки эскиза откройте монитор последовательного порта, где вы можете наблюдать за процессом подключения платы Wi-Fi Arduino MKR1000 к точке доступа.
Код отправки данных на сервер
Скачать полный скетч можно по ссылке в конце статьи
Получение данных на сервере с занесением в базу данных
Создание базы данных на хостинге (MySQL) и двух таблиц в ней:
На сервере создадим php-скрипт get_barcode.php, который получает приходящие со сканера данные и заносит их в базу данных. Содержимое скрипта
Сканируем и проверяем приход и сохранение данных на сервере
Arduino.ru
Подключение сканера штрихкода USB
Есть сканер Шк, ЮСБ-шный.
В базовом варианте подключается к ПК.
Есть ли варианты подключить его к Ардуино чз ЮСБ?
сканер есть у вас на руках или в магазине? если в магазине лучше возьмите с RS232 интерфейсом, больше вероятность что что-то сделаете
В самом сканере USB наверняка превращается в итоге в некий TX/RX, как вариант можно подцепить Arduino напрямую уже за микросхемой TTL USB
ещё бывают сканеры с ps/2 интерфейсом. Такие работают как клавиатура. Видел примеры по теме «ардуино и ps2 клавиатура».
USB выбран по причине того, что разъем уже есть и ничего наворачивать сверху не надо.
Сканеры не закуплены, поэтому выбрать можно с любым типом подключения.
леонарно или микро как хаб может работать. вот только с usb тяжелее гораздо работать по сравнению с uart. вы врядли напишите программу, да и я тоже
Коллеги пишут следущее:
Кроме того, установив USB Host Shield на Arduino, вы по сути получаете Arduino ADK : платформу, способную общаться с любым мобильным устройством на базе Android.
Полноценный. Только не тот который вам нужен.
Почитайте про USB. Какие они вообще бывают. Не только вид/размер разъема, но и роли устройств.