img

پخش‌کننده MP3 خوش‌استیل برای Raspberry Pi Zero بسازید…

/
/
/

بلندگو pHAT، Raspberry Pi Zero، GPIO Zero و Pygame را برای ساخت یک پخش‌کننده MP3 باهم ادغام کنید.

بلندگوی pHAT سخت افزاری زیبا و قوی برای اضافه شدن به Raspberry Pi شما است. ظاهرا احساسی مشابه بوم‌باکس‌های دهه ۸۰ و تک آمپلی فایر القا می‌کند و بلندگوهای کوچک ۸Ω ۲W و دارای ۱۰چراغ LED است. اکنون می‌توانید موزیک، هشدار‌ها، سخنرانی و صدا را در پروژه‌های Pi ادغام کنید.
این آموزش با بررسی سریع کتابخانه پایتون GPIO Zero– ماژولی فوق العاده که طیف وسیعی از وسایل ورودی و خروجی مثل موتورها، حسگرها و دکمه‌ها را تقویت می‌کند، آغاز می‌شود. یک دکمه ساده یا مدار بسازید و از کد کتابخانه GPIO Zero در پاسخ به فشردن دکمه استفاده کنید. این اساس کنترل پخش‌کننده شما را می‌سازد. حجم عظیمی‌‌ از آموزش، گام‌های ایجاد برنامه ای را پوشش داده که شما را قادر می‌سازد فایل‌های MP3 را از طریق ابزار صوتی Pygame پخش کنید. سه دکمه اضافی بسازید و کنترل‌ و کد را برای رفتن به آهنگ بعدی، افزایش و کاهش صدا اضافه کنید. سپس می‌توانید روش‌های مشابه اینها را برای ایجاد دکمه‌های اضافی و عملکردهای بیشتر به پخش‌کننده MP3 به کار ببرید. پروژه پخش‌کننده MP3 را در آدرس زیر ببینید-

www.tecoed.co.uk/darth-beats.html.

 

۱- ایجاد یک دکمه
برای آغاز بدانید که پخش‌کننده MP3 شما می‌تواند با دکمه ساده ای کنترل شود. اگر با لحیم‌کاری آشنا هستید، دو سیم نامنظم را به ترمینال دکمه‌ ساده و فشردنی دستگاه وصل کنید. از سوییچ استفاده نکنید زیرا مدار را ثابت نگه می‌دارد و دیگر با فشار دادن دکمه‌ها کاری انجام نمی‌شود. اگر نمی‌توانید لحیم‌کاری کنید، همچنان می‌توانید کنترل پخش‌کننده MP3 خود را با اتصال سیم‌ها به یکدیگر در دست بگیرید. یکی از سیم‌ها را به GPIO 2 و دیگری را به پین زمینی وصل کنید. به عنوان مثال، پین ۳۹ زمینی در پایین سمت مجموعه پین‌های GPIO است.

 

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

 

۳- اسپیکر pHAT
برای استفاده از این اسپیکر و دکمه‌هایش باید HAT را سیم پیچی کرده و از هدرهای GPIO استفاده نکنید. پین‌ها را اینگونه متصل کنید: پین۲(۵V power) و پین‌های ۳ و ۵٫ پین ۱۲(GPIO18) مثل پین‌های ۳۵ و ۴۰، متصل می‌شود. در انتها یکی از پین‌های زمینی را متصل کنید:هر کدام از پین‌های ۹،۱۴،۲۰،۳۰،۳۴، یا ۳۹ عمل می‌کند. مطمئن شوید که سخت افزار در جهت درستی چرخیده باشد. پین ۱ و ۲ باید در بالای برد باشد، نزدیک پورت دوربین. برای جزئیات بیشتر به لینک زیر بروید:

https://pinout.xyz/pinout/speaker_phat.

 

پخش‌کننده MP3 خوش‌استیل برای Raspberry Pi Zero بسازید...

 

۴- نصب نرم افزار
با بوت کردن Raspberry Pi آغاز کنید. مشابه محصولات Pimoroni ، نصب کتابخانه‌های لازم و فایل‌های پیکربندی بسیار راحت است. تایپ کنید:
ccurl -sS https://get.pimoroni.com/speakerphat | bash.
فرآیند نصب آغاز می‌شود. راهنمایی‌های نمایش داده شده را دنبال کنید، در جای لازم پاسخ دهید. به یاد داشته باشد که نصب، صدای HDMI استاندارد را از کار ‌می‌‌اندازد. همچنین در آینده می‌توانید این دستور را برای بروزرسانی نرم افزار استفاده کنید.

 

