25.05.2024

Як з’явився штрих-код і як він працює (простою мовою)

Штрих-код - як появився

Щодня людина стикається з такою корисною штуковиною, як штрих-код. Однак, роблячи покупки в магазині, мало хто з нас замислюється над тим, як ця штуковина взагалі працює. Яким чином з ліній різної товщини чи навіть форми виходить заповітний цінник? Отже, саме час спробувати розібратися в першому наближенні з принципом дії штрих-кодів і сканерів для їхнього зчитування, поговорити про те, які вони бувають, коли і для чого взагалі з’явилися.

1. Що таке штрих-код і навіщо він потрібен?

Штрих-код для кодування

Почати варто з визначення. Штриховий код – це спосіб графічного кодування двійкової системи обчислення. У свою чергу двійкова система обчислення – це позиційна система обчислення, що складається з нулів (0) та одиниць (1). Найважливіша якість і гідність двійкової системи полягає в тому, що вона є математичним виразом найпростішої (бінарної) логіки «так»/«ні» або «істина»/«вірно». Це дозволяє застосовувати її в цифрових електронних схемах на логічних вентилях.

Таким чином, двійкова система є основою роботи майже всієї сучасної мікроелектроніки від наручного годинника до смартфонів і комп’ютерів. При цьому двійкова система має передбачуваний мінус. Закодовані цифри та літери при спробі графічного відображення займають багато місця. Наприклад, латинська «А» виглядатиме як 01000001, а число «69» виглядатиме як 1000101.

При цьому на початку розвитку мікроелектроніки (комп’ютерів) існуючі технології не дозволяли людям створити обладнання, здатне розпізнавати «складні» зображення. Це сьогодні комп’ютери вміють знаходити схожі зображення, а нейромережі створюють власні тексти, музику та малюнки. У 1940-і роки зчитування найпростіших цифр і букв з поверхні було чимось на кшталт наукової фантастики. Тому люди і придумали штрихкод – інструмент, який дозволяє зробити «складну» графічну інформацію «простою» для зчитувального обладнання.

Також читайте:  Sony A7 III vs A7 IV - 10 основних відмінностей та порівняння

2. Як узагалі штрихкод з’явився?

Компанія IBM
Дружно скажемо спасибі компанії IBM.

Як у всякого складного винаходу, штриховий код не має його «тата і мами» в особі одного творця. Сучасний штриховий код був продуктом творчості та наукових досліджень великої кількості людей. Біля джерел створення штрих-коду в 1948 році стояв аспірант Технологічного інституту при Дрексельському університеті у Філадельфії Бернард Сільвер, який намагався розробити систему автоматичного зчитування про продукт при його контролі для місцевої торгової мережі. Він підтяг до роботи своїх друзів Нормана Джозефа Вудланда та Джордіна Йохансона. Утрьох вони досліджували різні способи кодування, зокрема за допомогою звуку.

У 1952 та 1953 роках напрацювання вчених викупили компанії IBM та Philco. У 1950-1960-і роки відбувся справжній бум у галузі пошуків способів кодування графічної інформації. Найбільш проривною виявилася технологія, запропонована Девідом Коллінзом, який намагався спростити облік та маркування залізничних вагонів. Саме він першим запропонував кодувати інформацію за допомогою смужок різного кольору та товщини, а зчитувати її світловим датчиком. Проте, обладнання Коллінза виявилося надто громіздким. В результаті в 1973 інженери IBM все-таки створили звичний сучасним людям штриховий код з чорних і білих смужок. Цей твір отримав назву «Universal Product Code». Його творцем вважається Джордж Лорер. Першу торгову операцію зі штрихкодом було здійснено 1974 року в супермаркеті Marsh міста Трой у штаті Огайо, США. Це була угода з продажу жувальної гумки Wrigley.

3. Які бувають штрих-коди та сканери для штрих-кодів?

Способи штрихового кодування
Способів штрихового кодування є безліч.

На винаході штрихового коду Universal Product Code нічого не завершилося, а тільки почалося. На сьогоднішній день у нас існують десятки систем кодування. В цілому всі коди поділяються на лінійно-одномірні та двовимірні складні. Найчастіше громадяни стикаються з одновимірними кодуваннями EAN, саме вони наносяться на більшість товарів у магазинах. Найяскравішим прикладом двовимірного штрих-коду є QR-код. Незважаючи на різницю в графічному відображенні, логіка що в одномірних, що в двовимірних кодах однакова – використання поєднань білих і чорних ліній. Двовимірні коди набагато складніші у своїй організації, але логіка в них закладена така сама.

Також читайте:  Незабаром у ChatGPT з'явиться офіційна версія для Android

