ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

ام‌پی‌تری پلیر با آردوینو و ماژول DFPlayer

ابزار و گجت
۰ نظر
۴۷ نفر
کد ۳۰۰۰

یادت میاد قدیما چقدر ام‌پی‌تری پلیرها (MP3 Player) طرفدار داشتن؟ یه دستگاه کوچیک که کل دنیای موسیقیمون توش جا می‌شد. حالا چی می‌شه اگه بخوایم با دستای خودمون یکی از اونا رو بسازیم؟ تو این آموزش از آیسی‌مدار قراره یه موزیک‌پلیر جذاب، جمع‌وجور و کاملاً کاربردی بسازیم که هم ظاهر کلاسیک و باحالی داره و هم خودمون صفر تا صدش رو طراحی کردیم.


مغز متفکر این پروژه یه برد محبوب به اسم Arduino Uno است که قراره در کنار ماژول فوق‌العاده کاربردی DFPlayer Mini قرار بگیره. برای اینکه همه‌چیز حرفه‌ای‌تر بشه، یه نمایشگر OLED برای دیدن وضعیت آهنگ‌ها و یه روتاری انکودر (Rotary Encoder) برای کنترل ولوم و تعویض آهنگ‌ها هم بهش اضافه می‌کنیم. تازه نگران تامین برقش هم نباش، چون یه باتری داخلی قابل شارژ براش در نظر گرفتیم که بتونی راحت همه‌جا با خودت ببریش.


اگه تا حالا با ماژول‌های صوتی کار نکردی، این پروژه یه فرصت عالیه تا هم برنامه‌نویسی آردوینو رو تمرین کنی و هم یه وسیله واقعی و به‌دردبخور بسازی. پس قطعاتت رو آماده کن، هویه رو بزن به برق تا با هم بریم سراغ ساخت این ام‌پی‌تری پلیر دوست‌داشتنی!

قطعات موردنیاز

  • برد Arduino Uno
  • ماژول DFPlayer Mini
  • کارت حافظه microSD
  • روتاری انکودر (Rotary Encoder)
  • ماژول شارژ TP4056
  • مبدل تقویت ولتاژ DC-DC Boost
  • باتری 18650
  • اسپیکر کوچک
  • سیم‌های jumper
  • فیلامنت PLA
  • نرم‌افزار Cura Slicer
  • پرینتر سه‌بعدی
  • کابل برنامه‌نویسی USB
  • نرم‌افزار Arduino IDE
مرحله ۱

طراحی بدنه و پرینت سه‌بعدی

برای اینکه پروژه‌مون شبیه یه محصول واقعی و تجاری بشه، اول باید یه قاب یا بدنه براش طراحی کنیم. من برای این کار ابعاد قطعات رو اندازه گرفتم و یه طرح ساده اما شیک آماده کردم که حس همون ام‌پی‌تری پلیرهای کلاسیک رو بهمون می‌ده. این قاب کلا از چهار قطعه تشکیل شده.

قسمت پایه که قراره بردها روش سوار بشن رو با ضخامت 3 میلی‌متر در نظر گرفتم تا حسابی محکم باشه. روی دیواره‌های این پایه، سه تا شیار وجود داره؛ یکی برای پورت آردوینو، یکی برای دسترسی راحت به کارت حافظه ماژول DFPlayer و آخری هم برای قرار گرفتن کلید روشن و خاموش دستگاه.

درپوش بالایی هم جایگاه قرارگیری اسپیکر، ولوم انکودر و نمایشگر OLED ماست. برای پرینت این قطعات نیازی به تنظیمات پیچیده یا استفاده از ساپورت (Support) تو نرم‌افزار اسلایسر نداری. می‌تونی از فیلامنت PLA با رنگ‌های دلخواهت استفاده کنی تا ظاهر دستگاهت دقیقا باب میلت بشه.

پرینت قسمت پایه یه مقدار بیشتر زمان می‌بره، اما بقیه قطعات خیلی سریع آماده می‌شن. بعد از پرینت، بدنه کاملا آماده است تا قطعات الکترونیکی رو داخلش سوار کنیم.