۵- چند موزیک پخش کنید
زمانی که فرآیند نصب کامل شد، به شما پیغام راه اندازی مجدد Pi را می‌دهد. توصیه می‌شود دکمه Enter را روی کیبورد فشار دهید یا‌ sudo reboot تایپ کنید تا راه اندازی مجدد انجام شود. حال همه صداها از طریق بلندگو pHAT اجرا می‌شود. برای آزمایش این، مرورگر کروم را باز کنید و به یوتیوب یا هر سایتی که صدا دارد بروید. یک ویدئو مناسب یا آهنگ را انتخاب و پخش کنید. آهنگ یا ویدئو بارگزاری و اجرا می‌شود. صدا از طریق بلندگو pHAT به گوش می‌رسد.

 

پخش‌کننده MP3 خوش‌استیل برای Raspberry Pi Zero بسازید...

 

۶- ماژول‌های لازم را وارد کنید
حالا که صدای عملکردی دارید، زمان ساختن پخش‌کننده MP3 رسیده است. در ادیتور دلخواه یک فایل جدید پایتون باز کنید.
سپس ماژول‌های لازم را وارد کرده، خط ۱ تا۴؛ glob نمایانگر کل است و شما را قادر می‌سازد تمام فایل‌های MP3 را پیدا کنید.
در خط چهارم کنترل‌های نور‌هایLED را وارد می‌کنیم. خط پنجم دکمه کنترلی GPIO Zero را وارد می‌کند، در حالی که خط آخر به شما اجازه دسترسی به برنامه هر LEDرا بصورت مجزا می‌دهد.

 

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

۸- کد دکمه را تنظیم کنید
مشابه روشی که در گام دوم استفاده شد، ۳ دکمه یا سیم را به هم وصل کنید. یکی از دکمه‌ها آهنگ در حال پخش را کنترل می‌کند، خط اول. در خط دوم، کد دستوری مشابهی استفاده کنید و اسم دکمه را با‌ button1 جایگزین کنید. دکمه دوم، خط دوم، برای بالا بردن صدا استفاده می‌شود. دکمه سوم صدا را کم می‌کند. در خط چهارم از کد برای تنظیم متغیر‌ the_song به صفر استفاده کنید؛ این اولین MP3 را برای پخش شدن در لیست قرار می‌دهد. در آخر songs_playing را True کنید.

 

۹- ایجاد و اضافه کردن دکمه‌ها
برای این مرحله می‌توانید از دکمه‌های فیزیکی واقعی یا آزمودن کد با اتصال پین GPIO مناسب با پین GND استفاده کنید. یک سیم به GPIO7 متصل کنید. دو سیم دیگر اضافه کنید یکی به GPIO25 و دیگری به GPIO8‌. یک سیم دیگر به پین GND مثل پین ۳۹ متصل کنید. حال دکمه‌های فیزیکی دارید که با کد‌های حاصل از مرحله قبل هماهنگ است و آهنگی که پخش می‌شود را کنترل می‌کند و همچنین صدا را افزایش یا کاهش می‌دهد.

 

۱۰- پیدا کردن MP3ها
فرض می‌کند فایل‌های شما درجایی که برنامه‌های پایتون ذخیره می‌شوند، وجود دارند. اگر نه، خط اول را با‌

