- پروجیکٹ بہاؤ:
- پروجیکٹ کی ضروریات
- سرکٹ ڈایاگرام:
- راسبیری پی آسکلوسکوپ کیلئے انحصار انسٹال کریں:
- راسبیری پی آسکلوسکوپ کے لئے ازگر کا کوڈ:
- ایکسپریس میں راسبیری پی آسکلوسکوپ:
ہیلو لوگو ، آج کی پوسٹ میں خوش آمدید۔ میکر ہونے کی ایک سب سے دل چسپ چیز یہ ہے کہ عارضی ٹولوں کو کس طرح تیار کرنا ہے ، یہ جاننا ہے کہ جب آپ کے پاس اس قسم کی استعداد ہے تو آپ کسی بھی پروجیکٹ پر کام کرتے ہوئے کبھی پھنس نہیں سکتے۔ لہذا ، آج ، میں اس بات کا اشتراک کروں گا کہ کس طرح الیکٹریکل / الیکٹرانکس انجینئرنگ کے ایک انتہائی اہم ٹول میں راسبیری پائی پر مبنی عارضی نسخہ تیار کیا جا؛۔ آسکلوسکوپ ۔
آیسیلوسکوپ ایک الیکٹرانک ٹیسٹ آلہ ہے جو مختلف سگنل وولٹیج کے تصور اور مشاہدہ کی اجازت دیتا ہے ، عام طور پر ایک دو جہتی پلاٹ کے طور پر جس میں ایک یا زیادہ سگنل وقت کے خلاف سازش کرتے ہیں۔ آج کا پروجیکٹ راسبیری پائی اور ڈیجیٹل کنورٹر ماڈیول کے مطابق تجزیہ کار کا استعمال کرتے ہوئے آیسیلوسکوپ کی سگنل کی تصویری صلاحیتوں کی نقل تیار کرنے کی کوشش کرے گا۔
پروجیکٹ بہاؤ:
راسبیری پائی کا استعمال کرتے ہوئے آسکلوسکوپ کے اشارے کے تصور کی نقل تیار کرنے کے لئے مندرجہ ذیل اقدامات کی ضرورت ہوگی۔
1. ان پٹ سگنل کے مطابق تبادلوں سے ڈیجیٹل انجام دیں
2. نمائندگی کے لئے نتیجے میں اعداد و شمار تیار کریں
3. براہ راست وقت گراف پر ڈیٹا پلاٹ
اس پروجیکٹ کے لئے ایک آسان بلاک ڈایاگرام نیچے آریھ کی طرح نظر آئے گا۔
پروجیکٹ کی ضروریات
اس منصوبے کی ضرورت کو دو میں درجہ بندی کیا جاسکتا ہے:
- ہارڈ ویئر کے تقاضے
- سافٹ ویئر کی ضروریات
ہارڈ ویئر کی ضروریات
اس منصوبے کی تعمیر کے لئے ، مندرجہ ذیل اجزاء / حصے کی ضرورت ہے۔
- راسبیری پائ 2 (یا کوئی دوسرا ماڈل)
- 8 یا 16 جی بی ایسڈی کارڈ
- LAN / ایتھرنیٹ کیبل
- بجلی کی فراہمی یا USB کیبل
- ADS1115 ADC
- ایل ڈی آر (اختیاری اس کے معنی ٹیسٹ کیلئے)
- 10 ک یا 1 ک مزاحم
- جمپر تاروں
- بریڈ بورڈ
- pi ڈیسک ٹاپ (VNC سمیت) دیکھنے کے کسی اور طریقے کی نگرانی کریں
سافٹ ویئر کی ضروریات
اس پروجیکٹ کے لئے سافٹ ویئر کی ضروریات بنیادی طور پر ازگر کے ماڈیولز ( میٹپلوٹلیب اور ڈراونو ) ہیں جو ڈیٹا بصری کے لئے استعمال کی جائیں گی اور ADS1115 ADC چپ کے ساتھ مداخلت کے ل Ad اڈفریٹ ماڈیول کے لئے استعمال ہوں گے۔ جب میں آگے بڑھتا ہوں تو میں ان ماڈیولوں کو راسبیری پائی پر انسٹال کرنے کا طریقہ دکھاتا ہوں۔
اگرچہ یہ ٹیوٹوریل استعمال شدہ رسبری پی آئی OS سے قطع نظر کام کرے گا ، میں رسبری پائی اسٹریچ OS کا استعمال کروں گا اور میں یہ فرض کروں گا کہ آپ راسبیری پائی کو راسبیئن اسٹریچ OS کے ساتھ ترتیب دینے سے واقف ہیں ، اور آپ جانتے ہو کہ ایس ایس ایچ کو رسبری میں کس طرح جانا ہے۔ ٹرمینل سافٹ ویر جیسے پوٹین کا استعمال کرتے ہوئے pi۔ اگر آپ کو اس میں سے کسی کے ساتھ کوئی مسئلہ ہے تو ، اس ویب سائٹ پر ٹن راسبیری پائ ٹیوٹوریل موجود ہیں جو مدد کرسکتے ہیں۔
ہارڈ ویئر کے تمام اجزاء کی جگہ پر ، آئیے اسکیمات تیار کریں اور اجزا کو ایک ساتھ جوڑیں۔
سرکٹ ڈایاگرام:
ینالاگ ان پٹ سگنلز کو ڈیجیٹل سگنلز میں تبدیل کرنے کے لئے جسے راسبیری پائی سے دیکھا جاسکتا ہے ، ہم ADS1115 ADC چپ استعمال کریں گے ۔ یہ چپ اہم بن جاتی ہے کیونکہ راسبیری پائی ، اردوینو اور سب سے زیادہ مائکرو کنٹرولرز کے برعکس ، ڈیجیٹل کنورٹر (اے ڈی سی) کے ساتھ بورڈ پر ینالاگ نہیں رکھتی ہے۔ اگرچہ ہم کسی بھی رسبری پائ کو ہم آہنگ اے ڈی سی چپ کا استعمال کرسکتے تھے ، لیکن میں اس کی اعلی ریزولوشن (16 بائٹس) اور اس کی اچھی طرح سے دستاویزی ڈیٹا شیٹ کی وجہ سے اس چپ کو ترجیح دیتا ہوں اور اڈفروٹ کے ذریعہ ہدایات استعمال کرتا ہوں۔ اس کے بارے میں مزید معلومات کے ل You آپ ہمارے راسبیری پی اے ڈی سی ٹیوٹوریل کو بھی دیکھ سکتے ہیں۔
اے ڈی سی ایک I2C پر مبنی آلہ ہے اور جس کو راسبیری پائی سے جوڑنا چاہئے جیسا کہ ذیل میں اسکیمات میں دکھایا گیا ہے۔
وضاحت کے لئے ، دونوں اجزاء کے مابین پن کا تعلق بھی ذیل میں بیان کیا گیا ہے۔
ADS1115 اور راسبیری پائی رابطے:
وی ڈی ڈی - 3.3 وی
GND - GND
ایس ڈی اے۔ ایس ڈی اے
ایس سی ایل۔ ایس سی ایل
سبھی رابطوں کے ساتھ ، اپنے پائی کو طاقتور بنائیں اور نیچے بیان کردہ انحصارات کو انسٹال کریں۔
راسبیری پی آسکلوسکوپ کیلئے انحصار انسٹال کریں:
اس سے پہلے کہ ہم اے ڈی سی سے ڈیٹا کھینچنے اور اسے براہ راست گراف پر پلاٹ کرنے کے لئے ازگر کی اسکرپٹ لکھنا شروع کریں ، ہمیں رسبری پائی کے I2C مواصلات انٹرفیس کو قابل بنانا اور سافٹ ویئر کی ضروریات کو انسٹال کرنے کی ضرورت ہے جن کا تذکرہ پہلے کیا گیا ہے۔ یہ نیچے دیئے گئے اقدامات میں کیا جائے گا تاکہ اس کی پیروی کرنا آسان ہو۔
مرحلہ 1: راسبیری پائی I2C انٹرفیس کو فعال کریں
ٹرمینل سے ، I2C کو فعال کرنے کے لئے ، چلائیں؛
sudo raspi-config
جب کنفیگریشن پینل کھلتے ہیں تو ، انٹرفیس کے اختیارات منتخب کریں ، I2C کو منتخب کریں اور قابل پر کلک کریں۔
مرحلہ 2: راسبیری پائی کو اپ ڈیٹ کریں
کسی بھی پروجیکٹ کو شروع کرنے سے پہلے میں جو کام کرتا ہوں وہ پی آئی کو اپ ڈیٹ کرنا ہے۔ اس کے ذریعے ، مجھے یقین ہے کہ OS پر موجود ہر چیز تازہ ترین ہے اور میں کسی بھی تازہ ترین سافٹ ویئر کے ساتھ مطابقت کے مسئلے کا تجربہ نہیں کروں گا جس کا انتخاب میں نے PI پر کرنے کے لئے کیا ہے۔ ایسا کرنے کے لئے ، دو کمانڈوں کے نیچے چلائیں:
sudo apt-get update sudo اپٹ اپ گریڈ
مرحلہ 3: اے ڈی سی کے ل Ad اڈفریٹ ADS1115 لائبریری انسٹال کریں
تازہ کاری کے ساتھ ، اب ہم ADS115 چپ کے لئے اڈفروٹ ازگر کے ماڈیول سے شروع ہونے والی انحصار انسٹال کرنے کے لئے تیار ہیں۔ اس بات کو یقینی بنائیں کہ آپ چلاتے ہوئے راسبیری پی ہوم ڈائرکٹری میں موجود ہوں۔
سی ڈی
پھر چلاتے ہوئے بلڈ لوازمات انسٹال کریں۔
sudo apt-get install the build-ਜ਼ਰੂਰੀ ازگر-دیو ازگر - smbus git
اگلا ، لائبریری کے لئے ایڈفریٹ گٹ فولڈر کو کلون کرکے چلائیں۔
گٹ کلون https://github.com/adafruit/Adafruit_Python_ADS1x15.git
کلون فائل کی ڈائرکٹری میں تبدیل کریں اور سیٹ اپ فائل چلائیں۔
سی ڈی اڈفریٹ_پھائٹ_ایڈ ایس 1 ایکس 1 زیڈ سڈو ازگر سیٹ اپ.پی انسٹال کریں
تنصیب کے بعد ، آپ کی سکرین نیچے کی شبیہہ کی طرح نظر آنی چاہئے۔
مرحلہ 4: لائبریری اور 12C مواصلات کی جانچ کریں۔
اس سے پہلے کہ ہم باقی پروجیکٹ کے ساتھ آگے بڑھیں ، اس کے لئے یہ ضروری ہے کہ لائبریری کی جانچ کی جا ensure اور یہ یقینی بنائے کہ اے ڈی سی رسبری پائ سے I2C پر بات چیت کرسکے۔ ایسا کرنے کے ل we ہم ایک ایسی اسکرپٹ استعمال کریں گے جو لائبریری کے ساتھ آئے۔
جبکہ ابھی بھی اڈفریٹ_پھٹن_ اے ڈی ایس 1 ایکس 15 فولڈر میں ہیں ، چلاتے ہوئے ڈائریکٹری کو مثال کے ڈائرکٹری میں تبدیل کریں۔
سی ڈی مثالوں
اگلا ، سیمپلیٹسٹ پی پی مثال چلائیں جو اے ڈی سی پر چاروں چینلز کی قدر کو ٹیبلر شکل میں دکھاتا ہے۔
مثال کے طور پر چلائیں:
ازگر
اگر I2C ماڈیول فعال ہے اور کنیکشن اچھے ہیں تو ، آپ کو نیچے کی تصویر میں دکھائے جانے والے اعداد و شمار کو دیکھنا چاہئے۔
اگر کوئی خرابی پیش آتی ہے تو ، یہ یقینی بنانے کے ل check چیک کریں کہ ADC PI کے ساتھ اچھی طرح سے جڑا ہوا ہے اور I2C مواصلات کو PI پر قابل بنایا گیا ہے۔
مرحلہ 5: Matplotlib انسٹال کریں
اعداد و شمار کو تصور کرنے کے لئے ہمیں میٹپلوٹلیب ماڈیول انسٹال کرنے کی ضرورت ہے جو ہر طرح کے گراف کو عجیب و غریب میں پلاٹ کرنے کے لئے استعمال ہوتا ہے۔ یہ چلانے کے ذریعے کیا جا سکتا ہے؛
sudo apt-get python-matplotlib انسٹال کریں
آپ کو نیچے کی طرح شبیہہ دیکھنا چاہئے۔
مرحلہ 6 : ڈراؤ ازگر ماڈیول انسٹال کریں
آخر میں ، ہمیں ڈراؤ ازگر ماڈیول انسٹال کرنے کی ضرورت ہے ۔ یہ ماڈیول ڈیٹا پلاٹ کو براہ راست اپ ڈیٹ فراہم کرنے میں ہماری مدد کرتا ہے۔
ہم ازگر پیکیج انسٹالر کے ذریعے ڈراو انسٹال کریں گے۔ پائپ ، لہذا ہمیں یقینی بنانا ہوگا کہ یہ انسٹال ہے۔ یہ چلانے کے ذریعے کیا جا سکتا ہے؛
sudo apt-get python-pip انسٹال کریں
اس کے بعد ہم چلاتے ہوئے ڈراؤ پیکج کو انسٹال کرنے کے لئے پائپ استعمال کرسکتے ہیں۔
sudo پائپ انسٹال کریں
اس کو چلانے کے بعد آپ کو نیچے کی طرح شبیہہ ملنا چاہئے۔
تمام انحصار انسٹال ہونے کے ساتھ ، اب ہم کوڈ لکھنے کے لئے تیار ہیں۔
راسبیری پی آسکلوسکوپ کے لئے ازگر کا کوڈ:
اس پائ آسکلوسکوپ کے لئے ازگر کا کوڈ کافی آسان ہے خصوصا if اگر آپ ازگر میٹ پللوٹ لائب ماڈیول سے واقف ہیں ۔ ہمیں پورا کوڈ دکھانے سے پہلے ، میں اسے جزوی طور پر توڑنے کی کوشش کروں گا اور اس کی وضاحت کروں گا کہ کوڈ کا ہر ایک حصہ کیا کر رہا ہے لہذا آپ کو زیادہ سامان حاصل کرنے کے ل the کوڈ کو بڑھانے کے لئے اتنا علم ہوسکتا ہے۔
اس مرحلے پر ، مانیٹر پر سوئچ کرنا یا VNC ناظرین کا استعمال کرنا ضروری ہے ، کوئی بھی چیز جس کے ذریعے آپ اپنا راسبیری پائی کا ڈیسک ٹاپ دیکھ سکتے ہیں ، کیونکہ گراف تیار کیا جارہا ہے وہ ٹرمینل پر نہیں دکھائے گا۔
انٹرفیس کے طور پر مانیٹر کے ساتھ ایک نئی ازگر فائل کھولیں ۔ آپ اس کو جو بھی نام چاہتے ہیں اس کے نام سے پکار سکتے ہیں ، لیکن میں اس کو اسپیپٹی پی پی کے نام سے موسوم کروں گا۔
sudo نانو اسکاپ
فائل کی تشکیل کے ساتھ ، سب سے پہلے ہم جو ماڈیول استعمال کریں گے وہ درآمد کرنا ہے۔
درآمد کا وقت درآمد matplotlib.pyplot بطور plt ڈراونا درآمد * درآمد Adaf فرو_ADS1x15
اگلا ، ہم ADS1x15 لائبریری کی مثال پیش کرتے ہیں جو ADS1115 ADC کی وضاحت کرتی ہے
adc = Adafruit_ADS1x15.ADS1115 ()
اگلا ، ہم نے اے ڈی سی کا فائدہ طے کیا۔ فائدہ کی مختلف حدیں ہیں اور آپ کو وولٹیج کی بنیاد پر منتخب کیا جانا چاہئے جس کی آپ اے ڈی سی کے ان پٹ پر توقع کر رہے ہیں۔ اس ٹیوٹوریل کے ل - ، ہم 0 - 4.09v کا تخمینہ لگارہے ہیں لہذا ہم 1 کا فائدہ حاصل کریں گے۔گین سے متعلق مزید معلومات کے ل you آپ ADS1015 / ADS1115 ڈیٹاشیٹ چیک کرسکتے ہیں۔
حاصل = 1
اگلا ، ہمیں سرنی متغیرات بنانے کی ضرورت ہوگی جو پلاٹ بنائے جانے والے ڈیٹا کو ذخیرہ کرنے کے لئے استعمال ہوں گے اور گنتی کی حیثیت سے ایک اور استعمال کریں گے۔
ویل = سی این ٹی = 0
اگلا ، ہم پلاٹ کو انٹرایکٹو بنانے کے اپنے ارادوں کو جانتے ہیں تاکہ ڈیٹا کو براہ راست پلاٹ کرنے کے قابل بنائے ۔
plt.ion ()
اگلا ، ہم اے ڈی سی چینل کی وضاحت کرتے ہوئے مسلسل اے ڈی سی تبادلوں کا آغاز کرتے ہیں ، اس معاملے میں ، چینل 0 اور ہم فائدہ بھی واضح کرتے ہیں۔
واضح رہے کہ ADS1115 پر موجود اے ڈی سی کے چاروں چینلز ایک ہی وقت میں پڑھ سکتے ہیں ، لیکن اس مظاہرے کے لئے 1 چینل کافی ہے۔
adc.start_adc (0 ، حاصل = حاصل کریں)
اگلا ، ہم گراف کی خصوصیات کو قائم کرنے اور مرتب کرنے کے لئے ، ایک فنکشن ڈیف میک فائیگ تیار کرتے ہیں جو ہمارے رواں پلاٹ کو رکھے گا۔ ہم سب سے پہلے یلم کا استعمال کرتے ہوئے y محور کی حدود طے کرتے ہیں ، اس کے بعد ہم پلاٹ کا عنوان ، اور لیبل کا نام اس سے پہلے کہ ہم ڈیٹا بتاتے ہیں جو پلاٹ کیا جائے گا اور plt.plot () کا استعمال کرتے ہوئے اس کے پلاٹ کا انداز اور رنگ متعین کرتے ہیں ۔. ہم چینل بھی بیان کرسکتے ہیں (جیسا کہ چینل 0 بتایا گیا تھا) لہذا جب ہم اے ڈی سی کے چار چینلز استعمال ہورہے ہیں تو ہم ہر سگنل کی شناخت کرسکتے ہیں۔ plt.legend اس کی وضاحت کے لئے استعمال کیا جاتا ہے کہ ہم اعداد و شمار پر ظاہر ہونے والے اس سگنل (جیسے چینل 0) کے بارے میں جہاں معلومات چاہتے ہیں۔
plt.ylim (-5000،5000) plt.title ('Oscigscope') plt.grid (True) plt.ylabel ('ADC آؤٹ پٹ') plt.plot (ویل ، 'رو-' ، لیبل = ' لک ') plt.gendnd (لوک = 'نچلے دائیں')
ہم لکھ اگلا ، جبکہ اس کے مطابق اے ڈی سی سے مسلسل پڑھ کے اعداد و شمار کا استعمال کیا اور اپ ڈیٹ کر دیا جائے گا جس میں پلاٹ لوپ.
پہلی چیز جو ہم کرتے ہیں وہ ہے ADC کے تبادلوں کی قیمت کو پڑھنا
قدر = adc.get_last_result ()
اگلا ، ہم پلاٹ ڈیٹا کی تصدیق کرنے کا ایک اور طریقہ پیش کرنے کے لئے ٹرمینل پر قیمت پرنٹ کریں۔ ہم پرنٹنگ کے بعد کچھ سیکنڈ انتظار کرتے ہیں پھر ہم اس چینل کے لئے ڈیٹا اسٹور کرنے کے ل created تیار کردہ فہرست (ویل) میں ڈیٹا جوڑ دیتے ہیں۔
پرنٹ ('چینل 0: {0}'. فارمیٹ (ویلیو)) ٹائم نیند (0.5) ویل.اپینڈ (انٹ (ویلیو))
اس کے بعد ہم پلاٹ کو اپ ڈیٹ کرنے کے لئے ڈراؤن کو کال کریں ۔
ڈنو (میک فگ)
یہ یقینی بنانے کے لئے کہ پلاٹ پر تازہ ترین اعداد و شمار دستیاب ہیں ، ہم ہر 50 ڈیٹا شمار کے بعد انڈیکس 0 پر موجود ڈیٹا کو حذف کردیتے ہیں۔
cnt = cnt + 1 if ( cnt > 50): val.pop (0)
بس اتنا!
مکمل ازگر کوڈ اس ٹیوٹوریل کے آخر میں دیا جاتا ہے.
ایکسپریس میں راسبیری پی آسکلوسکوپ:
مکمل ازگر کے کوڈ کی کاپی کریں اور اس سے پہلے ہم نے بنائی گئی اس ازگر کی فائل میں پیسٹ کریں ، یاد رکھیں ہمیں پلاٹ کو دیکھنے کے لئے ایک مانیٹر کی ضرورت ہوگی لہذا یہ سب VNC کے ذریعہ یا منسلک مانیٹر یا اسکرین کے ذریعہ کیا جانا چاہئے۔
کوڈ کو محفوظ کریں اور استعمال کرتے ہوئے چلائیں؛
sudo ازگر اسکائپ پی پی
اگر آپ اسکوپ ڈاٹ پی کے علاوہ کوئی دوسرا نام استعمال کرتے ہیں تو ، اسے میچ میں تبدیل کرنا نہ بھولیں۔
چند منٹ کے بعد ، آپ کو اے ڈی سی کے اعداد و شمار کو ٹرمینل پر چھپا ہوا دیکھنا چاہئے۔ کبھی کبھار آپ کو میٹپلوٹلیب کی طرف سے ایک انتباہ مل سکتا ہے (جیسا کہ نیچے کی تصویر میں دکھایا گیا ہے) جسے دبانا چاہئے لیکن اس سے ظاہر ہونے والے ڈیٹا اور کسی بھی طرح کے پلاٹ پر کوئی اثر نہیں پڑتا ہے۔ تاہم انتباہ کو دبانے کے ل our ، ہمارے کوڈ میں درآمدی لائنوں کے بعد درج ذیل کوڈز کو شامل کیا جاسکتا ہے۔
درآمد انتباہات درآمد کریں matplotlib.cbook انتباہات.فلٹر وارننگز ("نظر انداز کریں" ، زمرہ = matplotlib.cbook.mplDrecation)
اس ٹیوٹوریل لڑکوں کے لئے ، اپنے آسکلوسکوپ کو مکمل طور پر جانچنے کے ل you ، آپ پوٹینومیٹر جیسے اینالاگ ڈیوائس کو اے ڈی سی کے کسی چینل سے مربوط کرسکتے ہیں اور آپ کو پوٹینومیٹر کی ہر موڑ کے ساتھ ڈیٹا میں تبدیلی دیکھنا چاہئے۔ یا آپ آؤٹ پٹ کو جانچنے کے لئے سائن ویو یا مربع لہر کو ان پٹ کرسکتے ہیں۔
پڑھنے کے لئے شکریہ ، اگر آپ کے پاس کوئی سوال (زبانیں) یا کوئی چیز ہے جو آپ مجھے شامل کرنا پسند کریں گے تو صرف مجھے ایک تبصرہ کریں۔
اگلی بار تک ، بناتے رہیں!