- ضروری اجزاء
- کیمرا ماڈیول OV7670 کے بارے میں یاد رکھنے والی چیزیں
- سرکٹ ڈایاگرام
- پروگرامنگ اردوینو یو این او
- امیجز کو پڑھنے کے لئے سیریل پورٹ ریڈر کا استعمال کیسے کریں
- ذیل میں نمونہ کی تصاویر ہیں جو OV7670 سے لی گئیں ہیں
- OV7670 استعمال کرتے وقت احتیاطی تدابیر
کیمروں نے ہمیشہ الیکٹرانکس انڈسٹری پر غلبہ حاصل کیا ہے کیوں کہ اس میں وزیٹر مانیٹرنگ سسٹم ، نگرانی کا نظام ، حاضری کا نظام وغیرہ جیسے بہت سارے ایپلی کیشنز موجود ہیں جن کیمروں کو ہم آج استعمال کرتے ہیں وہ ہوشیار ہیں اور ان میں بہت سی خصوصیات ہیں جو پہلے والے کیمروں میں موجود نہیں تھیں۔ جب کہ آج کے ڈیجیٹل کیمرے نہ صرف تصاویر پر قبضہ کرتے ہیں بلکہ اس منظر کی اعلی سطح کی وضاحت بھی حاصل کرتے ہیں اور ان کے تجزیے کا تجزیہ کرتے ہیں۔ یہ روبوٹکس ، مصنوعی ذہانت ، مشین لرننگ وغیرہ میں بڑے پیمانے پر استعمال ہوتا ہے۔ گرفتاری والے فریموں پر مصنوعی ذہانت اور مشین لرننگ کا استعمال کیا جاتا ہے ، اور پھر نمبر پلیٹ کا پتہ لگانے ، آبجیکٹ کا پتہ لگانے ، حرکت کا پتہ لگانے ، چہرے کی پہچان وغیرہ میں استعمال ہوتا ہے۔
اس ٹیوٹوریل میں ہم سب سے زیادہ استعمال ہونے والے کیمرہ ماڈیول OV7670 کو ایردوینو یو این او کے ساتھ انٹرفیس دیں گے ۔ کیمرا ماڈیول OV7670 کو اسی پن کنفیگریشن ، کوڈ اور اقدامات کے ذریعہ آرڈینو میگا کے ساتھ انٹرفیس کیا جاسکتا ہے ۔ کیمرہ ماڈیول کو انٹرفیس کرنا مشکل ہے کیونکہ اس میں بڑی تعداد میں پن ہیں اور باہر لے جانے کے ل w تاریں جمتی ہیں۔ نیز کیمرے ماڈیولز کا استعمال کرتے وقت تار بہت اہم ہوجاتا ہے کیونکہ تار کی لمبائی اور لمبائی کا انتخاب تصویر کے معیار کو نمایاں طور پر متاثر کرسکتا ہے اور شور لاسکتا ہے۔
ہم پہلے ہی کیمروں پر مختلف قسم کے مائکروکانٹرولرز اور آئی او ٹی ڈیوائسز کے ساتھ کافی پروجیکٹس کر چکے ہیں جیسے کہ:
- راسبیری پائی اور پائی کیمرہ والے وزٹر مانیٹرنگ کا نظام
- IOT پر مبنی رسبری پائی ہوم سیکیورٹی سسٹم ای میل الرٹ کے ساتھ
- موشن کیپچر کے ساتھ راسبیری پِی سرویلنس کیمرہ
کیمرے OV7670 ، 3.3V پر کام کرتا ہے تو یہ ان کی پیداوار GPIO پنوں پر 5V پیداوار دیتا ہے جس Arduino کے سے بچنے کے لئے بہت اہم ہو جاتا ہے. OV7670 ایک FIFO کیمرہ ہے۔ لیکن اس ٹیوٹوریل میں ، تصویر یا فریم FIFO کے بغیر پکڑے جائیں گے۔ اس ٹیوٹوریل میں ADPino UNO کے ساتھ OV7670 کو انٹرفیس کرنے کے لئے آسان اقدامات اور آسان پروگرامنگ ہوں گے۔
ضروری اجزاء
- اردوینو یو این او
- OV7670 کیمرہ ماڈیول
- مزاحم (10 ک ، 4.7 ک)
- جمپرز
سافٹ ویئر کی ضرورت ہے:
- اردوینو IDE
- سیریل پورٹ ریڈر (آؤٹ پٹ امیج کا تجزیہ کرنے کے لئے)
کیمرا ماڈیول OV7670 کے بارے میں یاد رکھنے والی چیزیں
OV7670 کیمرہ ماڈیول ایک FIFO کیمرا ماڈیول ہے جو مختلف مینوفیکچررز کی طرف سے مختلف پن کی تشکیل کے ساتھ دستیاب ہے۔ TheOV7670 پورے فریم ، ونڈوئڈ 8 بٹ تصاویر کو مختلف شکلوں میں فراہم کرتا ہے۔ تصویری سرنی وی جی اے میں 30 سیکنڈ تک فی سیکنڈ (ایف پی ایس) تک چلانے کی اہلیت رکھتی ہے۔ OV7670 شامل ہیں
- تصویری سینسر کا ارے (تقریبا 65 656 x 488 پکسلز کا)
- ٹائم جنریٹر
- ینالاگ سگنل پروسیسر
- A / D کنورٹرز
- ٹیسٹ پیٹرن جنریٹر
- ڈیجیٹل سگنل پروسیسر (ڈی ایس پی)
- امیج اسکیلر
- ڈیجیٹل ویڈیو پورٹ
- ایل ای ڈی اور اسٹروب فلیش کنٹرول آؤٹ پٹ
OV7670 امیج سینسر سیریل کیمرا کنٹرول بس (SCCB) کا استعمال کرتے ہوئے کنٹرول کیا جاتا ہے جو ایک I2C انٹرفیس ہے (SIOC، SIOD) جس میں 400KHz کی زیادہ سے زیادہ گھڑی تعدد ہے۔
کیمرا مصافحہ کرنے والے سگنل کے ساتھ آتا ہے جیسے:
- VSYNC: عمودی ہم آہنگی آؤٹ پٹ - فریم کے دوران کم
- HREF: افقی حوالہ - قطار کے فعال پکسلز کے دوران زیادہ
- پی سی ایل کے: پکسل گھڑی آؤٹ پٹ - مفت چلنے والی گھڑی۔ ڈیٹا بڑھتے ہوئے کنارے پر درست ہے
اس کے علاوہ ، اس میں مزید کئی اشارے ہیں جیسے
- D0-D7: 8 بٹ YUV / RGB ویڈیو اجزاء ڈیجیٹل آؤٹ پٹ
- پی ڈبلیو ڈی این: پاور ڈاون موڈ سلیکشن۔ نارمل موڈ اور پاور ڈاون موڈ
- ایکس سی ایل کے: سسٹم کلاک ان پٹ
- ری سیٹ: ری سیٹ سگنل
OV7670 24 میگاہرٹز آسکیلیٹر سے گھڑا ہوا ہے۔ اس سے 24 میگا ہرٹز کی پکسل گھڑی (پی سی ایل کے) آؤٹ پٹ ملتی ہے۔ FIFO 3MBS ویڈیو فریم بفر میموری فراہم کرتا ہے۔ ٹیسٹ پیٹرن جنریٹر میں 8 بار کلر بار بار پیٹرن ، دھندلا تا سرمئی رنگ بار پیٹر شامل ہیں۔ آئیے اب کیمرے OV7670 کو جانچنے اور سیریل پورٹ ریڈر کا استعمال کرتے ہوئے فریموں کو پکڑنے کے ل the آرڈوینو یو این او پروگرامنگ شروع کریں۔
سرکٹ ڈایاگرام
پروگرامنگ اردوینو یو این او
پروگرامنگ OV7670 کے لئے ضروری لائبریری سمیت شامل ہوتی ہے ۔ چونکہ OV7670 I2C انٹرفیس پر چلتا ہے ، اس میں شامل ہےاس کے بعد ، OV7670 کیلئے اندراجات میں ترمیم کی ضرورت ہے۔ پروگرام کو بہتر تفہیم کے ل small چھوٹے فنکشنز میں تقسیم کیا گیا ہے۔
سیٹ اپ () صرف تصویر پر قبضہ کے لئے درکار تمام ابتدائی سیٹ اپ پر مشتمل ہے. پہلا فنکشن ارڈوینو یونٹ () ہے جو اردوینو یون کو شروع کرنے کے لئے استعمال ہوتا ہے۔ ابتدائی طور پر یہ تمام عالمی مداخلتوں کو غیر فعال کردیتا ہے اور مواصلات انٹرفیس کنفگریشنوں جیسے پی ڈبلیو ایم گھڑی ، رکاوٹ پنوں کا انتخاب ، پریسلئر سلیکشن ، پیریٹی اور اسٹاپ بٹس شامل کرنے جیسے سیٹ کرتا ہے۔
arduinoUnoInot ()؛
ارڈینوو کی تشکیل کے بعد ، کیمرہ تشکیل کرنا ہوگا۔ کیمرا شروع کرنے کے لئے ، ہمارے پاس رجسٹر اقدار کو تبدیل کرنے کے لئے صرف اختیارات موجود ہیں۔ رجسٹر اقدار کو پہلے سے طے شدہ سے اپنی مرضی کے مطابق تبدیل کرنے کی ضرورت ہے۔ نیز مائکروکانٹرلر فریکوینسی پر انحصار کرتے ہوئے مطلوبہ تاخیر شامل کریں جو ہم استعمال کررہے ہیں۔ چونکہ ، سست مائکروکنٹرولرز کے پاس پروسیسنگ کا وقت کم ہوتا ہے اور فریموں کو گرفت میں لینے میں مزید تاخیر شامل کرتے ہیں۔
باطل کیمینیٹ (باطل) { writeReg (0x12، 0x80)؛ _ڈیلا_س (100)؛ #SensorRegs8_8 (ov7670_default_regs)؛ WritReg (REG_COM10، 32)؛ // PCLK HBLANK پر ٹوگل نہیں کرتا ہے۔ }
کیمرا QVGA تصویر لینے کے لئے تیار ہے لہذا قرارداد کو منتخب کرنے کی ضرورت ہے۔ تقریب QVGA تصویر لینے کے ل image رجسٹر کو تشکیل دیتی ہے۔
سیٹ ریزولوشن ()؛
اس ٹیوٹوریل میں ، تصاویر کو مونوکروم میں لیا گیا ہے ، لہذا رجسٹر ویلیو ایک مونوکروم امیج کو آؤٹ پٹ کرنے کے لئے سیٹ کیا گیا ہے۔ فنکشن رجسٹر فہرست سے رجسٹر اقدار کا تعین کرتا ہے جو پروگرام میں پیش وضاحتی ہے۔
سیٹ کلر ()؛
مندرجہ ذیل فنکشن رجسٹر کرنے کے لئے لکھتے ہیں جو رجسٹر کرنے کے لئے ہیکس ویلیو لکھتے ہیں۔ اگر آپ کو سکمبلڈ امیجز ملیں تو دوسری ٹرم یعنی 10 سے 9/11/12 کو تبدیل کرنے کی کوشش کریں۔ لیکن زیادہ تر وقت یہ قیمت ٹھیک کام کرتی ہے لہذا اسے تبدیل کرنے کی ضرورت نہیں ہے۔
رائٹ آرگ (0x11، 10)؛
اس فنکشن کا استعمال امیج ریزولوشن سائز حاصل کرنے کے لئے کیا جاتا ہے۔ اس پروجیکٹ میں ہم 320 x 240 پکسلز کے سائز کی تصاویر لے رہے ہیں۔
کیپرمیگ (320 ، 240)؛
اس کے علاوہ ، کوڈ میں I2C کنفیگریشن بھی کئی حصوں میں تقسیم ہے۔ صرف کیمرے سے ڈیٹا حاصل کرنے کے لئے ، I2C کنفگریشن میں اسٹارٹ ، پڑھیں ، لکھیں ، سیٹ ایڈریس فنکشن موجود ہے جو I2C پروٹوکول کا استعمال کرتے وقت اہم ہیں۔
آپ کو اس ٹیوٹوریل کے آخر میں ایک مظاہرے والی ویڈیو کے ساتھ پورا کوڈ مل سکتا ہے ۔ صرف کوڈ اپ لوڈ کریں اور سیریل پورٹ ریڈر کھولیں اور فریموں کو گرفت میں لیں۔
امیجز کو پڑھنے کے لئے سیریل پورٹ ریڈر کا استعمال کیسے کریں
سیریل پورٹ ریڈر ایک عام جی یو آئی ہے ، اسے یہاں سے ڈاؤن لوڈ کریں۔ یہ بیس 64 انکوڈ پر قبضہ کرتا ہے اور اسے شبیہ بنانے کے لئے ڈی کوڈ کرتا ہے۔ سیریل پورٹ ریڈر کو استعمال کرنے کے لئے صرف ان آسان اقدامات پر عمل کریںمرحلہ 1: اپنے ایردوینو کو اپنے کمپیوٹر کے کسی بھی USB پورٹ سے مربوط کریں
مرحلہ 2: اپنے ارڈینو COM پورٹ کو تلاش کرنے کے لئے "چیک" پر کلک کریں
مرحلہ 3: آخر میں سلسلہ وار پڑھنا شروع کرنے کے لئے "اسٹارٹ" بٹن پر کلیک کریں۔
مرحلہ 4: کوئی بھی "تصویر محفوظ کریں" پر کلک کرکے اس تصویروں کو محفوظ کرسکتا ہے۔
ذیل میں نمونہ کی تصاویر ہیں جو OV7670 سے لی گئیں ہیں
OV7670 استعمال کرتے وقت احتیاطی تدابیر
- جتنا جلد ممکن ہو تاروں یا جمپروں کو استعمال کرنے کی کوشش کریں
- ارڈینو یا OV7670 پر کسی بھی پن سے ڈھیلے رابطے سے گریز کریں
- آپس میں جڑنے کے بارے میں محتاط رہیں کیونکہ بڑی تعداد میں تاروں سے شارٹ سرکٹ کی قیادت ہو سکتی ہے
- اگر یو این او GPIO کو 5V آؤٹ پٹ دیتا ہے تو پھر لیول شفٹر استعمال کریں۔
- OV7670 کے لئے 3.3V ان پٹ کا استعمال کریں کیونکہ اس سے زیادہ وولٹیج سے OV7670 ماڈیول کو نقصان پہنچ سکتا ہے۔
یہ پروجیکٹ اردوینو کے ساتھ کیمرہ ماڈیول استعمال کرنے کا جائزہ لینے کے لئے بنایا گیا ہے۔ چونکہ اردوینو کی میموری کم ہے ، لہذا پروسیسنگ توقع کے مطابق نہیں ہوسکتی ہے۔ آپ مختلف کنٹرولرز استعمال کرسکتے ہیں جن میں پروسیسنگ کے ل memory زیادہ میموری موجود ہے۔