به زبان ساده مىتوان گفت: مجموعهاى از میلهها یا خطوط سیاه رنگى که معمولاً بر روى زمینهاى سفید چاپ مىشود و به وسیلهی آن از کالاى خریدارى شده شناسایى لازم به عمل مىآید و قیمت آن مشخص مىشود و اگر به دنبال تعریف دقیقترى هستید، باید گفت:
بارکد عبارت است از انتقال دادهها از طریق امواج نورى. آنها مجموعهاى از خطوط میلهاى موازى با عرضهاى گوناگون (پهن و نازک)هستند که اندازهی هر خط معنا و مفهوم خاصى براى دستگاه بارکدخوان دارد. در حقیقت دستگاه بارکدخوان ماشینى است که اطلاعات را به شکل بصرى بر روى صفحه نمایش مىدهد.
بیشتر بستهبندیها بارکد دارند. عموماً در بارکدها اطلاعات با نوارهایی با پهناهای مختلف کد میشوند. هنگام خواندن بارکدها معمولاً یک سنسور نوری وجود دارد که بسته به سیگنال دریافتی ( سیاه یا سفید باشد) در خروجی صفر یا یک را نتیجه میدهد. سیستمهای بارکدها میتوانند با چندین روش رمزگشایی عمل کنند. هر روش رمز گشایی مانند یک زبان برای سیستم است و هرکدام نقاط قوت و ضعف خود را دارند.
برای کاربردهای عمومی زبان کد ۱۲۸ معمولا بهترین انتخاب است. در این روش ۱۲۸ کاراکتر اسکی تعریف میشود که کاملا قابل خواندن هستند و اطمینان بالایی برای تشخیص آنها وجود دارد. اگر شما در حال ساخت یک سیستم با کاربرد عمومی هستید و نیاز دارید که فقط از اعداد و حروف کوچک استفاده کنید میتوانید از کد ۳۹ استفاده کنید. در هرحالت به غیر از روشهای رمز گشایی نیاز به پیکربندی بارکد خوان هم میباشد.
در بارکدها بعضی مواقع تیکهایی هم برای اطمینان بیشتر قرار داده میشوند. تیکها کاراکترهایی هستند که در بارکدها برای تضمین خواندن درست قرار داده شده اند. تیکها در بعضی بارکدها که مستعد خطای بیشتری هستند ضروری است.
بارکدها را میتوان با یک کامپیوتر عادی و با یک پرینتر لیزری چاپ کرد. شما فقط نیاز به یک برنامه مناسب برای ساخت و پرینت آن دارید. خواندن اطلاعات بارکد به روشهای مختلفی انجام میشود. اگر شما میخواهید یک بارکدخوان بسازید باید دستگاهی بسازید که فقط بارکدها را با دقت را بالا بخواند. بارکدهای تجاری که به کامپیوتر وصل میشوند معمولاً میتوانند کدهای اسکی را از طریق پورت سریال به کامپیوتر ارسال کنند. بارکد خوان معمولاً قسمتی برای اسکن نوارها دارد که یک اسکنر بارکد لیزری است. شما حتماً آنرا در فروشگاهها و مغازهها دیدهاید.
اگر شما میخواهید اطلاعات را پردازش کنید باید اطلاعاتی از نحوه دکد کردن بارکد ها داشته باشید. برای درک نحوهی دکد کردن بارکدها شما خود را در داخل دستگاه فرض کنید. شما باید منتظر اولین نوار مشکی باشید. هنگامی که اولین نوار مشکی دیده شد ساعت یا کلاک داخلی ریسِت میشود به مقدار عدد صفر و کلاک شروع می شود. سپس منتظر میشوید تا به نوار سفید برسد. به محض رسیدن نوار سفید ما میتوانیم زمان را بخوانیم و آنرا متناسب با طول نوار مشکی یادداشت کنیم . هنگامی که ما از سفید به سیاه میرویم دوباره زمان را میخوانیم و پهنای نوار را یادداشت میکنیم. ما این کار را تا آخرین نوار انجام میدهیم. بعد از این ما اطلاعات کد شده را دکد میکنیم و نتایج به همین روش بدست میآید.
ساختار بارکد:
هر خط بارکد نشاندهندهی عدد ۱ و هر فضای خالی نمایش دهنده صفر است و تمام بارکد با صفر و یک نمایش داده میشود. بهتر است برای سادگی کار یک مثال عددی بزنیم و همه چیز را از آغاز شرح دهیم.
بارکد مورد نظر ( ۰۰۷۵۶۷۸۱۶۴۱۲۵ ) یک عدد ۱۳رقمی که در این حالت عدد آخر یعنی( ۵ )عدد یا رقم کنترل Check digit] [ است
[۰۰] رقم سیستم است که در این حالت کشور آمریکا را نشان میدهد.
[ ۷۵۶۷۸] کد یا رقم مربوط به تولیدکنندهی کالا است.
[۱۶۴۱۲] کد یا رقم مربوط به کالای تولیدی است.
بنابر این بایستی رقم کنترلی را برای بارکد ۰۰۷۵۶۷۸۱۶۴۱۲ محاسبه کنیم. طبق جدول زیر عمل کنید.
۲ ۱ ۴ ۶ ۱ ۸ ۷ ۶ ۵ ۷ ۰ ۰ بارکد
فرد زوج فرد زوج فرد زوج فرد زوج فرد زوج فرد زوج موقعیت
۳ ۱ ۳ ۱ ۳ ۱ ۳ ۱ ۳ ۱ ۳ ۱ عدد ثابت
۳*۲ ۱*۱ ۳*۴ ۱*۶ ۳*۱ ۱*۸ ۳*۷ ۱*۶ ۳*۵ ۱*۷ ۳*۰ ۱*۰ محاسبه
۶ ۱ ۱۲ ۶ ۳ ۸ ۲۱ ۶ ۱۵ ۷ ۰ ۰ نتیجه
اعداد نتیجه را با هم جمع کنید.
۸۵=۶+۱+۱۲+۶+۳+۸+۲۱+۶+۱۵+۷+۰+۰
عدد بدست آمده یعنی ۸۵ را بایستی با یک عدد جمع کرد بطوریکه حاصل قابل تقسیم بر ۱۰ باشد. عدد مورد نظر عدد کنترلی خواهد بود در اینجا عدد ۵ بنابراین بارکد مورد نظر به صورت زیر خواهد بود:
۰۰۷۵۶۷۸۱۶۴۱۲۵
بارکد را بطور کلی به دو قسمت که با خطوط حفاظتی وسط از هم جدا میگردد به بارکد های سمت چپ و راست تقسیم میکنند.
هر عدد بسته به موقعیت قرارگیرد زوج و فرد بودن آن صفر و یکهای متفاوتی به خود میگیرد که از جدول زیر تبعیت میکند.
کدگذاری سمت چپ کدگذاری سمت چپ عدد
زوج و فرد زوج فرد
۱۱۱۰۰۱۰ ۰۱۰۰۱۱۱ ۰۰۰۱۱۰۱ ۰
۱۱۰۰۱۱۰ ۰۱۱۰۰۱۱ ۰۰۱۱۰۰۱ ۱
۱۱۰۱۱۰۰ ۰۰۱۱۰۱۱ ۰۰۱۰۰۱۱ ۲
۱۰۰۰۰۱۰ ۰۱۰۰۰۰۱ ۰۱۱۱۱۰۱ ۳
۱۰۱۱۱۰۰ ۰۰۱۱۱۰۱ ۰۱۰۰۰۱۱ ۴
۱۰۰۱۱۱۰ ۰۱۱۱۰۰۱ ۰۱۱۰۰۰۱۱ ۵
۱۰۱۰۰۰۰ ۰۰۰۰۱۰۱ ۰۱۰۱۱۱۱ ۶
۱۰۰۰۱۰۰ ۰۰۱۰۰۰۱ ۰۱۱۱۰۱۱ ۷
۱۰۰۱۰۰۰ ۰۰۰۱۰۰۱ ۰۱۱۰۱۱۱ ۸
۱۱۱۰۱۰۰ ۰۰۱۰۱۱۱ ۰۰۰۱۰۱۱ ۹
مثال ۲) بارکدمورد نظر ۷۵۰۱۰۳۱۳۱۱۳۰
۷۵کد کشور مکزیک
۱۰۳۱ که تولیدکننده در اینجا شرکت پپسیکولا
۳۱۱۳۰ محصول مورد نظر نوشابه قوطی
برای محاسبه به شکل زیر عمل میکنیم.
۰ ۳ ۱ ۱ ۳ ۱ ۳ ۰ ۱ ۰ ۵ ۷ Barcode
O E O E O E O E O E O E Position
۳ ۱ ۳ ۱ ۳ ۱ ۳ ۱ ۳ ۱ ۳ ۱ weighting
۰*۳ ۳*۱ ۱*۳ ۱*۱ ۳*۳ ۱*۱ ۳*۳ ۰*۱ ۱*۳ ۰*۱ ۵*۳ ۷*۱ calculation
۰ ۳ ۳ ۱ ۹ ۱ ۹ ۰ ۳ ۰ ۱۵ ۷ Weighted sum
نتیجه را با هم جمع میکنیم
۵۱=۰+۳+۳+۱+۹+۱+۹+۰+۳+۰+۱۵+۷
عدد ۵۱ را بایستی با عدد ۹ جمع کرد تا حاصل قابل تقسیم بر ۱۰ باشد بنابراین عدد کنترلی ۹ می باشد. بر اساس آنچه گفته شد اعداد به گونه زیر کد گذاری می شوند.
۱٫ خطوط حفاظتی سمت چپ (همیشه یکسان) ۱۰۱
۲٫ رقم دوم کد سیستم (۵) ۰۱۱۰۰۰۱
۳٫ اولین رقم تولیدکننده (۰) ۰۱۰۰۱۱۱
۴٫ دومین رقم تولیدکننده (۱) ۰۰۱۱۰۰۱
۵٫ سومین رقم تولیدکننده (۰) ۰۱۰۰۱۱۱
۶٫ چهارمین رقم تولیدکننده (۳) ۰۱۱۱۱۰۱
۷٫ پنجمین رقم تولیدکننده (۱) ۰۱۱۰۰۱۱
۸٫ خطوط حفاظتی وسط (همیشه یکسان) ۰۱۰۱۰
۹٫ اولین رقم تولیدکننده (۳) ۱۰۰۰۰۱۰
۱۰٫ دومین رقم تولیدکننده (۱) ۱۱۰۰۱۱۰
۱۱٫ سومین رقم تولیدکننده (۱) ۱۱۰۰۱۰
۱۲٫ چهارمین رقم تولیدکننده (۳) ۱۰۰۰۰۱۰
۱۳٫ پنجمین رقم تولیدکننده (۰) ۱۱۱۰۰۱۰
۱۴٫ رقم کنترلی (۹) ۱۱۱۰۰۱۰
۱۵٫ خطوط حفاظتی سمت چپ( همیشه یکسان) ۱۰۱
بارکد و مشکلات آن
معمولاً موسسهی ثبت بارکد برای هر محصول تولیدی شرکتهای مختلف یک پرینت ارائه میکند. بسیاری از طراحان گرافیک بارکد را اسکن کرده و بر روی طرح محصول جایگزین می کنند.
غافل از اینکه ممکن است این عمل مشکلاتی به بار بیاورد.
دقت کنید که بارکد را به حالت Gray Scale اسکن نمایید یا اینکه بعد از اسکن آنرا تبدیل به Gray Scale کنید. بارکد هایی که به شکلCKMY چاپ میشوند، ممکن است غیر قابل استفاده باشند. مشکل از آنجا ناشی میشود که هنگام چاپ هر رنگ با کمی جابجایی ضخامت خطوط و فاصله سفیدی بین آنها دچار تغییر شده و همین مسئله دستگاه بارکد خوان را دچار مشکل می کند.
آنچه که مهم است این است که ضخامت و فاصله بین خطوط تغییر نکند. ضخامت و فاصله ای که معیار آن دو خط اول و دو خط آخر هر بارکد در استاندارد EAN13 است.