- تو ، ویسے بھی یہ QR کوڈ کیا ہے؟
- آپ کا خود ہی QR کوڈ بنانا
- PNG کو BMP کی شکل میں تبدیل کرنا
- BMP تصویر کو HEX کوڈز کی ایک صف میں تبدیل کریں
- سرکٹ ڈایاگرام
- کوڈ کی وضاحت
"کوئیک رسپانس" کوڈ یا مختصر جواب کے طور پر کیو آر کوڈ ہماری ڈیجیٹل زندگی کا لازمی حص becomeہ بن گیا ہے ، امکانات یہ ہیں کہ اب آپ لاشعوری طور پر ان سے واقف ہوچکے ہیں اب آپ اپنے مقامی گروسری اسٹور کے گرد گھوم رہے ہوں گے ، یا ہوسکتا ہے کہ آپ ہو اپنی پسندیدہ کتاب کو پڑھ رہے ہو ، یا اس سے بھی ممکن ہو کہ آپ گوگل پے ، فون پی یا پے ٹی ایم کے ساتھ آن لائن ادائیگی کررہے ہو ، یا ویب پر سرفنگ کر رہے ہو وغیرہ۔ (مجھے لگتا ہے کہ میں مثال کے طور پر آگے بڑھ سکتا ہوں)۔ اس حیرت انگیز مربع چیز کو پار کرنے اور سوچنا ، یہ ویسے بھی یہ مربع چیز کیا ہے اور اگر آپ کو… ٹھیک نہیں ہے ، تو یہ فکر نہ کریں کہ جلد یا بدیر اس کا ہونا ضروری ہے ، لہذا اس موضوع کو بہتر طور پر سمجھنے کے لئے ہم ایک کام کرنے جارہے ہیں آرڈینوو اور او ایل ای ڈی کے ساتھ چھوٹا سا پروجیکٹ اور مندرجہ ذیل چیزوں کو ناکارہ بنائیں:
- کیو آر کوڈ کا بنیادی تصور۔
- یہ کیسے کام کرتا ہے.
- ارڈینو کا استعمال کرتے ہوئے آپ خود اپنا QR کوڈ کیسے بنائیں۔
- اور آخر میں ، اسے OLED (SSD1306) اسکرین میں ڈسپلے کریں۔
تو ، ویسے بھی یہ QR کوڈ کیا ہے؟
کیو آر کوڈ (کوئیک رسپانس کوڈ) تیز رفتار سے ڈیٹا کو پڑھنے کے لئے ایک میٹرکس 2D کوڈ ہے ، جسے جاپان کی آٹوموٹو انڈسٹری کے لئے 1994 میں ڈینسو ویو نے تیار کیا تھا۔ ایک کیو آر کوڈ معیاری بارکوڈ کے مقابلے میں ڈیٹا کو بہت موثر انداز میں کمپریس کرتا ہے ، اس کو حاصل کرنے کے لئے اس میں چار معیاری انکوڈنگ طریقوں (عددی ، حرفی شماری ، بائٹ / بائنری ، اور کانجی) کا استعمال ہوتا ہے ، اس ٹیکنالوجی کو "اوپن سورس" بنایا گیا تھا یعنی ہر ایک کے ل for دستیاب ہے ، روایتی بارکوڈز سے زیادہ کیو آر کوڈز کے اہم فوائد بڑی ڈیٹا کی گنجائش اور اعلی غلطی رواداری ہیں۔
کیو آر کوڈ کیسے کام کرتا ہے؟
کیو آر کوڈ (اور دوسرے ڈیٹا میٹرکس کوڈ) کو انسانوں کے ذریعہ نہیں ، خصوصی ٹولز کے ذریعہ پڑھنے کے لئے ڈیزائن کیا گیا ہے ، لہذا صرف ایک خاص رقم ہے جو ہم ضعف سے مطالعہ کر کے سمجھ سکتے ہیں ، حالانکہ ہر ضابطہ مختلف طریقوں سے مختلف ہے حالانکہ ان میں کچھ دلچسپ مشترکہ ہیں۔ سرکٹڈیجسٹ ڈاٹ کام کیو آر کوڈ کو مشاہدہ کرکے خصوصیات ہم ان میں سے کچھ کا مطالعہ کریں گے
- فائنڈر پیٹرنز: کوڈ کے تین کونوں میں ٹھوس خانہ کے ساتھ بڑے مربع خانوں کی تصدیق کرنا آسان ہوجاتا ہے کہ یہ QR کوڈ ہے کیونکہ ان میں سے صرف تین ہی موجود ہیں ، لہذا یہ بات بالکل واضح ہے کہ کوڈ کس طرح مبنی ہے۔
- صف بندی کا نمونہ: اس سے یہ بات یقینی بن جاتی ہے کہ کوڈ پڑھنے کے قابل کچھ بھی ہو۔
- ٹائمنگ پیٹرن: یہ تین فائنڈر نمونوں کے درمیان افقی اور عمودی طور پر چلتا ہے ، ان لائنوں کے ذریعے قاری کوڈ کے سائز کا تعین کرسکتا ہے۔
- ورژن کی معلومات: فی الحال کیو آر کوڈ کے معیار کے 40 مختلف ورژن موجود ہیں ، کوڈ کا یہ حصہ QR کوڈ ورژن کا تعین کرتا ہے جو استعمال ہورہا ہے ، عام طور پر استعمال ہونے والی مارکیٹنگ کے ورژن 1-7 کے لئے۔
- فارمیٹ کی معلومات: فارمیٹ کے شراکت داروں میں غلطی رواداری اور ڈیٹا ماسکنگ کے بارے میں معلومات ہوتی ہیں۔
- ڈیٹا ایریا: کوڈ کے اس حصے میں تمام کوائف عناصر اور غلطی اصلاح کوڈ شامل ہیں۔
- کوٹ زون: کوڈ کے آس پاس سے فرق کرنے کے لئے ہر کیو آر کوڈ میں وقفہ وقفہ لازمی ہے۔
نیچے دی گئی شبیہہ آپ کو کوڈ کے بارے میں واضح نظریہ دے گی
کوڈ کے دوسرے حصے اعداد و شمار اور فالتو کوڈ ہیں۔
بہت ساری دیگر خصوصیات اور پیچیدہ عنوانات ہیں جن کے بارے میں میں اس ٹیوٹوریل میں گفتگو نہیں کروں گا ، اگر آپ کیو آر کوڈ کے بارے میں مزید تفصیلات میں پڑھنا چاہیں تو برائے مہربانی ای پی سیگلوبل سنگاپور کونسل ٹین جن سون کے اس QR کوڈ ٹیوٹوریل کی پیروی کریں۔ ترکیب جرنل ، 2008۔
کیو آر کوڈ کی تفصیلات
علامت کا سائز |
کم سے کم 21x21 سیل۔ زیادہ سے زیادہ۔ 177x177 سیل (4 سیل کے وقفے کے ساتھ) |
|
معلومات کی قسم اور جلد |
عددی حرف |
زیادہ سے زیادہ 7،089 حروف |
حروف ، نشانیاں |
زیادہ سے زیادہ 4،296 حروف |
|
ثنائی (8 بٹ) |
زیادہ سے زیادہ 2،953 حروف |
|
کانجی کردار |
زیادہ سے زیادہ 1،817 حروف |
|
تبادلوں کی کارکردگی |
عددی حرفی وضع |
3.3 خلیات / کردار |
حرفی نمبر / نشانیاں وضع |
5.5 خلیات / کردار |
|
ثنائی (8 بٹ) وضع |
8 خلیات / کردار |
|
کانجی کیٹرکس موڈ (13 بٹ) |
13 خلیات / کردار |
|
غلطی کی درستگی فعالیت |
لیول ایل |
تقریبا. علامت کا 7٪ حصہ زیادہ سے زیادہ بحال ہوا |
لیول ایم |
تقریبا. علامت ایریا کا 15٪ زیادہ سے زیادہ بحال ہوا |
|
سطح کی |
تقریبا. علامت کا 25٪ حصہ زیادہ سے زیادہ بحال ہوا |
|
سطح H |
تقریبا. علامت کا 30 فیصد حصہ زیادہ سے زیادہ بحال ہوا |
|
جوڑنے کی فعالیت |
زیادہ سے زیادہ 16 علامتوں میں تقسیم ہونا ممکن ہے |
آپ کا خود ہی QR کوڈ بنانا
اپنے ہی QR کوڈ کو تیار کرنے کے لئے نیچے دیئے گئے اقدامات پر عمل کریں ، اس مثال میں ، ہم اپنی پیاری سرکٹ ڈائجسٹ ویب سائٹ کا QR کوڈ بنانے جا رہے ہیں۔
ایک QR کوڈ تیار کرنے کے لئے اس ویب سائٹ پر جائیں اور اگر آپ ویب سائٹ کے اوپری طرف دیکھیں تو آپ اختیارات کی فہرست دیکھ سکتے ہیں ، اس ٹیوٹوریل میں ہم کسی URL کے لئے QR کوڈ تیار کررہے ہیں ، لہذا ہم جا رہے ہیں
- یو آر ایل ٹیب پر کلک کریں اور URL داخل کریں سیکشن میں سرکٹ ڈائجسٹ کیلئے URL چسپاں کریں۔
- محفوظ کریں پر کلک کریں۔
- آؤٹ پٹ فائل کے لئے ایک فائل کا نام دیں۔
- ہمارے پسندیدہ فائل فارمیٹ کے بطور PNG منتخب کریں۔
- اور محفوظ کریں پر کلک کریں۔
ذیل کی شبیہہ آپ کو اس عمل کے بارے میں ایک واضح نظریہ دے گی
ہمارے پیارے مائکروکنٹرولر "اردوینو" اتنا ذہین نہیں ہے کہ وہ صرف کچی PNG تصویر مرتب کرسکتا ہے اور اسے OLED ڈسپلے میں دکھاتا ہے۔ لہذا ، QR کوڈ کو OLED میں ظاہر کرنے کے لئے ہمیں کچھ آسان اقدامات پر عمل کرنے کی ضرورت ہے اور PNG تصویر کو Ardino کے ذریعہ پڑھنے کے قابل بٹ میپ سرنی میں تبدیل کرنا ہوگا۔ یہ تبدیلی ہم اس سے قبل SSD1306 OLED کو ارڈینو کے ساتھ اور گرافیکل LCD کو Ardino کے ساتھ انٹرفیس کرتے وقت کیا ہے۔ ہم نے راسبیری پائی ، ای ایس پی 32 ، نوڈیم سی یو اور بہت سے دوسرے مائکروکانٹرولرز کے ساتھ بھی ایس ایس ڈی1306 او ایل ای ڈی انٹرفیس کیا۔ بٹ میپ سرنی تبادلوں کو ذیل میں دو مراحل میں کیا جاسکتا ہے۔
- PNG کو BMP کی شکل میں تبدیل کرنا۔
- BMP تصویر کو HEX کوڈز کی ایک صف میں تبدیل کریں۔
PNG کو BMP کی شکل میں تبدیل کرنا
ڈاؤن لوڈ شدہ PNG تصویر کو BMP تصویر میں تبدیل کرنے کے ل this ، اس ویب سائٹ پر جائیں اور امیج کنورٹر سیکشن میں اور
- ڈراپ ڈاؤن مینو پر کلک کریں اور منتخب کریں
- بی ایم پی میں تبدیل کریں
- گو پر کلک کریں
ذیل کی شبیہہ آپ کو اس عمل کے بارے میں ایک واضح نظریہ دے گی۔
آپ کو ایک نیا صفحہ پیش کیا جائے گا جو نیچے کی تصویر کی طرح دکھائی دے گا۔
- فائلوں کا انتخاب کریں ٹیب پر کلک کریں اور ڈاؤن لوڈ کی گئی تصویر کو منتخب کریں
- اختیاری ترتیبات میں ، پینل اپنا مطلوبہ سائز ٹائپ کریں (ہم ایک 128x64 OLED استعمال کررہے ہیں)
- اسٹارٹ تبادلوں کے بٹن پر کلک کریں
آپ کو مندرجہ ذیل پیج کے ساتھ پیش کیا جائے گا اور چند سیکنڈ کے بعد اگر آپ ڈاؤن لوڈ خود بخود ڈاؤن لوڈ شروع نہیں کرتے ہیں تو آپ کی تبدیل شدہ تصویر ڈاؤن لوڈ ہوجائے گی ، اپنے فائل آپشن پر کلک کریں:
زبردست! اب ہمیں اپنے بی ایم پی فائل کو اس کا وقت مل گیا ہے کہ اسے ایک ارڈینو کے ذریعہ پڑھنے کے قابل HEX کوڈز کی ایک صف میں تبدیل کیا جائے ۔
BMP تصویر کو HEX کوڈز کی ایک صف میں تبدیل کریں
ڈاؤن لوڈ کردہ BMP تصویر کو HEX سرنی میں تبدیل کرنے کے لئے ، اس ویب سائٹ پر جائیں اور ٹولز -> image2cpp پر کلک کریں۔
ذیل کی شبیہہ آپ کو اس عمل کے بارے میں ایک واضح نظریہ دے گی
آپ کو ایک اسکرین پیش کی جائے گی جس کے چار اختیارات ہیں اور ہم ان پر تفصیل سے تبادلہ خیال کریں گے
- تصویر منتخب کریں
- تصویری ترتیبات
- پیش نظارہ
- آؤٹ پٹ
امیج سیکشن کو منتخب کریں
اس حصے میں ہم وہ تصویر منتخب کریں گے جسے ہم نے ابھی BMP میں تبدیل کیا ہے۔
تصویری ترتیبات کا سیکشن
اس سیکشن میں ، ہم کینوس کا سائز ، پس منظر کا رنگ ، اسکیلنگ اور سنٹر آپشنز کو اپنی مطلوبہ قیمت پر متعین کریں گے۔
- کینوس کا سائز (ہم 128x64 پر سیٹ ہوئے کیونکہ ہم 128x64 پکسل کثافت والا OLED استعمال کررہے ہیں)۔
- اس حصے میں ، ہم OLED کا پس منظر کا رنگ ترتیب دے سکتے ہیں (ہم اسے سفید ہونے کا انتخاب کرتے ہیں)۔
- اسکیلنگ اصل سائز پر سیٹ کی گئی ہے۔
- آخر میں ، مرکز کے آپشن میں افقی اور عمودی چیک باکسز پر کلک کریں ، اس سے تصویر کو وسط میں ظاہر ہوجائے گا۔
ذیل کی شبیہہ آپ کو واضح نظریہ دے گی
پیش نظارہ سیکشن
پیش نظارہ سیکشن میں ہم اس تصویر کا واضح پیش نظارہ دیکھ سکتے ہیں جو نیچے دکھائے جانے والے OLED میں دکھایا جائے گا۔
آؤٹ پٹ سیکشن
آؤٹ پٹ سیکشن میں ہم تیار کردہ کوڈ کو تیار اور کاپی کریں گے ، تاکہ ایسا کرنے کے لئے ذیل مراحل پر عمل کریں:
- کوڈ آؤٹ پٹ کی شکل (ہم اسے ارڈینو کوڈ کے بطور متعین کرتے ہیں کیونکہ ہم ایک استعمال کررہے ہیں)۔
- شناخت کنندہ (یہ آپشن تیار کردہ صف کے لئے نام متعین کرتا ہے ہم اسے جیسا ہی چھوڑ دیتے ہیں)۔
- ڈرا موڈ (ہم ڈرا موڈ آپشن کو افقی پر سیٹ کرتے ہیں)۔
- اور آخر میں ، ہم جنریٹ کوڈ بٹن پر کلک کرتے ہیں اس سے آخری آؤٹ پٹ کوڈ تیار ہوگا۔
ذیل کی شبیہہ آپ کو واضح نظریہ دے گی
سرکٹ ڈایاگرام
تصویر کے نیچے آردوینو نینو اور ایس ایس ڈی1306 کے مابین انٹرفیس کنیکشن دکھائے گئے ہیں:
اردوینو نینو پن |
OLED پن |
GND |
GND |
3.3V |
وی سی سی |
ڈی 13 |
سی ایل کے |
ڈی 11 |
موسی |
ڈی 8 |
RES |
ڈی 9 |
ایس ڈی سی |
ڈی 10 |
سی سی ایس |
کوڈ کی وضاحت
OLED پر شبیہہ دکھانے کے ل we ہمیں ایک ارڈینو لائبریری کی مدد کی ضرورت ہے ، جسے GitHub اس مخزن سے ڈاؤن لوڈ کیا جاسکتا ہے۔ لائبریری کا U8glib-1.19.1.zip ورژن ڈاؤن لوڈ کریں اور اسے اردوینو IDE میں درآمد کریں۔ اگر آپ آرڈینو کے لئے نئے ہیں تو لائبریری کو درآمد کرنے کے طریقہ کی وضاحت کرتے ہوئے اس لنک کی مدد لیں۔ مندرجہ ذیل حصے میں ہم OLED میں پہلے سے تیار کردہ HEX سرنی کو ظاہر کرنے کے لئے کوڈ میں ترمیم کریں گے۔ ایک ورکنگ ویڈیو کے ساتھ مکمل کوڈ اس مضمون کے آخر میں دیا گیا ہے۔ کوڈ کا تفصیلی وضاحت ذیل میں دیا گیا ہے۔
پہلے ، ڈاؤن لوڈ لائبریری شامل کریں۔
# U8glib لائبریری سمیت "U8glib.h" // شامل کریں
پھر OLED کے لئے تمام ضروری پنوں کی وضاحت کریں۔
# ڈیفائن OLED_CLK_PIN 13 // ارڈینو ڈیجیٹل پن D13: SCK #define OLED_MOSI_PIN 11 // Ardino ڈیجیٹل پن D11: MOSI #define OLED_RES_PIN 10 // Ardino ڈیجیٹل پن D10: ایس ایس # ڈیفائن OLED_SDC_PIN 9 // Ardino ڈیجیٹل پن D9: OC1A OLED_CSS_PIN 8 // آرڈینو ڈیجیٹل پن D13: ICP1
u8glib لائبریری شروع کریں۔
U8GLIB_SH1106_128X64 u8g (OLED_CLK_PIN، OLED_MOSI_PIN، OLED_RES_PIN، OLED_SDC_PIN، OLED_CSS_PIN)؛
پھر تیار کردہ امیج ارے کو شامل کریں۔
کونٹ uint8_t سرکٹڈیجسٹ PROGMEM = {0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف۔ 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ، 0 ایکس ، 0 ایکس۔ 0x87، 0xf0، 0x00، 0x0f، 0xff، 0xff، 0xff، 0xff، 0xff، 0xff، 0xff، 0xff، 0xf0، 0x00، 0x0c، 0x01، 0xff، 0xff، 0xff، 0xff، 0xff 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف 3 ، 0 ایکس ایف ، 0 ایکس ایف ایف ، 0 ایکس ایف0 ، 0 ایکس 7 ایف ، 0 ایکس 31 ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف 0 ایکس ایف ، 0 ایکس سی ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف 3 ، 0 ایکس 8 ، 0 ایکس 8 ایف ، 0 ایکس 31 ،0x80، 0x33، 0x81، 0xcf، 0xff، 0xff، 0xff، 0xff، 0xff، 0xff، 0xff، 0xff، 0xf3، 0x01، 0x8f، 0x31، 0x80، 0xff، 0xff، 0xff، 0xff، 0xff، 0xff 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف 3 ، 0 ایکس01 ، 0 ایکس 8 ایف ، 0 ایکس بی 1 ، 0 ایکس 80 ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ایف ، 0 ایکس ، 0 ایکس ، 0 ایکس 8 ، 0x81، 0xcf، 0xff، 0xff، 0xff، 0xff، 0xff، 0xff، 0xff، 0xff، 0xf3، 0x01، 0x8f، 0xc1، 0x98، 0x33، 0x81، 0xcf، 0xff، 0xff، 0xff.. …..0 ایکس ایف ، 0 ایکس ایف ، …….. ………..0 ایکس ایف ، 0 ایکس ایف ، …….. ………..
ڈرا فنکشن u8g.drawBitmapP فنکشن کی مدد سے OLED پر بٹ میپ امیجری (QR کوڈ) ڈرا کرنے کے لئے استعمال ہوتا ہے۔
باطل ڈرا (باطل) {// مکمل اسکرین کو دوبارہ ڈرا کرنے کے گرافک کمانڈز یہاں u8g.drawBitmapP (0 ، 0 ، 16 ، 64 ، سرکٹ ڈائجسٹ) رکھنا چاہئے۔ ….. ……
آخر میں ، لوپ () فنکشن میں ، OLED پر تصویر بنانے کے لئے تمام ضروری طریقہ کار کو کال کریں
باطل لوپ () 8 u8g.firstPage ()؛ // اس طریقہ کار کے لئے کال ، تصویر کے لوپ کے آغاز کو نشان زد کرتی ہے۔ کرو {ڈرا ()؛ } جبکہ (u8g.nextPage ())؛ // اس طریقہ کار کے لئے کال ، تصویر لوپ کے باڈی کے آخر کو نشان زد کرتی ہے۔ // کچھ تاخیر کے بعد تصویر کو دوبارہ بنائیں (1000)؛ }
کوڈ مکمل کرنے کے بعد ، اپنے کمپیوٹر کے USB پورٹ میں ارڈینو کو پلگ ان کریں ، اپنی COM پورٹ منتخب کریں اور کوڈ اپلوڈ کریں۔ اگر آپ نے سب کچھ صحیح طریقے سے کیا ہے تو آپ کے پاس OLED پر QR کوڈ کے ساتھ ایک ورکنگ ڈسپلے ہوگا۔
مجھے امید ہے کہ آپ کو یہ پروجیکٹ پسند آیا ہو گا اور کچھ نیا سیکھنے میں لطف اندوز ہوگا ، پڑھنا جاری رکھیں گے اور میں آپ کو اگلی بار ملوں گا۔