- ضروری اجزاء
- MCP4725 DAC ماڈیول (ینالاگ کنورٹر ڈیجیٹل)
- راسبیری پائی میں آئی 2 سی پن
- راسبیری پائی میں ایم سی پی 4725 اڈفریٹ لائبریری انسٹال کرنا
- اڈفریٹ LCD ڈسپلے لائبریری انسٹال کرنا
- سرکٹ ڈایاگرام اور رابطے
- ڈیجیٹل ٹو ینالاگ تبادلوں کے لئے پروگرامنگ راسبیری پائی
مائکرو کنٹرولر صرف ڈیجیٹل اقدار کے ساتھ کام کرتے ہیں لیکن حقیقی دنیا میں ہمیں اینالاگ سگنلز سے نمٹنا پڑتا ہے۔ اسی وجہ سے اے ڈی سی (ینالاگ سے ڈیجیٹل کنورٹرز) حقیقی دنیا کے ینالاگ قدروں کو ڈیجیٹل شکل میں تبدیل کرنے کے لئے موجود ہے تاکہ مائکروکانٹرولر سگنل پر کارروائی کرسکیں۔ لیکن کیا ہوگا اگر ہمیں ڈیجیٹل اقدار سے اینالاگ سگنل کی ضرورت ہو ، تو یہاں ڈی اے سی (ڈیجیٹل ٹو ینالاگ کنورٹر) آتا ہے ۔
ڈی اے سی بہت سے ایپلی کیشنز میں استعمال کیا جاسکتا ہے جیسے موٹر کنٹرول ، ایل ای ڈی لائٹس کی کنٹرول چمک ، آڈیو یمپلیفائر ، ویڈیو انکوڈرز ، ڈیٹا حصول سسٹم وغیرہ۔
ہم نے اردوینو اور ایس ٹی ایم 32 کے ساتھ ایم سی پی 4725 ڈی اے سی ماڈیول کو پہلے ہی انٹرفیس کیا۔ آج ہم راسبیری پائی کا استعمال کرتے ہوئے ڈیجیٹل ٹو ینالاگ کنورٹر ڈیزائن کرنے کے لئے اسی ایم سی پی 4725 ڈی اے سی کا استعمال کریں گے۔ یہ فرض کیا جاتا ہے کہ آپ نے پہلے ہی اپنے راسبیری PI پر جدید ترین OS انسٹال کیا ہے اور ایس ایس ایچ کے توسط سے اس تک رسائی حاصل ہے۔ اگر نہیں تو ، آگے بڑھنے سے پہلے راسبیری پِی ٹیوٹوریل کے ساتھ شروعات کرنا عمل کریں۔ یہاں ہم راسبیری پائی 3 پر نصب راسبیئن اسٹریچ استعمال کررہے ہیں ۔
ضروری اجزاء
- راسبیری پائ 3 بی + (راسبیئن OS نصب کے ساتھ)
- MCP4725 DAC IC
- 16x2 LCD ڈسپلے
- بریڈ بورڈ
- مربوط تاروں
MCP4725 DAC ماڈیول (ینالاگ کنورٹر ڈیجیٹل)
ایم سی پی 4725 آئی سی ایک 12 بٹ ڈیجیٹل ٹو ینالاگ کنورٹر ماڈیول ہے جو آؤٹ پٹ اینالاگ وولٹیج (0 سے 5V) پیدا کرنے کے لئے استعمال ہوتا ہے اور اسے I2C مواصلات کا استعمال کرکے کنٹرول کیا جاتا ہے۔ یہ بورڈ نان وولاٹائل میموری EEPROM پر بھی آتا ہے۔
اس آئی سی میں 12 بٹ ریزولوشن ہے۔ اس کا مطلب ہے کہ ہم حوالہ وولٹیج کے سلسلے میں وولٹیج آؤٹ پٹ فراہم کرنے کے لئے ان پٹ کے طور پر (0 سے 4096) استعمال کرتے ہیں۔ زیادہ سے زیادہ حوالہ وولٹیج 5V ہے۔
آؤٹ پٹ وولٹیج کا حساب کتاب کرنے کا فارمولا
O / P وولٹیج = (حوالہ وولٹیج / ریزولوشن) x ڈیجیٹل ویلیو
مثال کے طور پر اگر ہم 5V کو ریفرنس وولٹیج کے طور پر استعمال کرتے ہیں اور آئیے فرض کریں کہ ڈیجیٹل ویلیو 2048 ہے۔ لہذا ڈی اے سی آؤٹ پٹ کا حساب لگانا ہے۔
O / P وولٹیج = (5/4096) x 2048 = 2.5V
ایم سی پی 4725 کا پن آؤٹ
ذیل میں ایم سی پی 4725 کی تصویر ہے جس میں واضح طور پر پن کے نام بتائے گئے ہیں۔
ایم سی پی 4725 کے پنوں |
استعمال کریں |
آؤٹ |
نتائج ینالاگ وولٹیج |
GND |
آؤٹ پٹ کے لئے GND |
ایس سی ایل |
I2C سیریل گھڑی لائن |
ایس ڈی اے |
I2C سیریل ڈیٹا لائن |
وی سی سی |
ان پٹ حوالہ وولٹیج 5V یا 3.3V |
GND |
ان پٹ کے لئے GND |
اس آئی سی کو I2C مواصلات کا استعمال کرتے ہوئے کنٹرول کیا جاسکتا ہے جس میں صرف دو تاروں ایس سی ایل اور ایس ڈی اے کی ضرورت ہے۔ پہلے سے ہی ، MCP4725 کیلئے I2C ایڈریس 0x60 ہے۔ اب ہم راسبیری پائی میں I2C مواصلات کے بارے میں جانتے ہیں۔
راسبیری پائی میں آئی 2 سی پن
راسبیری پائی کے ساتھ ایم سی پی 4725 استعمال کرنے کے ل order ، سب سے پہلے کام کرنے میں راسبیری پی آئی 2 سی پورٹ پنوں کو جاننا اور راسبیری پائی میں آئی 2 سی پورٹ کی تشکیل کرنا ہے۔
ذیل میں راسبیری پائی 3 ماڈل بی + کا پن ڈایاگرام ہے ، اور اس ٹیوٹوریل میں آئی 2 سی پن جی پی آئی او 2 (ایس ڈی اے) اور جی پی آئی او 3 (ایس سی ایل) استعمال کیے گئے ہیں۔
راسبیری پائی میں I2C کی تشکیل
پہلے سے طے شدہ طور پر ، I2C راسبیری پائی میں غیر فعال ہے۔ تو پہلے اسے قابل ہونا چاہئے۔ راسبیری پائ میں I2C کو فعال کرنے کے ل
1. ٹرمینل پر جائیں اور sudo raspi-config ٹائپ کریں ۔
2. اب راسبیری پائی سافٹ ویئر کنفیگریشن ٹول ظاہر ہوتا ہے۔
3. انٹرفیسنگ کے اختیارات منتخب کریں اور پھر I2C کو فعال کریں۔
4. I2C کو چالو کرنے کے بعد پائ کو دوبارہ شروع کریں۔
راسبیری پائ کا استعمال کرتے ہوئے MCP4725 کا I2C ایڈریس اسکین کرنا
اب ایم سی پی 4725 آئی سی کے ساتھ بات چیت شروع کرنے کے ل the ، راسبیری پائی کو اس کا I2C پتہ معلوم ہونا چاہئے۔ پتہ تلاش کرنے کے لئے پہلے ایم سی پی 4725 کے ایس ڈی اے اور ایس سی ایل پن کو راسبیری پائی کے ایس ڈی اے اور ایس سی ایل پن سے جوڑیں۔ + 5V اور GND پنوں کو بھی مربوط کریں۔
اب ٹرمینل کھولیں اور منسلک I2C ڈیوائس کا پتہ جاننے کے لئے نیچے کمانڈ ٹائپ کریں ،
sudo i2cdetect –y 1 یا sudo i2cdetect –y 0
I2C ایڈریس کی تلاش کے بعد اب اس کا وقت ہے کہ ایم پی سی 4725 کو راسبیری پائی کے ساتھ استعمال کرنے کے لئے ضروری لائبریریاں انسٹال کریں ۔
راسبیری پائی میں ایم سی پی 4725 اڈفریٹ لائبریری انسٹال کرنا
کرنے کے لئے رسبری PI کے I2C بس کے ساتھ MCP4725 ڈیک بورڈ کا استعمال ، ایک Adafruit MCP4725 لائبریری کا استعمال کیا جاتا ہے. لائبریری کو ڈاؤن لوڈ اور انسٹال کرنے کے لئے ان مراحل پر عمل کریں:
1. یقینی بنائیں کہ راسبیری پائ ایک فعال انٹرنیٹ سے جڑا ہوا ہے۔
2. اگلا ٹرمینل کھولیں اور ایک ایک کرکے درج ذیل لائنیں چلائیں۔
sudo apt-get install git build-ਜਰੂਰੀ ازگر-دیو گٹ کلون https://github.com/adafruit/Adafruit_Python_MCP4725.git سی ڈی اڈفریٹ_پھتھن_MCP4725 sudo python setup.py install
3. کامیاب تنصیب کے بعد اب ایڈفریٹ ایم سی پی 4725 لائبریری کو لائن کا استعمال کرکے کسی بھی ازگر کی اسکرپٹ میں درآمد کیا جاسکتا ہے
ایڈفریٹ_میسپی 4725 درآمد کریں
اڈفریٹ LCD ڈسپلے لائبریری انسٹال کرنا
اس منصوبے میں ایل اے سی کا استعمال ڈی اے سی اور ینالاگ وولٹیج اقدار کو ظاہر کرنے کے لئے کیا گیا ہے لہذا راسبیری پائی میں ایل سی ڈی لائبریری کو ڈاؤن لوڈ اور انسٹال کرنے کے لئے ان اقدامات پر عمل کریں:
1. ایک ٹرمینل ونڈو کھولیں اور ایک ایک کرکے مندرجہ ذیل لائنیں چلائیں۔
apt-get انسٹال گٹ گٹ کلون https://github.com/adafruit/Adaf پھٹ_ython_CharLCD.git CD Adafruit_Python_CharLCD sudo python setup.py install
2. اب ایل سی ڈی لائبریری کی تنصیب کے بعد ، ایڈاف فروٹ_پیٹھن_چار ایل سی ڈی مندرجہ ذیل لائن کا استعمال کرکے کسی بھی ازگر کے اسکرپٹ سے استعمال کیا جاسکتا ہے۔
ایل ڈی سی کے بطور ایڈف فروٹ_چار ایل سی ڈی درآمد کریں
اب راسبیری پائی ڈیجیٹل ٹو ینالاگ کنورٹر کا کوڈ تیار کرنے کے لئے تیار ہے لہذا چلو سرکٹ کو جیسا کہ ذیل کی شکل میں دکھایا گیا ہے۔
سرکٹ ڈایاگرام اور رابطے
راسبیری پائی کے ساتھ ڈی اے سی آایسی ایم سی پی 4725 استعمال کرنے کے لئے سرکٹ ڈایاگرام ذیل میں دیا گیا ہے:
(16x2) ایل سی ڈی اور راسبیری پائ کے درمیان سرکٹ رابطے
LCD |
راسبیری پائی 3 بی + |
وی ایس ایس |
GND |
وی ڈی ڈی |
+ 5 وی |
V0 |
برعکس کنٹرول کے لئے پوٹینومیٹر سے |
RS |
جی پی آئی او 25 |
آر ڈبلیو |
GND |
ای |
جی پی آئی او 24 |
ڈی 4 |
جی پی آئی او 23 |
ڈی 5 |
جی پی آئی او 17 |
ڈی 6 |
جی پی آئی او 18 |
ڈی 7 |
جی پی آئی او 22 |
A |
+ 5 وی |
K |
GND |
ایم سی پی 4725 اور راسبیری پائی کے درمیان سرکٹ رابطے
ایم سی پی 4725 |
راسبیری پائی 3 بی + |
ملٹی میٹر |
GND |
GND |
منفی تحقیقات |
وی سی سی |
+ 5 وی |
- |
ایس ڈی اے |
GPIO2 (SDA) |
- |
ایس سی ایل |
جی پی آئی او 3 (ایس سی ایل) |
- |
آؤٹ |
- |
مثبت تحقیقات |
مکمل سیٹ اپ اس طرح نظر آئے گا:
ڈیجیٹل ٹو ینالاگ تبادلوں کے لئے پروگرامنگ راسبیری پائی
اس ٹیوٹوریل کے آخر میں راسبیری پائی کے لئے مکمل ازگر کا کوڈ دیا گیا ہے۔ بس اس کو رسٹیری پائی میں کسی پوٹٹی جیسے ایس ایس ایچ کلائنٹ یا کسی بھی ایف ٹی پی کلائنٹ جیسے فائل زلا کا استعمال کرتے ہوئے اپ لوڈ کریں یا آپ اس سے کسی مانیٹر کو جوڑ کر براہ راست راسبیری پائی میں پروگرام لکھ سکتے ہیں۔ راسبیری پائ پروگرامنگ کے بارے میں مزید معلومات حاصل کریں۔
اس پروگرام میں 0-4096 کی ڈیجیٹل ویلیو راسبیری پائی سے ایم سی پی 4725 میں آئی 2 سی بس کے ذریعہ بھیجی گئی ہے تاکہ 0 سے 5V تک کے مطابق آؤٹ پٹ وولٹیج تیار کیا جاسکے جس کی تصدیق ملٹی میٹر سے ہوسکتی ہے۔ ڈیجیٹل اور ینالاگ دونوں اقدار 16x2 LCD پر آویزاں ہیں۔ ہمارے پروگرام میں ڈیجیٹل قدر 150 کا اضافہ کا استعمال کرتے ہوئے کے ساتھ بھیجا جاتا ہے کے لئے لوپ (0،150،300،450… 4050). آئیے پروگرام تفصیل سے دیکھیں۔
پہلے تمام مطلوبہ کتب خانوں کو شامل کریں۔ یہاں LCD ، MCP4725 اور وقت کی لائبریری استعمال کی جاتی ہے۔
درآمد کے وقت بطور LCD درآمد Adafruit_CharLCD درآمد کریں
اگلے نمبر کے ساتھ ساتھ LCD پنوں کی بھی وضاحت کریں۔ قطار اور کالموں کا۔ ہم جانتے ہیں کہ 16 ایکس 2 LCD میں 2 قطاریں اور 16 کالم ہیں۔ راسبیری پائی کے ساتھ LCD میں مداخلت کرنے کے بارے میں مزید معلومات حاصل کریں۔
lcd_rs = 25 lcd_en = 24 lcd_d4 = 23 lcd_d5 = 17 lcd_d6 = 18 lcd_d7 = 22 lcd_backlight = 4 # 16x2 LCD کے لئے LCD کالم اور قطار سائز کی وضاحت کریں۔ lcd_collines = 16 lcd_rows = 2 lcd = LCD.Adaf پھلوں_CharLCD (lcd_rs، lcd_en، lcd_d4، lcd_d5، lcd_d6، lcd_d7، lcd_collines، lcd_rows، lcd_backlight)
اگلے پانچ سیکنڈ کے لئے LCD پر کچھ استقبالیہ پیغام ڈسپلے کریں۔
lcd.message ('سرکٹ ڈائجسٹ') ٹائم سلیپ (2.0) lcd.message ('p nDAC Rpi کا استعمال کرتے ہوئے') ٹائم۔نسل (5.0) lcd.clear ()
اگلی لائن میں ، ایک DAC مثال MCP4725 DAC IC کے I2C پتے کے ساتھ تیار کی گئی ہے۔ میرے بورڈ کا پتہ 0x60 ہے ، اسے اپنے بورڈ کے مطابق تبدیل کریں۔
dac = Adaf فرو_MCP4725.MCP4725 (پتہ = 0x60)
اگلی A کے لئے لوپ کا استعمال اندر سے کیا جاتا ہے جبکہ لوپ کو ڈیجیٹل ویلیو ایکس کو تبدیل کرنے کے لئے جو I2C بس کے ذریعہ MCP4725 کو بھیجا جاتا ہے۔ کے لئے لوپ کی حد ہے (0،4095،150). ایکس ویلیو 0 سے 4050 تک مختلف ہوتی ہے جس میں 150 کے اضافے ہوتے ہیں۔
جبکہ سچ ہے: x میں حد (0،4097،150):
ڈیجیٹل ویلیو ایم سی پی 4725 کو مندرجہ ذیل لائن کا استعمال کرتے ہوئے بھیجا جاتا ہے
dac.set_voltage (x)
ڈیجیٹل ویلیو پر انحصار کرتے ہوئے ینالاگ ویلیو کا اندازہ اس فارمولے کے ذریعے کیا جاتا ہے جہاں 5 ریفرنس وولٹیج ہے اور ایکس ڈیجیٹل ویلیو ہے۔
وولٹیج = x / 4096.0 * 5.0
پھر مندرجہ ذیل لائنوں کا استعمال کرتے ہوئے 2 سیکنڈ کی تاخیر کے ساتھ LCD پر ڈیجیٹل ویلیو اور ینالاگ ویلیو دکھائی جاتی ہے
lcd.cursor_pos = (0،0) lcd.message ("DAC ویلیو:" + str (x)) lcd.message ("\ nAnologVolt:٪.2f"٪ voltage) time.slip (2)
یہاں ڈیجیٹل ویلیو پہلی قطار میں دکھائی دیتی ہے اور LCD ڈسپلے کی دوسری قطار میں ینالاگ ویلیو۔ ینالاگ وولٹیج کی تصدیق کے ل to ایک ملٹی میٹر ایم سی پی 4725 آؤٹ پٹ پن سے بھی منسلک ہے۔
مظاہرے ویڈیو کے ساتھ مکمل کوڈ ذیل میں دیا گیا ہے۔