Принципова відмінність (крім форми) між одновимірними та двовимірними кодами у кількості тієї інформації, яку можна тим чи іншим способом зашифрувати. Одномірні лінійні коди можуть «заховати» в собі невелику кількість простої інформації, наприклад, «Турецькі помідори, 2 рублі 50 копійок». Двовимірні коди в порівнянні з цим при невеликому розмірі, що здається, дозволяють шифрувати набори даних з об’ємом до двох аркушів формату А4. Настільки радикальна різниця в ефективності кодувань пояснюється тим, що одномірні коди шифрують дані використовуючи тільки вісь ікс (X). Двовимірні коди використовують дві осі – ікс та ігрек (XY).

Різними бувають не тільки штрих-коди, а й обладнання для їх зчитування. Загалом його можна поділити на світлодіодне та лазерне. Загалом відмінність лише у ціні та ефективності. Світлодіодне сканування працює на дуже невеликій відстані, але таке обладнання значно дешевше. Лазерне обладнання дорожче, але дозволяє читати коди навіть на великій відстані. Ну, а тепер до найцікавішого.

4. Як функціонує штрихкод простою мовою?

Штрихкод - насправді, все просто.
Насправді, все просто.

Так як при всій різниці форм логіка в роботі штрих-кодів однакова, то розбиратимемося на прикладі найпростішого одновимірного штрих-коду «Code-128». На зорі розвитку мікроелектроніки люди не мали технологій, що дозволяють комп’ютеру прочитати з етикетки «Помідори турецькі. 2 рублі 50 копійок». Для машини цю інформацію потрібно спростити. Найпростіше зробити це, перетворивши напис на набір з нулів (0) та одиниць (1). Вот только на дворе 1960-е, и оборудование не может прочитать на этикетке «11010000 10111111 11010000 10111110 11010000 10111100 11010000 10111000 11010000 10110100 11010000 10111110 11010001 10000000 11010001 10001011 00001010», точно также как слово «помидоры». Як бути?

Промінь світла на штрихкоді по-різному відбивається
Коли промінь світла потрапляє на штрихкод, він по-різному відбивається від білих і чорних ділянок.

Отже, у сканері є джерело світла (лазер або світлодіод), яке пускає промінь на штрих-код. Промінь світла відбивається від штрих-коду і вловлюється фоторезистором. Через те, що поверхня штрих-коду – це малюнок чорне-біле, відбитий промінь коливається. Світлові хвилі провалюються на чорних ділянках штрих-коду і відскакують на білих. Фоторезистор приймає ці коливання променя та передає зібрану інформацію на процесор, який дешифрує «провалився-відскочив» в одиниці та нулі. Таким чином намалювавши штрих-код, ми спочатку закодували в нього нулі та одиниці, а підсвітивши штрих-код лазером ми декодували нулі та одиниці з малюнка.

Також читайте:  як захистити телефон від злому

Зрозуміло, кодувати «Помідори турецькі 2 рублі 50 копійок» безпосередньо в штрихкод було не дуже раціонально. Такий штрих-код займе занадто багато місця. Тому використовується подвійне кодування. Вся номенклатура товару із цінами шифрується в порядкові номери. Порядкові номери зберігаються у базі даних на комп’ютері. Кожен порядковий номер товару перетворюється на двійковий код, який записується у вигляді штрих-коду на етикетці. Працює це приблизно так: сканер зчитує штрихкод і перетворює його на двійковий код, процесор комп’ютера перетворює двійковий код на номер товару, номер товару перебуває в базі даних, після чого на екран виводиться назва і ціна.

5. І ще маленький момент…

Ділянки під цифрами 1, 2, 4, 5 та 1 – технічні
Ділянки під цифрами 1, 2, 4, 5 та 1 – технічні. Сам код товару лише у ділянці 3.

Окремо варто додати, що у всіх штрихкодах містяться додаткові символи або смуги, які мають суто технічний характер. Наприклад, у Code-128 на початку коду використовується велика біла лінія, що позначає початок коду для сканера. Також є «системні» набори білих і чорних смуг, що чергуються, які несуть інформацію потрібну тільки для самого сканера, наприклад, що дозволяє обладнанню зрозуміти, штрихкод якої системи перед ним «Code-128» або «EAN-8». Ще одна системна ділянка на малюнку – це стоп-символ, який також потрібний суто для забезпечення нормальної роботи сканера.

Як бачите, такі «прості» штуки, як штриховий код і сканер – це справжня квінтесенція людських знань у галузі фізики, оптики (розділ фізики, що вивчає поведінку світла), мікроелектроніки, математики та напевно чогось ще.

6. Стривай хвилиночку, а що за дивні цифри під штрихкодом?!

Цифри потрібні, якщо код не спрацює

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

P.S. У Мережі є безкоштовні сервіси для перекладу чисел та букв у штрих-коди. Наприклад, можна пошукати якийсь «Generate Free Barcodes Online». Він дозволяє перетворювати числові значення на конкретний штрихкод, використовуючи ту чи іншу систему шифрування.

Можна побалуватись.
Можна побалуватись.

Залиште коментар