برای زیباتر شدن کار، یه سرولوم مخصوص برای پتانسیومتر و یه قاب مستطیلی ظریف برای دور نمایشگر هم طراحی شده که نصبشون ظاهر نهایی دستگاه رو به شدت حرفه‌ای و تمیز می‌کنه.

اگر خودت مهارت طراحی سه‌بعدی رو داری می‌تونی این بدنه رو به سلیقه خودت تغییر بدی، اما اگر نه، اصلا نگران نباش؛ چون فایل‌های آماده پرینت کار رو برات راحت کردن. وقتی تمام قطعات با موفقیت پرینت شدن، اون‌ها رو تمیز کن و کنار بذار تا بریم سراغ بخش جذاب الکترونیک و برنامه‌نویسی آردوینو. یادت نره انتخاب رنگ‌های متضاد برای درپوش و پایه می‌تونه جلوه خیلی زیبایی به این گجت دست‌سازت بده.

مرحله ۲

مداربندی قطعات و آماده‌سازی کدها

شاید در نگاه اول مدار این پروژه کمی شلوغ به نظر برسه، اما اصلا نگران نباش چون قراره خیلی ساده بررسیش کنیم. مدار ما کلا دو بخش داره؛ بخش اول مربوط به ارتباط آردوینو با بقیه ماژول‌هاست و بخش دوم که تو مرحله بعد می‌بینیم، مربوط به تامین برقه. اول بریم سراغ ارتباطات اصلی: پین‌های تغذیه ماژول DFPlayer رو به 5 ولت و GND برد Arduino متصل کن.

برای ارتباط دیتا هم پین TX ماژول رو به پایه D10 و RX رو به پایه D11 آردوینو وصل می‌کنیم. سیم‌های اسپیکر هم که مشخصا به پین‌های خروجی صدای ماژول (مثل SPK1 و SPK2 یا همون S1 و S2) وصل می‌شن.

حالا نوبت نمایشگر OLED و روتاری انکودر (Rotary Encoder) می‌رسه. نمایشگر ما از پروتکل I2C استفاده می‌کنه، پس بعد از وصل کردن پایه‌های تغذیه‌اش به 5 ولت و زمین، پین SDA رو به A4 و SCL رو به A5 آردوینو وصل کن. برای انکودر هم علاوه بر پایه‌های تغذیه، پین CLK رو به D2، پین DT رو به D3 و پین مربوط به دکمه وسطش (SW) رو به پایه D4 متصل کن.

برای اینکه کار با سیم‌ها راحت‌تر بشه، حتما از سیم‌های رنگی استفاده کن تا موقع عیب‌یابی گیج نشی. برای اینکه ماژول بتونه آهنگ‌ها رو بخونه، یه نکته مهم هست: باید داخل کارت حافظه یه پوشه به اسم mp3 بسازی و اسم فایل‌های موزیک رو به ترتیب مثل 0001.mp3 و 0002.mp3 تغییر بدی. کد آردوینو دقیقا با همین فرمت فایل‌ها رو می‌خونه. حالا می‌تونی برنامه‌ای که برات آماده کردیم رو روی برد آپلود کنی.

اگه متن‌ها رو روی نمایشگر دیدی و با چرخوندن انکودر متوجه عکس‌العمل سیستم شدی، یعنی همه‌چیز تا اینجا عالی پیش رفته!

پیشنهاد می‌کنم قبل از اینکه بری سراغ لحیم‌کاری‌های نهایی، حتما مدار رو یه بار بیرون از قاب به صورت موقت (روی برد بورد) ببندی و تستش کنی. با این کار اگه اتصالی شل باشه یا سیمی رو اشتباه وصل کرده باشی، خیلی راحت پیداش می‌کنی. حالا که خیال‌مون از بخش منطقی و پردازش دستگاه راحت شد، وقتشه بریم سراغ قلب تپنده مدار یعنی باتری و مدار تغذیه.

