- ایف ایم ریڈیو جنرل ورکنگ
- ضروری اجزاء
- RDA5807 وصول کنندہ
- آڈیو یمپلیفائر
- اردوینو ایف ایم وصول کرنے والا سرکٹ ڈایاگرام
- ارڈینوو ایف ایم ریڈیو کوڈ کی وضاحت
- اردوینو ایف ایم ریڈیو کا کام کرنا
آج تقریبا everyone ہر شخص اپنے موبائل فون کو موسیقی ، خبریں ، پوڈکاسٹ وغیرہ سننے کے لئے استعمال کرتا ہے لیکن کچھ عرصہ قبل ہم سب تازہ ترین خبروں اور گانوں کو حاصل کرنے کے لئے مقامی ایف ایم ریڈیو پر منحصر تھے ، آہستہ آہستہ یہ ریڈیو مقبولیت کھو رہے ہیں لیکن ہنگامی صورتحال میں جب انٹرنیٹ نیچے ہے ، ریڈیو صارفین کو معلومات منتقل کرنے میں ایک اہم کردار ادا کرتے ہیں۔ ریڈیو سگنل ہمیشہ ہوا میں موجود رہتے ہیں (جو اسٹیشنوں کے ذریعہ نشر ہوتے ہیں) ، اور ہمیں ان تمام ریڈیو سگنلوں کو پکڑنے اور آڈیو سگنل میں منتقل کرنے کے لئے ایف ایم وصول کرنے والا سرکٹ کی ضرورت ہے ۔ ہمارے پچھلے سبق میں ، ہم نے کچھ دیگر ایف ایم ٹرانسمیٹر اور وصول کنندگان بھی بنائے جو ذیل میں درج ہیں۔
- راسبیری پی ایف ایف ٹرانسمیٹر
- راسبیری پی ایف ایف وصول کنندہ ریڈیو
- ایف ایم ٹرانسمیٹر سرکٹ
- انڈکٹور کے بغیر ایف ایم ٹرانسمیٹر سرکٹ
اس ٹیوٹوریل میں ہم ایک آرڈینوو ایف ایم وصول کرنے والے کی تعمیر کرنے جارہے ہیں ، اور اسے اپنے پروجیکٹ ہتھیاروں میں شامل کریں گے۔ ہم آر ڈی اے 5807 ایف ایم وصول کرنے والے آئی سی کو ارڈینو کے ساتھ استعمال کریں گے اور اس کا پروگرام بنائیں گے ، ایسا کوئی ایف ایم ریڈیو اسٹیشن چلائیں جس کو صارف پوٹینومیٹر کی مدد سے دیکھائے ۔ ہم اپنے آریڈینو ایف ایم ریڈیو کے آؤٹ پٹ حجم کو کنٹرول کرنے کے لئے سرکٹ کے ساتھ آڈیو یمپلیفائر بھی استعمال کریں گے ، دلچسپ بات ہے؟ تو ، آئیے شروع کریں۔
ایف ایم ریڈیو جنرل ورکنگ
ریڈیو اسٹیشن بجلی کے سگنل کو ریڈیو سگنل میں تبدیل کرتے ہیں ، اور اینٹینا کے ذریعے منتقل ہونے سے پہلے ان اشاروں کو ماڈیول کیا جانا چاہئے۔ یہاں دو طریقے ہیں جن میں AM اور FM کے ذریعہ سگنل وضع کیا جاسکتا ہے۔ جیسا کہ نام سے ظاہر ہوتا ہے ، طول و عرض ماڈیولیشن (اے ایم) سگنل منتقل کرنے سے پہلے طول و عرض کو گھڑاتا ہے جبکہ ، فریکوئنسی ماڈیولیشن (ایف ایم) میں ، اینٹینا کے ذریعے منتقل ہونے سے پہلے سگنل کی فریکوئینسی موڈولیٹ کی جاتی ہے۔ ریڈیو اسٹیشنوں پر ، وہ سگنل کو ماڈیول کرنے اور پھر ڈیٹا منتقل کرنے کے لئے فریکوئنسی ماڈیول کا استعمال کرتے ہیں۔ اب ، ہمیں صرف ایک رسیور بنانے کی ضرورت ہے جو کچھ تعددوں کے مطابق بنائی جاسکتی ہے ، اور ان اشاروں کو موصول ہوتی ہے ، اور بعد میں ان بجلی کے اشاروں کو آڈیو سگنل میں تبدیل کرنے کے لئے۔ ہم استعمال کرنے کے لئے جا رہے ہیںاس منصوبے میں آر ڈی اے 5807 ایف ایم وصول کنندہ ماڈیول ، جو ہمارے سرکٹ کو آسان بنا دیتا ہے۔
ضروری اجزاء
- اردوینو نینو
- RDA5807 وصول کنندہ
- آڈیو یمپلیفائر
- مربوط تاروں
- برتن - 100K
- کامل بورڈ
RDA5807 وصول کنندہ
آر ڈی اے 5807 ایک سنگل چپ ایف ایم سٹیریو ریڈیو ٹونر ماڈیول ہے جس میں مکمل طور پر مربوط ترکیب ساز ہے ۔ ماڈیول 50 - 115MHz ، حجم کنٹرول اور گونگا ، پروگرام قابل ڈی-زور (50 / 75us) کے دنیا بھر میں فریکوینسی بینڈ کی حمایت کرتا ہے ، سگنل کی طاقت کا اشارے اور SNR ، 32.768KHz کرسٹل oscillator ، ڈیجیٹل آٹو حاصل کنٹرول ، وغیرہ حاصل کرتا ہے۔ آر ڈی اے 5807 ایم ٹونر کا بلاک ڈایاگرام ۔
اس میں ڈیجیٹل کم IF فن تعمیر ہے اور ایک کم شور یمپلیفائر (LNA) کو ضم کرتا ہے ، جو ایف ایم براڈکاسٹ بینڈ (50 سے 115 میگاہرٹز) ، ایک پروگرام قابل حصول کنٹرول (PGA) ، ایک اعلی ریزولوشن ینالاگ سے ڈیجیٹل کنورٹر ، اور ایک اعلی مخلص ڈیجیٹل سے ینالاگ کنورٹرز (ڈی اے سی)۔ اس حد کو زیادہ سے زیادہ بوجھ سے روکتا ہے اور ملحقہ چینلز کے ذریعہ تیار کردہ انٹرموڈولیشن مصنوعات کی تعداد کو محدود کرتا ہے۔ پی جی اے مکسر آؤٹ پٹ سگنل کو بڑھا دیتا ہے اور پھر ADCs کے ساتھ ڈیجیٹائزڈ ہوتا ہے۔ ڈی ایس پی کور چینل سلیکشن ، ایف ایم ڈیمودولیشن ، سٹیریو ایم پی ایکس ڈیکوڈر ، اور آؤٹ پٹ آڈیو سگنل کا انتظام کرتا ہے۔ آایسی کے لئے آر ڈی اے 5807 پن آؤٹ آریگرام ذیل میں دیا گیا ہے۔
ماڈیول 1.8 - 3.3V کی بجلی کی فراہمی پر کام کرتا ہے ۔ جب آرام اور کنٹرول انٹرفیس کا انتخاب کیا جاتا ہے تو ، ماڈیول خود کو دوبارہ سیٹ کرتا ہے جب VIO پاور اپ ہوتا ہے ، اور 02H پتے کے 0 سے 1 تک بٹ 1 کے محرک کے ذریعہ نرم دوبارہ ترتیب دینے کی بھی حمایت کرتا ہے۔ ماڈیول ایم سی یو کے ساتھ بات چیت کرنے کے لئے آئی 2 سی مواصلات کا استعمال کرتا ہے ، اور انٹرفیس شروعاتی حالت ، کمانڈ بائٹ ، اور ڈیٹا بائٹس کے ساتھ شروع ہوتا ہے۔ آر ڈی اے 5807 میں 13 16 بٹ رجسٹر ہیں ، ہر ایک خاص کام انجام دیتا ہے۔ رجسٹر ایڈریسز کا آغاز 00H سے ہوتا ہے ، جو چپ ID کے لئے مختص کیا جاتا ہے اور 0FH کے ساتھ ختم ہوتا ہے۔ تمام 13 رجسٹروں میں ، کچھ بٹس محفوظ ہیں جبکہ کچھ R / W ہیں۔ ہر رجسٹر مختلف حجم ، چینلز کو تبدیل کرنا ، جیسے ان کو تفویض کردہ بٹس پر منحصر ہوتا ہے جیسے کام انجام دیتا ہے۔
ہم ماڈیول کو کسی سرکٹ سے مربوط کرتے وقت براہ راست استعمال نہیں کرسکتے ہیں کیونکہ پنوں کے ذریعہ بند ہوجاتے ہیں۔ لہذا ، میں نے ایک پرف بورڈ اور کچھ مرد پنوں کا استعمال کیا ہے اور ماڈیول کے ہر پن کو ہر مرد پن پر سولڈرڈ کیا ہے جیسا کہ ذیل کی تصویر میں دکھایا گیا ہے۔
آڈیو یمپلیفائر
آڈیو یمپلیفائر ایک الیکٹرانک ڈیوائس ہے ، جو کم طاقت والے الیکٹرانک آڈیو سگنل کو اس سطح تک بڑھاتا ہے جہاں لاؤڈ اسپیکر یا ہیڈ فون چلانے کے ل it یہ زیادہ ہوتا ہے۔ ہم نے LM386 کا استعمال کرتے ہوئے ایک سادہ آڈیو یمپلیفائر بنایا ہے ، اس کے لئے سرکٹ ذیل میں دکھایا گیا ہے اور آپ اس سرکٹ کے بارے میں مزید معلومات کے ل the لنک کو بھی چیک کرسکتے ہیں ، دیگر آڈیو یمپلیفائر سرکٹس کو بھی دیکھ سکتے ہیں۔
اردوینو ایف ایم وصول کرنے والا سرکٹ ڈایاگرام
ہم نے ایف ایم بینڈ کو ٹیون کرنے اور آڈیو یمپلیفائر کے حجم کو کنٹرول کرنے کے لئے دو پوٹینومیٹر استعمال کیے ۔ حجم کو تبدیل کرنے کے ل you آپ یا تو برتن میں مختلف ہوسکتے ہیں ، جو LM386 کے 1 اور 8 ویں پن کے درمیان یا برتن ، جو LM386 کے پن 3 پر جڑا ہوا ہے میں جڑا ہوا ہے۔ مندرجہ ذیل تصویر میں ارڈینو ایف ایم ریڈیو کے لئے مکمل سرکٹ ڈایاگرام دکھایا گیا ہے ۔
میں نے یمپلیفائر میں بہت کم تبدیلیاں کیں۔ یمپلیفائر میں دو پوٹینومیٹر استعمال کرنے کے بجائے ، میں نے صرف ایک ہی استعمال کیا۔ میں نے برتن کا تبادلہ کیا ، جو گیس کو تبدیل کرنے کے لئے استعمال کیا جاتا ہے ، ایک ریزسٹر کے ساتھ۔ لہذا اب ہمارے منصوبے میں دو صلاحیت رکھنے والے افراد میں سے ایک ہے ، اور ایک حجم کو تبدیل کرنا ہے۔ پینٹومیومیٹر ، جو چینل کو ٹیون کرنے کے لئے استعمال ہوتا ہے وہ ارڈینو نینو کے ساتھ جڑا ہوا ہے۔ برتن کا سینٹر پن ارڈینو نینو کے A0 پن سے منسلک ہوتا ہے ، اور باقی دو پنوں میں سے کوئی 5V سے منسلک ہوتا ہے اور دوسرا جی این ڈی سے منسلک ہوتا ہے۔ ایک اور برتن ریڈیو کے حجم کو کنٹرول کرنے کے لئے استعمال ہوتا ہے اور جیسا کہ مذکورہ انجیر میں دکھایا گیا ہے۔
آرڈینوو کا پن A4 اور A5 RDA5807M کے ایس ڈی اے اور ایس سی ایل پن سے جڑا ہوا ہے۔ یاد رکھیں کہ وصول کنندہ ماڈیول صرف 3.3V پر کام کرتا ہے۔ لہذا ، نینو کے 3v3 پن کو وصول کنندہ ماڈیول کے وی سی سی پن سے مربوط کریں۔ ایک بار جب رابطے ہوجائے تو میرا سیٹ اپ اس طرح نظر آتا تھا
ارڈینوو ایف ایم ریڈیو کوڈ کی وضاحت
کوڈ وصول کنندہ ماڈیول کا آغاز کرے گا اور پھر پیش سیٹ تعدد کے ساتھ چینل کا تعین کرتا ہے۔ جب A0 پن میں نینو کے ذریعہ پڑھی جانے والی قدر تبدیل ہوجاتی ہے (برتن تبدیل کرکے) تعدد بدل جاتا ہے جس کے نتیجے میں چینل تبدیل ہوجاتا ہے۔ مکمل کوڈ صفحے کے آخر میں دیا گیا ہے۔
ہم آر ڈی اے 5807 کے ساتھ بات چیت کے لئے مطلوبہ تار لائبریری شامل کرکے اپنے پروگرام کا آغاز کرتے ہیں۔ پھر ، متغیر "چینل" میں ہم نے چینل کی قیمت مقرر کی۔ جب بھی ریڈیو شروع ہوگا یہ خود بخود اس چینل کے ساتھ مل جائے گا۔
# شامل کریں
اگلا ، ہم اپنی ابتدائی تشکیل ترتیب دینے کے لئے اپنے RDA5807 IC پر ہر رجسٹر کے بائٹس لوڈ کریں گے۔ اس مقام پر ، ہم وصول کنندہ کو دوبارہ ترتیب دے رہے ہیں۔
uint8_t بوٹ_کونفیگ = {/ * رجسٹر 0x02 * / 0b11000001 ، 0b00000011 ، / * رجسٹر 0x03 * / 0b00000000 ، 0b00000000 ، / * رجسٹر 0x04 * / 0b00001010 ، 0b00000000 ، / * رجسٹر 0x05 * / 0b10001 0b00000000 ، 0b00000000 ، / * رجسٹر 0x07 * / 0b01000010 ، 0b00000010 ،}؛
ہمارے آلے کو دوبارہ ترتیب دینے کے بعد ، ہم آلہ کو ٹیون کرسکتے ہیں۔ چینل کو ٹن کرنے کے لئے ہمیں صرف پہلے 4 بائٹس کو پروگرام کرنے کی ضرورت ہے۔ کوڈ کا یہ حصہ چینل کو مطلوبہ تعدد میں بدل دے گا۔ I2C میں پہلے ، ہم ٹرانسمیشن شروع کرتے ہیں ، ڈیٹا لکھتے یا پڑھتے ہیں اور پھر ٹرانسمیشن ختم کرتے ہیں۔ اس رسیور آئی سی میں ، ہمیں پتے کی وضاحت کرنے کی ضرورت نہیں ہے کیونکہ ڈیٹاشیٹ میں واضح طور پر کہا گیا ہے کہ I2C انٹرفیس میں لکھنے کے عمل کے لئے 0x02h ، اور پڑھنے کے آپریشن کے لئے 0x0Ah کی ایک فکسڈ اسٹارٹ رجسٹر ہوتا ہے۔
uint8_t tune_config = {/ * رجسٹر 0x02 * / 0b11000000، 0b00000001، / * رجسٹر 0x03 * / (چینل >> 2)، ((چینل & 0b11) << 6) - 0b00010000}؛
سیٹ اپ میں ، ہم بوٹ کنفیگریشن (ری سیٹ) کو شروع کرتے ہیں اور پھر آر ڈی اے 5807 ایم پر ٹیوننگ بائٹ لکھ کر کسی چینل کا رخ کرتے ہیں۔
باطل سیٹ اپ () {سیریل.بیگین (9600)؛ پن موڈ (A0، INPUT)؛ / * آر ڈی اے 5807 ایم ایف ایم ٹونر سے مقابلہ کریں: * / Wire.begin ()؛ Wire.beginTransmission (RDA5807M_ADDRESS)؛ وائر ڈاٹ رائٹ (بوٹ_کونفگ ، BOOT_CONFIG_LEN)؛ Wire.endTransmission ()؛ Wire.beginTransmission (RDA5807M_ADDRESS)؛ وائر ڈاٹ رائٹ (tune_config، TUNE_CONFIG_LEN)؛ Wire.endTransmission ()؛ }
جب فریکوئنسی میں ٹیوننگ کے لئے برتن کا استعمال کرتے ہو تو مجھے ایک پریشانی کا سامنا کرنا پڑا تھا۔ وہ قدریں جو A0 پن کے ذریعہ پڑھی جاتی ہیں مستقل نہیں ہوتی ہیں۔ مطلوبہ قیمت کے ساتھ ایک شور بند ہے۔ میں نے A0 ، اور GND کے درمیان منسلک 0.1uF سیرامک کاپاکیسیٹر استعمال کیا ، اگرچہ شور کم ہو گیا ، یہ مطلوبہ سطح تک نہیں ہے۔ تو ، مجھے کوڈ میں کچھ تبدیلیاں کرنا پڑی۔ پہلے ، میں نے پڑھنے کو نوٹ کیا جو شور سے متاثر ہوتے ہیں۔ مجھے معلوم ہوا کہ شور کی زیادہ سے زیادہ قیمت 10 ہے۔ لہذا میں نے پروگرام کو اس طرح لکھا ہے کہ ، یہ صرف اس کی نئی قیمت پر غور کرے گا جب نئی قیمت اور اسی پن کی پرانی قیمت کے درمیان فرق 10 سے زیادہ ہو اور پھر مطلوبہ چینل پر دھنیں ڈالیں۔
باطل لوپ () {انٹیل چینل 1 = 187 ، اوسط = 0 ، نیو اے؛ جامد int پرانی = 0؛ int نتیجہ = 0؛ newA = ینالاگ ریڈ (A0)؛ اگر ((newA - oldA)> 10 - (oldA - newA)> 10) ial Serial.println (newA)؛ if (newA! = oldA) {چینل = چینل 1 + (newA / 10)؛ myChangeChannel (چینل)؛ oldA = newA؛ }}} // لوپ اختتام
اس فنکشن کو tune_config صف کے بائٹس سیٹ کرنے کے لئے استعمال کیا جاتا ہے اور پھر I2C پروٹوکول کا استعمال کرتے ہوئے ڈیٹا کو RDA5807M IC میں منتقل کرتا ہے۔
باطل myChangeChannel (INT چینل) {/ * باطل اگر کچھ واپس نہیں کیا جاتا ہے تو IN * / tune_config = (چینل >> 2)؛ tune_config = ((چینل & 0b11) << 6) - 0b00010000؛ تار.بیگین ()؛ Wire.beginTransmission (RDA5807M_ADDRESS)؛ وائر ڈاٹ رائٹ (tune_config، TUNE_CONFIG_LEN)؛ Wire.endTransmission ()؛ }
اردوینو ایف ایم ریڈیو کا کام کرنا
جب ماڈیول طاقت حاصل ہوتا ہے ، تو ہمارا کوڈ RDA5807-M IC کو دوبارہ ترتیب دیتا ہے اور اسے مطلوبہ صارف کے چینل پر سیٹ کرتا ہے (نوٹ: یہ تعدد بنیادی تعدد کے طور پر لیا جاتا ہے جس پر تعدد میں اضافہ ہوگا)۔ پوٹینومیٹر (A0 سے جڑا ہوا) تبدیل کرکے ، اردوینو نینو کے ذریعہ پڑھی جانے والی قدریں بدل جاتی ہیں۔ اگر نئی اور پرانی قدر کے درمیان فرق 10 سے زیادہ ہے تو ہمارا کوڈ اس نئی قدر پر غور کرے گا۔ پرانی قدر سے نئی قدر میں تبدیلی کے لحاظ سے چینل تبدیل کیا گیا ہے۔ حجم میں اضافہ یا کمی کا انحصار پوٹینومیٹر پر ہے ، جو پن 3 اور GND کے درمیان جڑا ہوا ہے۔
تعمیر اور کوڈنگ کے اختتام پر ، آپ کا اپنا ایف ایم ریڈیو ہوگا۔ ایف ایم ریڈیو کا مکمل کام اس صفحے کے نیچے منسلک ویڈیو میں پایا جاسکتا ہے ۔ امید ہے کہ آپ نے اس پروجیکٹ سے لطف اندوز ہوکر کچھ مفید سیکھا ہو اگر آپ کو اس پروجیکٹ کے کام کرنے میں کوئی سوالات ہیں تو آپ ان کو کمنٹ سیکشن میں چھوڑ سکتے ہیں یا دیگر تکنیکی مدد کے لئے ہمارے فورمز استعمال کرسکتے ہیں۔