mp3_iles_playlisglob.glob(‹/pi/home/folder_ name/*.mp3›)

عوض کنید. خط اول تمام فایل‌های MP3 را پیدا می‌کند و آنها را به لیستی به نام songs_found اضافه می‌کند. سپس کاربر را مطلع می‌سازد که چه تعداد آهنگ پیدا کرده، خط‌های ۳ و ۴٫ در خط پنجم، مدت زمان لیست را گرفته و در متغیری به نام‌ number_of_songs ذخیره می‌کند. حالا شما تعداد کل فایل‌های MP3 که در پوشه هستند را دارید. در آخر صدای پخش را با استفاده از pygame.mixer در ۰٫۱ تنظیم می‌کند.

۱۱- برای دکمه‌ها عملکرد بسازید
قسمت اصلی برنامه، عملکردی است که کد و پاسخ‌ کلید‌ها ارائه می‌دهند. در خط اول عملکرد را بسازید و متغیرهای‌ level و‌ the_song را اضافی کنید، خط ۲ و ۳٫ در خط چهارم، مطمئن شوید که‌ playing_songs روی True است.
خط بعدی کد بررسی می‌کند که شماره آهنگ در حال پخش کمتر از طول لیست کلی باشد. اگر هنوز آهنگی برای پخش باقی مانده باشد، آهنگ را بارگزاری و پخش می‌کنیم، خط‌های ۷ و ۸٫ در آخر متغیر the_song را به اندازه یک افزایش می‌دهیم، بنابراین وقتی لوپ برنامه را تکرار می‌کند، آهنگ بعدی لیست پخش می‌شود. حالا فایل‌های MP3 یکی پس از دیگری پخش می‌شوند.

 

۱۲- تغییر آهنگ
خط‌های کد در این گام دکمه ای را کنترل می‌کند که با آن می‌توانید به آهنگ بعدی بروید. با ساختن لوپ‌ while آغاز کنید که اگر مخلوط کننده ‌ Pygame مشغول باشد(در حال پخش فایل صوتی)، پاسخگو است، خط اول.
از ساعت‌ Pygame برای اضافه کردن یک تاخیر و اجازه به صدا برای پخش شدن استفاده کنید. این به جای‌ wait() و sleep() استفاده می‌شود، زیرا هر آهنگ طول پخش متفاوتی دارد. در خط سوم بررسی کنید که دکمه اول با نام button فشرده شده باشد. اگر چنین بود به‌ Pygame دستور دهید موزیک را با‌ pygame.mixer.music. stop() متوقف کند، سپس از لوپ خارج شود. این تاثیرش را در شرط‌
while the_song < number_of_songs
از گام ۱۱ می‌گذارد. آخرین اقدام در انتهای آن بخش، اضافه کردن یک مقدار به متغیر‌ the_song بود. حالا آهنگ بعدی در لیست بارگزاری و پخش می‌شود.

 

۱۳- افزایش صدا
حالا دکمه ای برای افزایش صدا می‌سازیم. بالاترین مقدار ۱ است. بنابراین ابتدا بررسی کنید که سطح کنونی کمتر از ۱ باشد، خط اول. اگر چنین بود، مقدار ۰٫۱ را به مقدار کنونی اضافه کنید، خط سوم، و سپس سطح جدیدی تنظیم کنید:
pygame.mixer.music. set_volume(level)
خط پنجم. اگر سطح ۱ یا بیشتر باشد، پس به صدای ماکزیمم رسیده‌اید. دستور عبور اضافه کنید، خط هفتم، تا از مرحله بگذرید و به لوپ اصلی برنامه برگردید. مطمئن شوید که این مرحله در خط مشابه شروط قبلی قرار دارد.

۱۴- کاهش صدا
کد کاهش صدا روشی مشابه گام قبلی استفاده می‌کند .با فراخوانی button2 آغاز کنید، خط اول. سپس سطح صدا را بررسی کنید-این بار بررسی کنید که بزرگتر یا برابر ۰ ،پایین ترین مقدار باشد.
اگر چنین بود صدا را با level = level – 0.10 به اندازه ۰٫۱ کاهش دهید، خط سوم، سپس حجم صدا را تنظیم کنید، خط پنجم. مشابه گام قبلی اگر حجم کنونی برابر یا کمتر از ۰ باشد، بنابراین صدا ۰ است، عبور کرده و به لوپ اصلی برنامه برگردید.

 

۱۵- توقف آهنگ‌ها
وقتی که لوپ برنامه عمل کرد و تمام آهنگ‌ها را پخش کرد و یا شما بعضی‌ها را با استفاده از دکمه رد کردید، برنامه از لوپ خارج می‌شود و اطلاع می‌دهد که به انتهای لیست پخش رسیده است.
جمله ی ELSE باید در خط‌ playing_songs == True که در گام ۹ اضافه کردیم، باشد. در انتها عملکرد انتظار را حین فشار دادن دکمه و اجرای برنامه ی اصلی MP3 اضافه کنید، خط ۳ و ۴٫ wait مطمئن می‌شود که آهنگ‌ها فقط در صورتی که دکمه را فشار دهید پخش می‌شوند و شما را قادر می‌سازد هر قطعه‌ای را رد کنید.

 

۱۶- فاصله گذاری و سیم‌ها را بررسی کنید
قبل از اجرای برنامه خود بهتر است دوباره بررسی کنید که تمام سیم‌ها به درستی متصل شده اند و سطوح‌ در کد درست هستند. این تعداد خطا‌ها را کاهش می‌دهد.
می‌توانید کد خود را با نسخه‌ disc/FileSilo مقایسه کنید. برنامه پایتون خود را ذخیره و تعداد فایل‌های MP3 منتخب خود را در همان پوشه اضافه کنید. دکمه F5 را برای اجرای پخش‌کننده فشار دهید.

 

۱۷- تنظیم صدای کلی
نصب کتابخانه‌های بلند گوی pHAT کنترل‌های آنالوگ HDMI و ایکون حجم صدا را از سیستم حذف می‌کند. با این حال شاید بخواهید حجم صدای پخش را تنظیم کنید؛ آسانترین راه استفاده از alsamixer است. ترمینال را باز کرده و alsamixer را تایپ کنید.این ابزار پیکربندی کارت صدا را باز می‌کند. همچنین خواهید دید که اسم کارت صدا‌ rpi hifiberry_dac است. صدا را طبق دلخواه با استفاده از کلیدهای پیمایشی بالا و پایین تنظیم کنید تا جایی که صدا به دلخواه شما باشد.

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

It is main inner container footer text