- ہارڈ ویئر کی ضرورت ہے:
- OLED ڈسپلے کے بارے میں جاننا:
- ہارڈ ویئر اور کنکشن:
- ارڈینو کے لئے SSD1306 OLED ڈسپلے پروگرامنگ:
ہم میں سے بیشتر 16 × 2 ڈاٹ میٹرکس LCD ڈسپلے سے واقف ہوں گے جو صارف کو کچھ معلومات ظاہر کرنے کے لئے زیادہ تر منصوبوں میں استعمال ہوتا ہے۔ لیکن ان LCD ڈسپلے میں بہت حد ہے جو وہ کر سکتے ہیں۔ اس ٹیوٹوریل میں ہم OLED ڈسپلے کے بارے میں جاننے کے لئے جارہے ہیں اور ان Ardino کو کیسے استعمال کریں ۔ مارکیٹ میں بہت ساری قسم کی OLED ڈسپلے دستیاب ہیں اور ان کو کام کرنے کے بہت سارے طریقے ہیں۔ اس ٹیوٹوریل میں ہم اس کی درجہ بندی اور اس کے بارے میں بھی تبادلہ خیال کریں گے جو آپ کے پروجیکٹ کے لئے بہترین موزوں ہوگا۔
ہارڈ ویئر کی ضرورت ہے:
- 7pin 128 × 64 OLED ڈسپلے ماڈیول (SSD1306)
- اردوینو یو این او / نینو
- بریڈ بورڈ
- مربوط تاروں
- کمپیوٹر / لیپ ٹاپ
OLED ڈسپلے کے بارے میں جاننا:
او ایل ای ڈی اصطلاح کا مطلب ہے " نامیاتی لائٹ ایمیٹنگ ڈایڈڈ" اس میں وہی ٹکنالوجی استعمال کی گئی ہے جو ہمارے بیشتر ٹیلی ویژن میں استعمال ہوتی ہے لیکن ان کے مقابلے میں پکسلز کم ہیں۔ یہ مزے کی بات ہے کہ ان ٹھنڈی لگنے والے ڈسپلے ماڈیولوں کو اردوینو کے ساتھ انٹرفیس کیا جائے کیونکہ اس سے ہمارے منصوبے ٹھنڈی نظر آسکیں گے۔ ہم نے OLED ڈسپلے اور اس کی اقسام کے بارے میں ایک مکمل مضمون کا احاطہ کیا ہے۔
ہم ایک مونوکروم 7 پن SSD1306 0.96 ”OLED ڈسپلے استعمال کررہے ہیں ۔ اس ڈسپلے کو منتخب کرنے کی وجہ یہ ہے کہ یہ تین مختلف مواصلات پروٹوکولز جیسے ایس پی آئی 3 وائر موڈ ، ایس پی آئی فور وائر موڈ اور آئی سی موڈ پر کام کرسکتا ہے۔ اس ٹیوٹوریل میں اس بات کا احاطہ کیا جائے گا کہ ایس پی آئی 4 وائر موڈ میں ماڈیول کو کس طرح استعمال کیا جائے کیوں کہ یہ مواصلات کا تیز ترین موڈ اور پہلے سے طے شدہ ہے۔
پنوں اور اس کے افعال کو نیچے دیئے گئے جدول میں بیان کیا گیا ہے۔
پن نمبر |
پن کا نام |
دوسرے نام |
استعمال |
1 |
Gnd |
زمین |
ماڈیول کا گراؤنڈ پن |
2 |
وی ڈی ڈی |
وی سی سی ، 5 وی |
پاور پن (3-5V قابل برداشت) |
3 |
ایس سی کے |
ڈی0 ، ایس سی ایل ، سی ایل کے |
گھڑی کے پن کی طرح کام کرتا ہے۔ I2C اور SPI دونوں کے لئے استعمال کیا جاتا ہے |
4 |
ایس ڈی اے |
ڈی 1 ، موسی |
ماڈیول کا ڈیٹا پن۔ IIC اور SPI دونوں کے لئے استعمال کیا جاتا ہے |
5 |
RES |
آر ایس ٹی ، ریسٹ |
ماڈیول کو دوبارہ مرتب کریں (ایس پی آئی کے دوران کارآمد) |
6 |
ڈی سی |
A0 |
ڈیٹا کمانڈ پن ایس پی آئی پروٹوکول کے لئے استعمال کیا جاتا ہے |
7 |
CS |
چپ منتخب کریں |
جب ایس پی آئی پروٹوکول کے تحت ایک سے زیادہ ماڈیول استعمال کیے جائیں تو مفید ہے |
اس ٹیوٹوریل میں ہم ماڈیول کو صرف 4 وائر ایس پی آئی موڈ میں چلائیں گے ، ہم باقی کو کسی اور سبق کے لئے چھوڑ دیں گے۔
ارڈینو کمیونٹی نے پہلے ہی ہمیں بہت سی لائبریرییں دے رکھی ہیں جن کو براہ راست استعمال کرکے اسے بہت آسان بنایا جاسکتا ہے۔ میں نے کچھ لائبریریوں کو آزمایا اور پتہ چلا کہ Adaf فرو_SSD1306 لائبریری کا استعمال کرنا بہت آسان تھا اور اس میں مٹھی بھر گرافیکل آپشنز موجود تھے لہذا ہم اسے اس ٹیوٹوریل میں استعمال کریں گے۔ لیکن ، اگر آپ کے منصوبے میں میموری / رفتار کی رکاوٹ ہے تو U8g لائبریری کو استعمال کرنے کی کوشش کریں کیونکہ یہ تیز رفتار کام کرتا ہے اور پروگرام کی میموری کو کم رکھتا ہے۔
ہارڈ ویئر اور کنکشن:
SSD1306 لئے سرکٹ ڈایا گرام OLED Arduino کے ساتھ interfacing واقعی آسان ہے اور ذیل میں دکھایا جاتا ہے
ہم نے OLED ماڈیول اور اردوینو کے مابین ایک ایس پی آئی مواصلت قائم کی ہے ۔ چونکہ OLED 3V-5V پر چلتا ہے اور بہت کم بجلی استعمال کرتا ہے اسے بیرونی بجلی کی فراہمی کی ضرورت نہیں ہے۔ آپ آسانی سے کنکشن بنانے کے لئے تاروں کا استعمال کرسکتے ہیں یا جیسا کہ میں نے استعمال کیا ہے اس طرح ایک بریڈ بورڈ استعمال کرسکتے ہیں تاکہ استعمال کرنا آسان ہو۔ کنکشن بھی نیچے کہانی میں درج ہے
سیریل نمبر |
OLED ماڈیول پر پن کا نام |
ارڈینو پر پن کا نام |
1 |
Gnd ، گراؤنڈ |
زمین |
2 |
وی ڈی ڈی ، وی سی سی ، 5 وی |
5V |
3 |
ایس سی کے ، ڈی0 ، ایس سی ایل ، سی ایل کے |
10 |
4 |
ایس ڈی اے ، D1 ، MOSI |
9 |
5 |
RES ، RST ، RESET |
13 |
6 |
ڈی سی ، A0 |
11 |
7 |
CS ، چپ منتخب کریں |
12 |
نوٹ: آپ OLED ماڈیول پر کسی بھی طرح کی روشنی / چمک کا تصور نہیں کرسکیں گے۔ OLED ڈسپلے میں کسی قسم کی تبدیلی محسوس کرنے کے ل You آپ کو صحیح طریقے سے پروگرام کرنا ہوگا۔
ارڈینو کے لئے SSD1306 OLED ڈسپلے پروگرامنگ:
ایک بار جب رابطے تیار ہوجاتے ہیں تو آپ آرڈینو کا پروگرامنگ شروع کرسکتے ہیں۔ جیسا کہ پہلے کہا گیا ہے کہ ہم اس OLED ماڈیول کے ساتھ کام کرنے کے لئے اڈفریٹ لائبریری اور GFX لائبریری کا استعمال کریں گے۔ اپنے OLED ڈسپلے کو چلانے کے ٹیسٹ کرنے کے لئے اقدامات پر عمل کریں۔
مرحلہ 1: نیچے دیئے گئے لنک کا استعمال کرتے ہوئے گیٹوب سے اڈفریٹ لائبریری اور جی ایف ایکس لائبریری ڈاؤن لوڈ کریں
- اڈفریٹ لائبریری
- جی ایف ایکس گرافکس لائبریری
مرحلہ 2: آپ کو دو زپ فائلیں ڈاؤن لوڈ کرنے چاہئیں۔ اب ان کو درج کرکے اپنے اردوینو میں شامل کریں
خاکہ-> لائبریری شامل کریں -> زپ لائبریری شامل کریں جیسا کہ ذیل میں دکھایا گیا ہے۔ پھر لائبریری کا انتخاب کریں جو ہم نے ابھی ڈاؤن لوڈ کیا ہے۔ آپ ایک وقت میں صرف ایک ہی لائبریری منتخب کرسکتے ہیں ، لہذا آپ کو دوبارہ اس مرحلے کو دہرانا ہوگا۔
مرحلہ 3: فائل-> مثالوں-> اڈفریٹ SSD1306 -> SSD1306_128 * 64_SPI.ino کو منتخب کرکے مثال کے پروگرام کا آغاز کریں جیسا کہ ذیل کی تصویر میں دکھایا گیا ہے۔
مرحلہ 4: لائن 64 کے اوپری حصے میں موجود مثال کے پروگرام کے اندر ، نیچے دیئے گئے شبیہہ میں دکھائے گئے مطابق "# ڈیفائن ایس ایس ڈی1306_LCDHEIGHT 64" لائن شامل کریں ۔
مرحلہ 5: اب پروگرام اپ لوڈ کریں اور آپ کو OLED ڈسپلے کو پہلے سے طے شدہ ایڈفروٹ مثال کے کوڈ کے ساتھ فائرنگ کرتے ہوئے دیکھنا چاہئے جیسا کہ ذیل کی تصویر میں دکھایا گیا ہے۔ مکمل کام کی ویڈیو کے آخر میں دی گئی ہے.
یہ مثال پروگرام آپ کو ہر ممکن گرافکس دکھاتا ہے جسے OLED اسکرین میں دکھایا جاسکتا ہے۔ یہ کوڈ آپ کو بٹ نقشہ بنانے ، لائنیں / دائرے / مستطیلیں کھینچنے ، پکسلز سے کھیلنے ، مختلف فونٹس اور سائز وغیرہ کے ساتھ چارٹ اور ڈور ڈسپلے کرنے کے ل enough کافی ہونا چاہئے…
اگر آپ لائبریری اور اس کے افعال کو بہتر طور پر سمجھنا چاہتے ہیں تو آپ مزید پڑھ سکتے ہیں۔ کوڈ کے ہر جنک کو تقسیم کیا گیا ہے اور کمنٹس لائنوں کی مدد سے اس کی وضاحت کی گئی ہے۔ اس مضمون کے آخر میں مکمل کوڈ دیا گیا ہے
اسکرین کو ظاہر اور صاف کرنا:
OLED اسکرین پر لکھنا بالکل ایسے ہی ہے جیسے بلیک بورڈ پر لکھنا ، ہمیں اقدار کو لکھنا ہوگا اور پھر اسے اوور رائٹ کرنے سے پہلے اسے صاف کرنا ہوگا۔ درج ذیل کمانڈز ڈسپلے کو لکھنے اور صاف کرنے کے لئے استعمال کیے گئے ہیں
display.display ()؛ // ڈسپلے ڈسپلے کیلئے لکھیں۔ // ڈسپلے کو صاف کریں
کریکٹر کے متغیر کی نمائش:
متغیر کے اندر موجود مواد کو ظاہر کرنے کے لئے درج ذیل کوڈ کا استعمال کیا جاسکتا ہے۔
چار i = 5؛ // ڈسپلے کرنے کے لئے متغیر ڈسپلے.سیٹ ٹیکسٹسیج (1)؛ // ٹیکسٹ ڈسپلے کا سائز منتخب کریں۔ سیٹ ٹیکسٹ کلر (وائٹ)؛ // مونوکروم ڈسپلے کے لئے صرف یہ ممکن ہے ڈسپلے۔ سیٹ کرسر (0،0)؛ // 0،0 OLED اسکرین ڈسپلے کا اوپری بائیں کونہ ہے۔ لکھ دیں (i)؛ // ظاہر کرنے کے لئے متغیر لکھیں
ایک لکیر ، سرکل ، مستطیل ، مثلث بنانا:
اگر آپ اپنے نمائش میں کچھ علامتیں شامل کرنا چاہتے ہیں تو آپ مندرجہ ذیل میں سے کسی کو اپنی طرف متوجہ کرنے کیلئے درج ذیل کوڈ کا استعمال کرسکتے ہیں
ڈسپلے.ڈراولائن (ڈسپلے.وڈتھ () - 1 ، 0 ، i ، ڈسپلے.ہائٹ () - 1 ، وائٹ)؛ // باطل ڈرا لائن (x0، y0، x1، y1، رنگ)؛ display.drawRect (i، i، display.width () - 2 * i، display.height () - 2 * i، وائٹ)؛ // باطل ڈرا ریکٹ (x0 ، y0 ، ڈبلیو ، ایچ ، رنگ)؛ ڈسپلے.ڈراو ٹرائینگل (ڈسپلے.وڈتھ () / 2 ، ڈسپلے.ہائٹ () / 2-i ، ڈسپلے.وڈتھ () / 2-i ، ڈسپلے.ہائٹ () / 2 + i ، ڈسپلے.وڈتھ () / 2+ میں ، ڈسپلے.ہائٹ () / 2 + i ، وائٹ)؛ // باطل ڈرا ٹرائینگل (x0 ، y0 ، x1 ، y1 ، x2 ، y2 ، رنگ)؛ ڈسپلے.ڈراو سرکل (ڈسپلے.وڈتھ () / 2 ، ڈسپلے.ہائٹ () / 2 ، آئی ، وائٹ)؛ // باطل ڈرا سرکل (x0، y0، r، رنگ)؛
اسکرین پر ایک تار ڈرائنگ:
درج ذیل کوڈ کو استعمال کیا جاسکتا ہے۔ سکرین میں کسی بھی پیغام کو کسی خاص جگہ اور سائز پر ڈسپلے کریں
display.setTextSize (2)؛ // ٹیکسٹ ڈسپلے کا سائز مقرر کریں۔ سیٹ ٹیکسٹ کلر (وائٹ)؛ // رنگین ترتیب ڈسپلے.سیٹ کرسر (10،0)؛ // تار 10،0 (x، y) پر شروع ہوگی۔ // اسکرین ڈسپلے پر کسی بھی سابقہ ڈسپلے کو صاف کریں۔ پرنٹ ایلن ("سرکٹ ڈائجسٹ")؛ // اسٹرنگ کو یہاں "سرکٹ ڈائجسٹ" پرنٹ کریں۔ ڈسپلے ()؛ // متن کو اسکرین پر بھیجیں
تھوڑا سا نقشہ دکھایا جارہا ہے:
ایک ناقابل اعتماد چیز جو OLED ماڈیول کے ساتھ کی جاسکتی ہے وہ یہ ہے کہ اسے بٹ نقشہ ظاہر کرنے کے لئے استعمال کیا جاسکتا ہے۔ مندرجہ ذیل کوڈ کو بٹ میپ امیجری ظاہر کرنے کے لئے استعمال کیا گیا ہے
جامد CONST اہستاکشرت چار PROGMEM logo16_glcd_bmp = {B00000000، B11000000، B00000001، B11000000، B00000001، B11000000، B00000011، B11100000، B11110011، B11100000، B11111110، B11111000، B01111110، B11111111، B00110011، B10011111، B00011111، B11111100، B00001101، B01110000، B00011011، B10100000 ، B00111111 ، B11100000 ، B00111111 ، B11110000 ، B01111100 ، B11110000 ، B01110000 ، B01110000 ، B00000000 ، B00110000}؛ ڈسپلے. ڈرا بٹ نقشہ (ایکس پی او] ، وائی پی او ایس ، بٹ نقشہ ، ڈبلیو ، ایچ ، وائٹ)؛ // باطل ڈرا بٹ نقشہ (x ، y ، * بٹ نقشہ ، ڈبلیو ، ایچ ، رنگ)؛
جیسا کہ آپ دیکھ سکتے ہیں ، کسی تصویر کو ظاہر کرنے کے لئے ، بٹ میپ ڈیٹا کو پروگرام میموری میں پروجیمیم ہدایت کی شکل میں اسٹور کرنا ہوگا۔ سیدھے الفاظ میں ، ہمیں OLED ڈسپلے کو ہدایت کرنا ہے کہ ہر پکسل کے ساتھ کیا کرنا ہے جس میں کسی صف سے کوئی ترتیب یا اقدار جیسا کہ اوپر دکھایا گیا ہے۔ اس صف میں شبیہہ کا بٹ میپ ڈیٹا ہوگا۔
یہ پیچیدہ لگ سکتا ہے لیکن ویب ٹول کی مدد سے کسی تصویر کو قدرے نقشہ کی اقدار میں تبدیل کرنا اور انہیں مذکورہ بالا صف میں لوڈ کرنا بہت آسان ہے ۔
تصویر کا اپنا پیش نظارہ دیکھنے کے لئے صرف تصویر کو لوڈ کریں اور ترتیبات کو ایڈجسٹ کریں۔ پھر "جنیٹ کوڈ بنائیں" پر کلک کریں کوڈ کو کاپی کریں اور اسے اپنے سرے میں پیسٹ کریں۔ پروگرام اپ لوڈ کریں اور آپ سب ختم ہو گئے۔ میں نے ایک بیٹ مین لوگو ڈسپلے کرنے کی کوشش کی اور یہ اس طرح نکلا۔
ابھی بھی بہت ساری چیزیں ہیں جو آپ ان لائبریریوں کے ذریعہ کرسکتے ہیں۔ مکمل امکانات جاننے کے لئے اڈفریٹ جی ایف ایکس گرافکس پریمیٹیوز پیج دیکھیں۔
امید ہے کہ آپ کو یہ کام چل رہا ہے اور آپ کے کچھ منصوبوں میں OLED ڈسپلے کو لاگو کرنے کے لئے تیار ہے۔ اگر آپ کو کوئی پریشانی ہو تو ان کو کمنٹ سیکشن میں شیئر کریں اور میں ان کی اصلاح کے لئے پوری کوشش کروں گا۔