- MCP4725 DAC ماڈیول (ینالاگ کنورٹر ڈیجیٹل)
- ایم سی پی 4725 ڈی اے سی میں آئی 2 سی مواصلات
- ضروری اجزاء
- سرکٹ ڈایاگرام
- ڈی اے آر ارڈینو پروگرامنگ
- ایم سی پی 4725 اور ارڈینو کا استعمال کرتے ہوئے ڈیجیٹل ٹو ینالاگ تبادلوں
ہم سب جانتے ہیں کہ مائیکروکنٹرولر صرف ڈیجیٹل اقدار کے ساتھ کام کرتے ہیں لیکن حقیقی دنیا میں ہمیں ینالاگ سگنلز سے نمٹنا ہے۔ اسی وجہ سے اے ڈی سی (ینالاگ سے ڈیجیٹل کنورٹرز) حقیقی دنیا کے ینالاگ قدروں کو ڈیجیٹل شکل میں تبدیل کرنے کے لئے موجود ہے تاکہ مائکروکانٹرولر سگنل پر کارروائی کرسکیں۔ لیکن کیا ہوگا اگر ہمیں ڈیجیٹل اقدار سے اینالاگ سگنل کی ضرورت ہو ، تو یہاں ڈی اے سی (ڈیجیٹل ٹو ینالاگ کنورٹر) آتا ہے ۔
ڈیجیٹل ٹو اینالاگ کنورٹر کی ایک آسان مثال اسٹوڈیو میں ایک گانا ریکارڈ کرنا ہے جہاں ایک فنکار گلوکار مائکروفون استعمال کررہا ہے اور گانا گا رہا ہے۔ یہ ینالاگ آواز کی لہریں ڈیجیٹل شکل میں تبدیل ہو جاتی ہیں اور پھر ڈیجیٹل فارمیٹ فائل میں اسٹور ہوتی ہیں اور جب اسٹور ڈیجیٹل فائل کا استعمال کرتے ہوئے گانا چلایا جاتا ہے تو ڈیجیٹل ویلیو اسپیکر آؤٹ پٹ کے لئے ینالاگ سگنل میں تبدیل ہوجاتی ہیں۔ تو اس سسٹم میں ڈی اے سی استعمال ہوتا ہے۔
ڈی اے سی بہت سے ایپلی کیشنز میں استعمال کیا جاسکتا ہے جیسے موٹر کنٹرول ، ایل ای ڈی لائٹس کی کنٹرول چمک ، آڈیو یمپلیفائر ، ویڈیو انکوڈرز ، ڈیٹا حصول سسٹم وغیرہ۔
بہت سے مائکروکانٹرولرز میں ایک داخلی ڈی اے سی موجود ہے جسے ینالاگ آؤٹ پٹ تیار کرنے کے لئے استعمال کیا جاسکتا ہے۔ لیکن اریڈوینو پروسیسرز جیسے ATmega328 / ATmega168 میں DAC انبیلٹ نہیں ہے۔ ارڈینو میں اے ڈی سی کی خصوصیت ہے (ینالاگ سے ڈیجیٹل کنورٹر) لیکن اس میں کوئی ڈی اے سی (ڈیجیٹل ٹو اینالاگ کنورٹر) نہیں ہے۔ اندرونی اے ڈی سی میں اس میں 10 بٹ کا ڈی اے سی ہے لیکن اس ڈی اے سی کو اسٹینڈ اسٹون کے طور پر استعمال نہیں کیا جاسکتا ہے۔ تو یہاں اس اردوینو ڈی اے سی ٹیوٹوریل میں ، ہم ایک اضافی بورڈ کا استعمال کرتے ہیں جس کو MCP4725 DAC Module کہتے ہیں Ardino کے ساتھ۔
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 |
ایم سی پی 4725 ڈی اے سی میں آئی 2 سی مواصلات
اس ڈی اے سی کو آئی 2 سی مواصلات کا استعمال کرتے ہوئے کسی بھی مائکرو قابو پانے والے کے ساتھ انٹرفیس کیا جاسکتا ہے۔ I2C مواصلت میں صرف دو تاروں ایس سی ایل اور ایس ڈی اے کی ضرورت ہے۔ ڈیفالٹ کے لحاظ سے ، MCP4725 کیلئے I2C ایڈریس 0x60 یا 0x61 یا 0x62 ہے۔ میرے لئے اس کا 0x61۔ I2C بس کا استعمال کرتے ہوئے ہم متعدد MCP4725 DAC IC کو مربوط کرسکتے ہیں۔ ہمیں صرف آئی سی کا I2C ایڈریس تبدیل کرنے کی ضرورت ہے۔ ارڈینو میں I2C مواصلات کی وضاحت پہلے ہی پچھلے سبق میں کی گئی ہے۔
اس ٹیوٹوریل میں ہم ACPino25 DAC IC کو Ardino Uno کے ساتھ مربوط کریں گے اور A potinoometer کا استعمال کرکے Ardino pin A0 کو ینالاگ ان پٹ ویلیو فراہم کریں گے۔ پھر اے ڈی سی کا استعمال ینالاگ قدر کو ڈیجیٹل شکل میں تبدیل کرنے کے لئے کیا جائے گا۔ اس کے بعد وہ ڈیجیٹل ویلیوز MCP4725 کو I2C بس کے ذریعے بھیجے جاتے ہیں تاکہ DAC MCP4725 IC کا استعمال کرتے ہوئے ینالاگ سگنل میں تبدیل کیا جاسکے۔ ارڈینو پن اے 1 کو پن سے آؤٹ سے ایم سی پی 4725 کے ینالاگ آؤٹ پٹ کی جانچ کرنے کے لئے استعمال کیا جاتا ہے اور آخر میں دونوں اے ڈی سی اور ڈی اے سی کی اقدار اور وولٹیج کو 16x2 LCD ڈسپلے میں ظاہر کریں۔
ضروری اجزاء
- اردوینو نینو / اردوینو یونو
- 16x2 LCD ڈسپلے ماڈیول
- MCP4725 DAC IC
- 10 ک پوٹینومیٹر
- بریڈ بورڈ
- جمپر تاروں
سرکٹ ڈایاگرام
ٹیبل کے نیچے ایم سی پی 4725 ڈی اے سی آسی ، ارڈینو نینو اور ملٹی میٹر کے درمیان تعلق دکھاتا ہے
ایم سی پی 4725 |
اردوینو نینو |
ملٹی میٹر |
ایس ڈی اے |
A4 |
این سی |
ایس سی ایل |
A5 |
این سی |
A0 یا آؤٹ |
A1 |
+ ve ٹرمینل |
GND |
GND |
-ٹرمینل |
وی سی سی |
5V |
این سی |
16x2 LCD اور ارڈینو نینو کے درمیان رابطہ
LCD 16x2 |
اردوینو نینو |
وی ایس ایس |
GND |
وی ڈی ڈی |
+ 5 وی |
V0 |
LCD کے برعکس کو ایڈجسٹ کرنے کے لئے پوٹینومیٹر سینٹر پن سے |
RS |
ڈی 2 |
آر ڈبلیو |
GND |
ای |
ڈی 3 |
ڈی 4 |
ڈی 4 |
ڈی 5 |
ڈی 5 |
ڈی 6 |
ڈی 6 |
ڈی 7 |
ڈی 7 |
A |
+ 5 وی |
K |
GND |
ایک پوٹینومیٹر کا استعمال سینٹر پن کے ساتھ کیا جاتا ہے جس میں ارڈینو نینو کے A0 ینالاگ ان پٹ سے منسلک کیا جاتا ہے ، GND سے جڑا ہوا بائیں پن اور Ardino کے 5V سے جڑا ہوا دائیں طرف کا پن۔
ڈی اے آر ارڈینو پروگرامنگ
ڈی اے سی ٹیوٹوریل کے لئے مکمل آرڈینو کوڈ ایک مظاہرے کی ویڈیو کے ساتھ آخر میں دیا گیا ہے ۔ یہاں ہم نے لائن کوڈ لائن کی وضاحت کی ہے۔
سب سے پہلے ، IWC اور LCD کے ل wire لائبریری شامل کریں۔
# شامل کریں
اگلی LCD پنوں کی وضاحت اور ابتدا ان پنوں کے مطابق کریں جو ہم نے ارڈینوو نینو کے ساتھ منسلک کیا ہے
لیکویڈ کرسٹل ایل سی ڈی (2،3،4،5،6،7)؛ // LCD ڈسپلے پنوں کی وضاحت کریں RS، E، D4، D5، D6، D7
اگلا ایم سی پی 4725 ڈی اے سی کے آئی 2 سی ایڈریس کی وضاحت کریں
# وضاحتی MCP4725 0x61
باطل سیٹ اپ میں ()
پہلے ارڈینو نینو کے پن A4 (SDA) اور A5 (SCL) پر I2C مواصلات کا آغاز کریں
تار.بیگین ()؛ // I2C مواصلات کا آغاز ہوتا ہے
اگلا 16x2 وضع میں LCD ڈسپلے مرتب کریں اور ایک خوش آئند پیغام ڈسپلے کریں۔
lcd.begin (16،2)؛ // ایل سی ڈی کو 16 ایکس 2 موڈ میں سیٹ کریں lcd.print ("سرکٹ ڈائجسٹ")؛ تاخیر (1000)؛ lcd.clear ()؛ lcd.setCursor (0،0)؛ lcd.print ("ارڈینو")؛ lcd.setCursor (0،1)؛ lcd.print ("MCP4725 کے ساتھ ڈی اے سی")؛ تاخیر (2000)؛ lcd.clear ()؛
باطل لوپ میں ()
1. پہلے بفر میں کنٹرول بائٹ ویلیو ڈالیں (0b01000000)
(رائٹ موڈ میں 010-سیٹ MCP4725)
بفر = 0b01000000؛
2. مندرجہ ذیل بیان پن A0 سے ینالاگ قدر پڑھتا ہے اور اسے ڈیجیٹل اقدار (0-1023) میں تبدیل کرتا ہے۔ ارڈینوو اے ڈی سی 10 بٹ ریزولوشن ہے لہذا اسے 4 دے دیتا ہے: 0-4096 سے ضرب دیں ، کیونکہ ڈی اے سی 12 بٹ ریزولوشن ہے۔
adc = analogRead (A0) * 4؛
3. یہ بیان اے ڈی سی ان پٹ ویلیو (0 سے 4096) سے وولٹیج اور 5V بطور حوالہ وولٹیج تلاش کرنا ہے
فلوٹ آئی پیولٹ = (5.0 / 4096.0) * adc؛
first. پہلی سطر کے نیچے اے ڈی سی متغیر میں b بٹس دائیں سے دائیں منتقل کرکے بفر میں سب سے اہم بٹ اقدار رکھتا ہے ، اور دوسری لائن اے ڈی سی متغیر میں b بٹس بائیں منتقل کرکے بفر میں کم سے کم اہم بٹ اقدار رکھتی ہے۔
بفر = اڈک >> 4؛ بفر = اڈک << 4؛
5. مندرجہ ذیل بیان میں A1 سے ینالاگ وولٹیج پڑھا گیا ہے جو DAC آؤٹ پٹ ہے (MCP4725 DAC IC کا OUTPUT پن)۔ آؤٹ پٹ وولٹیج کی جانچ پڑتال کے ل This اس پن کو ملٹی میٹر سے بھی منسلک کیا جاسکتا ہے۔ یہاں ملٹی میٹر استعمال کرنے کا طریقہ سیکھیں۔
بغیر دستخط شدہ اینالاگریڈ = اینالاگ ریڈ (A1) * 4؛
6. مزید یہ کہ متغیر ینالاگریڈ سے وولٹیج کی قیمت نیچے دیئے جانے والے فارمولے کا استعمال کرکے شمار کی جاتی ہے
فلوٹ اوپولٹ = (5.0 / 4096.0) * ینالاگ
7. مندرجہ ذیل بیان کا استعمال MCP4725 سے ٹرانسمیشن شروع کرنے کے لئے کیا جاتا ہے
وائر.بیگین ٹرانسمیشن (ایم سی پی 4725)؛
کنٹرول بائٹ I2C کو بھیجتا ہے
وائر ڈاٹ رائٹ (بفر)؛
ایم ایس بی کو آئی 2 سی بھیجتا ہے
وائر ڈاٹ رائٹ (بفر)؛
LSB کو I2C بھیجتا ہے
وائر ڈاٹ رائٹ (بفر)؛
ٹرانسمیشن ختم ہوتا ہے
Wire.endTransmission ()؛
اب آخر میں ان نتائج کو lcd.print () کا استعمال کرتے ہوئے LCD 16x2 ڈسپلے میں ڈسپلے کریں۔
lcd.setCursor (0،0)؛ lcd.print ("A IP:")؛ lcd.print (adc)؛ lcd.setCursor (10،0)؛ lcd.print ("V:")؛ lcd.print (ipvolt)؛ lcd.setCursor (0،1)؛ lcd.print ("D OP:")؛ lcd.print (ینالاگ ریڈ)؛ lcd.setCursor (10،1)؛ lcd.print ("V:")؛ lcd.print (اوپولٹ)؛ تاخیر (500)؛ lcd.clear ()؛
ایم سی پی 4725 اور ارڈینو کا استعمال کرتے ہوئے ڈیجیٹل ٹو ینالاگ تبادلوں
سرکٹ کے سبھی کنکشن مکمل کرنے کے بعد اور کوڈ کو ارڈینو میں اپلوڈ کریں ، پوٹینومیومیٹر کو مختلف کریں اور ایل سی ڈی پر آؤٹ پٹ دیکھیں ۔ LCD کی پہلی لائن ان پٹ ADC ویلیو اور وولٹیج دکھائے گی ، اور دوسری لائن آؤٹ پٹ DAC ویلیو اور وولٹیج کو دکھائے گی۔
آپ ایم سی پی 4725 کے آؤٹ اور جی این ڈی پن سے ملٹی میٹر کو مربوط کرکے آؤٹ پٹ وولٹیج بھی چیک کرسکتے ہیں۔
اس طرح ہم ڈیرو ماڈیول MCP4725 کو ارڈینو کے ساتھ انٹرفیس کرکے ڈیجیٹل اقدار کو ینالاگ میں تبدیل کرسکتے ہیں ۔