داشتن یه باتری قابل شارژ همون چیزیه که این دستگاه رو از یه پروژه ساده تبدیل به یه گجت کاربردی روزمره می‌کنه. پس مدارت رو آماده نگه دار تا تو قدم بعدی منبع تغذیه‌اش رو هم بهش اضافه کنیم. اینکه بتونی کدهای آردوینو رو به درستی روی برد آپلود کنی یکی از مهم‌ترین بخش‌های این پروژه‌ست. اگر خطایی تو آپلود دیدی، حتما پورت و مدل برد رو تو نرم‌افزار آردوینو چک کن. خب، بریم برای قدم بعدی!

مرحله ۳

مدار افزاینده ولتاژ و تامین برق

همون‌طور که می‌دونی، قطعات مدار ما برای کار کردن به ولتاژ 5 ولت نیاز دارن، اما باتری لیتیومی که استفاده می‌کنیم خروجیش 3.7 ولته. پس برای جبران این کمبود، باید از یه ماژول افزاینده ولتاژ (Boost Converter) استفاده کنیم. اول از همه باتری رو مستقیم به ورودی ماژول افزاینده وصل کن و یه مولتی‌متر بذار روی خروجیش.

حالا با چرخوندن پتانسیومتر کوچیک روی ماژول، ولتاژ رو دقیقا روی 5 ولت تنظیم کن تا به برد و نمایشگر آسیبی نرسه.

برای اتصالات باتری، یه ترفند خوب اینه که با یه تیغ کوچیک روی پین‌های باتری یه خراش ملایم ایجاد کنی؛ این کار باعث می‌شه لحیم‌کاری خیلی محکم‌تر و تمیزتر انجام بشه. سیم‌هایی که به باتری لحیم می‌کنی باید هم‌زمان به ماژول شارژر و ورودی افزاینده ولتاژ برن. بعد از لحیم‌کاری، حتما روی اتصالات رو با چسب حرارتی بپوشون.

این کار هم اتصالات رو محکم می‌کنه و هم خیالت از بابت اتصالی‌های ناخواسته و خطرناک راحت می‌شه. ماژولی که اینجا استفاده شده معمولا می‌تونه ولتاژ رو تا 12 ولت هم بالا ببره، اما ما فقط همون 5 ولت رو نیاز داریم. دقت کن که تنظیم ولتاژ رو حتما قبل از اتصال ماژول به آردوینو و بقیه قطعات انجام بدی.

در نهایت، برای اینکه بتونی دستگاه رو خاموش و روشن کنی، یه کلید قطع و وصل تو مسیر سیم خروجی از ماژول افزاینده (ترجیحا روی سیم منفی) قرار بده. حالا منبع تغذیه بی‌نقص ما آماده‌ست!

مرحله ۴

مونتاژ و جاگذاری قطعات در بدنه

رسیدیم به جذاب‌ترین بخش کار، جایی که قراره همه زحماتمون شکل یه محصول واقعی به خودش بگیره! اول از همه برد Arduino Uno رو تو کف قاب سه‌بعدی که پرینت کردیم جاگذاری کن. می‌تونی از چسب دوطرفه ضخیم یا چسب حرارتی برای محکم کردنش استفاده کنی؛ اصلا نگران ذوب شدن بدنه پلاستیکی نباش چون ضخامت 3 میلی‌متری کف قاب مقاومت خیلی خوبی در برابر حرارت چسب داره.

بعد از محکم کردن آردوینو، ماژول DFPlayer و مدار افزاینده ولتاژ رو با چند قطره چسب قطره‌ای روی دیواره‌های داخلی بچسبون. دقت کن که شیار مربوط به مموری کارت دقیقا روبه‌روی ماژول DFPlayer قرار بگیره تا بعدا برای عوض کردن آهنگ‌ها به مشکل نخوری. کلید روشن و خاموش رو هم تو شیار مخصوصی که روی بدنه طراحی شده جا بزن و محکم کن.

