راسبیری پائی ایک آر ایم آرکیٹیکچر پروسیسر پر مبنی بورڈ ہے جو الیکٹرانک انجینئرز اور شوق پرستوں کے لئے ڈیزائن کیا گیا ہے۔ PI ایک بہت قابل اعتماد پروجیکٹ ڈویلپمنٹ پلیٹ فارم ہے جو اب وہاں موجود ہے۔ اعلی پروسیسر کی رفتار اور 1 جی بی ریم کے ساتھ ، پی آئی بہت سارے ہائی پروفائل منصوبوں جیسے امیج پروسیسنگ اور انٹرنیٹ آف چیزوں کے ل. استعمال کیا جاسکتا ہے۔
ہائی پروفائل منصوبوں میں سے کوئی بھی کام کرنے کے ل one ، PI کے بنیادی افعال کو سمجھنے کی ضرورت ہے۔ ہم ان سبق میں راسبیری پائی کی تمام بنیادی خصوصیات کا احاطہ کریں گے ۔ ہر سبق میں ہم PI کے افعال میں سے ایک پر تبادلہ خیال کریں گے۔ اس راسبیری پائ ٹیوٹوریل سیریز کے اختتام تک ، آپ خود ہی ہائی پروفائل پروجیکٹس انجام دے سکیں گے۔ ذیل میں سبق حاصل کریں:
- راسبیری پائ کے ساتھ آغاز کرنا
- راسبیری پائی کنفیگریشن
- ایل ای ڈی بلنکی
- راسبیری پائی بٹن انٹرفیسنگ
- راسبیری پائی PWM نسل
- راسبیری پائی کا استعمال کرتے ہوئے ڈی سی موٹر کو کنٹرول کرنا
- راسبیری پائی کے ساتھ اسٹیپر موٹر کنٹرول
- انٹرفیسنگ شفٹ راسبیری پائی کے ساتھ رجسٹر ہوں
اس ٹیوٹوریل میں ، ہم ایک ADC (ڈیجیٹل تبادلوں کے مطابق ینجالا) چپ سے راسبیری پائ انٹرفیس کریں گے ۔ ہم ینالاگ کے تمام پیرامیٹرز کو جانتے ہیں ، اس کا مطلب ہے کہ وقت گزرنے کے ساتھ ساتھ مختلف ہوتی رہتی ہیں۔ کمرے کے درجہ حرارت کے بارے میں کہیں ، کمرے کے درجہ حرارت میں مسلسل وقت کے ساتھ مختلف ہوتا رہتا ہے۔ یہ درجہ حرارت اعشاریے کے ساتھ فراہم کیا جاتا ہے۔ لیکن ڈیجیٹل دنیا میں ، اعشاریے کی تعداد نہیں ہے ، لہذا ہمیں ینالاگ قدر کو ڈیجیٹل ویلیو میں تبدیل کرنے کی ضرورت ہے ۔ یہ تبادلوں کا عمل ADC تکنیک کے ذریعہ کیا گیا ہے ۔ ADC کے بارے میں مزید معلومات یہاں حاصل کریں: ADC0804 کا تعارف
ADC0804 اور راسبیری پائ:
عام کنٹرولرز کے پاس ADC چینل ہوتے ہیں لیکن PI کے لئے اندرونی طور پر کوئی ADC چینل فراہم نہیں کیا جاتا ہے۔ لہذا اگر ہم کسی بھی مطابق سینسر کو انٹرفیس کرنا چاہتے ہیں تو ہمیں اے ڈی سی کنورژن یونٹ کی ضرورت ہے۔ لہذا اس مقصد کے لئے ہم راسبیری پائ کے ساتھ انٹرفیس ADC0804 جارہے ہیں ۔
ADC0804 ایک چپ ہے جو ینالاگ سگنل کو 8 بٹ ڈیجیٹل ڈیٹا میں تبدیل کرنے کے لئے ڈیزائن کی گئی ہے۔ یہ چپ ADC کی مقبول سیریز میں سے ایک ہے۔ یہ ایک 8 بٹ تبادلوں کا یونٹ ہے ، لہذا ہمارے پاس اقدار یا 0 سے 255 اقدار ہیں۔ زیادہ سے زیادہ 5V کی پیمائش کرنے والی وولٹیج کے ساتھ ، ہمارے پاس ہر 19.5mV میں تبدیلی آئے گی۔ ذیل میں ADC0804 کا پن آؤٹ ہے:
اب یہاں ایک اور اہم چیز یہ ہے کہ ، ADC0804 5V پر چلتا ہے اور لہذا یہ 5V منطق سگنل میں پیداوار فراہم کرتا ہے۔ 8 پن آؤٹ پٹ (8 بٹ کی نمائندگی کرتے ہوئے) میں ، ہر پن منطق '1 کی نمائندگی کرنے کے لئے + 5V آؤٹ پٹ فراہم کرتا ہے۔ تو مسئلہ یہ ہے کہ PI کی منطق + 3.3v کی ہے ، لہذا آپ PI کے + 3.3V GPIO پن کو + 5V منطق نہیں دے سکتے ہیں۔ اگر آپ PI کے کسی GPIO پن کو + 5V دیتے ہیں تو ، بورڈ خراب ہوجاتا ہے۔
تو +5V سے نیچے منطق کی سطح تک ، ہم وولٹیج ڈیوائڈر سرکٹ کا استعمال کریں گے۔ ہم نے وولٹیج ڈیوائڈر سرکٹ پر مزید وضاحت کے لئے پہلے اس پر غور کیا ہے۔ ہم جو کریں گے وہ یہ ہے کہ ، + 5V منطق کو 2 * 2.5V منطق میں تقسیم کرنے کے لئے ہم دو ریزسٹر استعمال کرتے ہیں۔ لہذا تقسیم کے بعد ہم پی آئی کو + 2.5 وی منطق دیں گے۔ لہذا ، جب بھی ADC0804 کے ذریعہ منطق '1' پیش کی جاتی ہے تو ہم + 5V کی بجائے PI GPIO پن میں + 2.5V دیکھیں گے۔
راسبیری پائی کے جی پی آئی او پنوں کے بارے میں مزید معلومات حاصل کریں اور ہمارے گذشتہ سبق حاصل کریں۔
مطلوبہ اجزاء:
یہاں ہم راسبیری جیسی OS کے ساتھ راسبیری پائی 2 ماڈل بی استعمال کر رہے ہیں ۔ ہارڈویئر اور سافٹ ویئر کی تمام بنیادی ضروریات پر پہلے تبادلہ خیال کیا گیا ہے ، آپ اسے راسبیری پائی تعارف میں تلاش کرسکتے ہیں ، اس کے علاوہ بھی ہماری ضرورت ہے:
- منسلک پن
- 220Ω یا 1 کریسٹر (17 ٹکڑے ٹکڑے)
- 10K برتن
- 0.1µF کیپاکیٹر (2 ٹکڑے ٹکڑے)
- ADC0804 IC
- روٹی بورڈ
سرکٹ کی وضاحت:
یہ + 5v کی سپلائی وولٹیج پر کام کرتا ہے اور 0-5V رینج میں متغیر وولٹیج کی حد کی پیمائش کرسکتا ہے۔
رسبری PI کرنے ADC0804 interfacing کے لئے کنکشن ، اوپر سرکٹ ڈایاگرام میں دکھائے گئے ہیں.
اے ڈی سی میں ہمیشہ بہت شور ہوتا ہے ، یہ شور کارکردگی کو بہت متاثر کرسکتا ہے ، لہذا ہم شور فلٹریشن کے لئے 0.1uF کاپاکیٹر استعمال کرتے ہیں ۔ اس کے بغیر آؤٹ پٹ میں بہت اتار چڑھاؤ ہو گا۔
چپ آر سی (ریزٹر-کیپسیسیٹر) آسکیلیٹر گھڑی پر کام کرتا ہے۔ جیسا کہ سرکٹ آریگرام میں دکھایا گیا ہے ، سی 2 اور آر 20 ایک گھڑی بناتے ہیں ۔ یہاں یاد رکھنے والی اہم بات یہ ہے کہ اے ڈی سی کے تبادلوں کی اعلی شرح کے ل cap سندیجک سی 2 کو کم قیمت میں تبدیل کیا جاسکتا ہے۔ تاہم تیز رفتار کے ساتھ درستگی میں کمی ہوگی۔ لہذا اگر ایپلی کیشن کو اعلی درستگی کی ضرورت ہو تو ، زیادہ قیمت والے کیپسیسیٹر کا انتخاب کریں اور تیز رفتار کے لئے کم قیمت والے کیپسیٹر کا انتخاب کریں۔
پروگرامنگ کی وضاحت:
ایک بار جب ہر چیز سرکٹ ڈایاگرام کے مطابق منسلک ہوجاتی ہے ، ہم PYHTON میں پروگرام لکھنے کے لئے PI آن کر سکتے ہیں۔
ہم کچھ کمانڈوں کے بارے میں بات کریں گے جو ہم پی ایچ ٹیون پروگرام میں استعمال کرنے جارہے ہیں ،
ہم لائبریری سے GPIO فائل درآمد کرنے جارہے ہیں ، ذیل میں فنکشن ہمیں PI کے GPIO پنوں کو پروگرام کرنے کے قابل بناتا ہے۔ ہم "جی پی آئی او" کا نام بھی "آئی او" رکھ رہے ہیں ، لہذا پروگرام میں جب بھی ہم جی پی آئی او پنوں کا حوالہ دینا چاہیں تو ہم 'IO' کا لفظ استعمال کریں گے۔
RPI.GPIO کو بطور IO درآمد کریں
کبھی کبھی ، جب GPIO پن ، جسے ہم استعمال کرنے کی کوشش کر رہے ہیں ، شاید کچھ دوسرے کام انجام دے رہے ہوں۔ اس صورت میں ، ہم پروگرام کو چلاتے وقت انتباہات وصول کریں گے۔ ذیل میں کمان PI کو انتباہات کو نظر انداز کرنے اور پروگرام کے ساتھ آگے بڑھنے کے لئے کہتی ہے۔
IO.setwarnings (غلط)
ہم PI کے GPIO پنوں کو بورڈ میں پن نمبر کے ذریعہ یا ان کے فنکشن نمبر کے ذریعہ حوالہ دے سکتے ہیں۔ جیسے بورڈ پر 'PIN 29' 'GPIO5' ہے۔ تو ہم یہاں بتاتے ہیں یا تو ہم یہاں '29' یا '5' کے ذریعہ پن کی نمائندگی کریں گے۔
IO.setmode (IO.BCM)
ہم 8 پنوں کو ان پٹ کے بطور ترتیب دے رہے ہیں۔ ہم ان پنوں کے ذریعہ 8 بٹ ADC ڈیٹا کا پتہ لگائیں گے۔
IO.setup (4 ، IO.IN) IO.setup (17 ، IO.IN) IO.setup (27 ، IO.IN) IO.setup (22 ، IO.IN) IO.setup (5 ، IO.IN) IO.setup (6 ، IO.IN) IO.setup (13 ، IO.IN) IO.setup (19 ، IO.IN)
اگر منحنی خطوط وحدانی میں حالت درست ہو تو ، لوپ کے اندر بیانات ایک بار عمل میں آئیں گے۔ لہذا اگر GPIO پن 19 بلند ہوجاتا ہے ، تو IF لوپ کے اندر بیانات ایک بار عمل میں لائے جائیں گے۔ اگر GPIO پن 19 زیادہ نہیں جاتا ہے ، تو IF لوپ کے اندر بیانات پر عملدرآمد نہیں ہوگا۔
اگر (IO.input (19) == سچ ہے):
کمانڈ کے نیچے ہمیشہ کے لئے لوپ استعمال ہوتا ہے ، اس کمانڈ کے ساتھ اس لوپ کے اندر موجود بیانات کو مسلسل عمل میں لایا جائے گا۔
جبکہ 1:
پروگرام کی مزید وضاحت ذیل میں کوڈ سیکشن میں دی گئی ہے۔
کام کرنا:
پروگرام لکھنے اور اس پر عمل درآمد کے بعد آپ کو اسکرین پر '0' نظر آئے گا۔ ان پٹ میں 0 'ایمنز 0 وولٹ۔
اگر ہم چپ سے منسلک 10K برتن کو ایڈجسٹ کرتے ہیں تو ، ہم اسکرین پر اقدار میں تبدیلی دیکھیں گے۔ اسکرین پر موجود اقدار مستقل طور پر طومار کرتی رہتی ہیں ، یہ وہ ڈیجیٹل قدریں ہیں جو PI نے پڑھیں۔
کہتے ہیں کہ اگر ہمیں برتن وسط نقطہ پر ملتا ہے تو ، ہمارے پاس ADC0804 ان پٹ میں + 2.5V ہے۔ چنانچہ ہم نیچے اسکرین پر 128 دیکھتے ہیں۔
+ 5 وی مطابق قیمت کے ل value ، ہمارے پاس 255 ہوں گے۔
لہذا ، برتن کو مختلف کرکے ہم ADC0804 ان پٹ پر وولٹیج کو 0 سے + 5V میں مختلف کرتے ہیں۔ اس PI کے ساتھ 0-255 سے قدریں پڑھیں۔ اقدار اسکرین پر چھپی ہوئی ہیں۔
لہذا ہمارے پاس راسبیری پائ سے انٹرفیسڈ ADC0804 ہے ۔