حالا می‌ریم سراغ درپوش بالایی دستگاه. اول روتاری انکودر و بعد نمایشگر OLED رو تو جای خودشون فیکس کن. برای اسپیکر یه سوراخ کوچیک روی بدنه در نظر گرفته شده که سیم‌هاش از اونجا رد می‌شه و تو دید نیست؛ البته شاید لازم بشه سیم‌های اسپیکر رو موقتا از مدار جدا کنی و بعد از رد کردن از سوراخ، دوباره لحیمشون کنی.

برای محکم کردن نمایشگر OLED حتما از مقدار کافی چسب حرارتی استفاده کن و صبر کن تا کاملا خشک بشه. وقتی خیالت از بابت جایگذاری همه قطعات و سیم‌کشی‌ها راحت شد، با کمی چسب قطره‌ای دو قسمت بالا و پایین قاب رو به هم متصل کن. قرار دادن اون قاب مستطیلی کوچیک که پرینت کرده بودیم دور نمایشگر، کار رو حسابی تمیز و حرفه‌ای می‌کنه. تبریک می‌گم، بخش ساخت و مونتاژ تموم شد!

مرحله ۵

راه‌اندازی، تست و جمع‌بندی

خسته نباشی! حالا تو یه ام‌پی‌تری پلیر دست‌ساز داری که می‌تونی همه‌جا با خودت ببریش و حسابی بهش افتخار کنی. کار کردن باهاش هم خیلی لذت‌بخش و سادست. فقط کافیه کلید دستگاه رو روشن کنی تا بلافاصله لیست آهنگ‌های داخل کارت حافظه رو بخونه و آماده پخش بشه.

با چرخوندن ولوم انکودر در جهت عقربه‌های ساعت می‌ری به آهنگ بعدی و با چرخوندن در جهت عکس، برمی‌گردی به آهنگ قبلی. هر یک پله چرخش، یک آهنگ رو جابه‌جا می‌کنه. اگه دکمه وسط انکودر رو فشار بدی آهنگ متوقف (Pause) می‌شه و با یه فشار دیگه دوباره شروع به پخش می‌کنه.

برای تغییر بلندی صدا هم یه ترفند جالب تو کدها در نظر گرفته شده؛ کافیه همون دکمه وسط رو نگه داری و هم‌زمان ولوم رو بچرخونی. تمام این تغییرات رو هم می‌تونی لحظه‌ای و به صورت زنده روی نمایشگر OLED ببینی.

این دستگاه به لطف ماژول شارژی که توش گذاشتیم، یه باتری داخلی عالی داره که ساعت‌ها برات موزیک پخش می‌کنه و هر وقت هم شارژش تموم شد، خیلی راحت می‌تونی با یه کابل Type-C اونو شارژ کنی.

کافیه وصلش کنی به یه پاوربانک یا شارژر موبایل. چراغ قرمز نشون می‌ده که در حال شارژه و وقتی چراغ سبز یا آبی شد، یعنی باتری کاملا پر شده و آماده استفاده‌ست.

ساخت این ام‌پی‌تری پلیر نه‌تنها یه تمرین عالی برای کار با آردوینو و ماژول‌های صوتی بود، بلکه یه گجت کاربردی بهت داد که هر روز می‌تونی ازش لذت ببری. حتما نظرت رو درباره این پروژه تو بخش دیدگاه‌های آیسی‌مدار برامون بنویس و اگه موقع ساختش ایده‌ای برای ارتقاش به ذهنت رسید (مثلا اضافه کردن بلوتوث!)، همونجا بهمون بگو.

یادت نره این آموزش جذاب رو با بقیه دوستای الکترونیکی‌ت هم به اشتراک بذاری تا اونا هم از ساختنش لذت ببرن!

فایل‌های پیوست

STL baseplayer.stl
STL frame.stl
STL lidplayer.stl

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

این آموزش با استانداردهای اختصاصی آیسی‌مدار بازنویسی و بهینه‌سازی شده و تمامی حقوق انتشار آن متعلق به این مجموعه است و در صورت کپی یا بازنشر پیگرد قانونی خواهد داشت.

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!