ساخت WavePlayer بسیار کوچک :
این Wave Player (پخش کننده ی صدا) دارای مدار خیلی ساده ای است که فقط از یک کارت حافظه و یک میکروی AVR کوچک ساخته شده است. میکروکنترلرهای خانواده (25/45/85) ATtinyX5، دارای دو خروجی PWM سریع با فرکانس 250 کیلوهرتز هستند، این ویژگی باعث می شود که قادر به تولید محدوده ی وسیعی از سیگنال های صوتی باشم که برای ساخت یک Wave Player مناسب می باشد.
شاید برای شما مفید باشد: آموزش AVR از 0 تا 100 به همراه جزوه PDF و ویدئو آموزشی
کارت حافظه فقط با شش سیم کنترل می شود: دو سیم برای تهیه توان (برق) و چهار سیم برای سیگنال های کنترلی که به راحتی می توان آن را به یک میکروکنترلر 8 پینی نیز متصل کرد. به نظر می رسد کاربرد اصلی میکروکنترلرهای ATTINY سری X5 با توجه به وسایل جانبی همراه آن ،بیشتر کارهای مرتبط به SMPS است.
به هر حال این پخش کننده صدا بسیار ساده است و مدار خیلی کوچکی دارد . پس برای یک تمرین ساده ی لحیم کاری در ابتدای روز نیز مناسب می باشد!
سخت افزار
دو مدار از پخش کننده وجود دارد یکی برای حالت منو و یکی برای حالت استریو ، دقت داشته باشید که برای ساخت Wave Player در حالت استریو نیاز به پروگرامر HVSP دارید و چرا که نمی باید حالت ISP را غیرفعال کنید . کارت حافظه استفاده شده از نوع میکرو SD است. قاعدتا با استفاده از سوکت مناسب میتوان از کارت حافظه مینی وکارت SD استاندارد نیز استفاده کرد.
اسپیکر ها مستقیما به خروجی PWM متصل شده اند. ممکن است بار برای پورت خروجی سنگین باشد؛ اما نگران نباشید جریان خروجی هیچ وقت از حداکثر قابل تحمل پورت بیشتر نمی شود چرا که ولتاژ تغذیه 3 است. پس این پخش کننده صدای زیادی نخواهد داشت اما صدای مناسبی تولید خواهد کرد که از روی میز با اسپیکر های مناسب به خوبی شنیده خواهند شد.
استفاده اختیاری از یک سلف سری 100μH روی خروجی PWM باعث کاهش مصرف توان خواهد شد. اگر قصد دارید خروجی صدا را به آمپلی فایر وصل کنید ، فراموش نکنید که با اسنفاده از یک مدار LPF فرکانس های بالا را فیلتر کنید تا کیفیت خروجی بهتر شود. سیگنال PWM را مستقیما به آمپلی فایر وصل نکنید چون باعث ایجاد آسیب می شود.
نرم افزار
استفاده از کارت حافظه در پروژه ، به این معنی است که سیستم باید از فایل سیستم FAT پشتیبانی کند. من از ماژول Petit-FatFs که از ماژول FatFs گرفته شده را استفاده کرده ام. ماژول Petit-FatFs برای سیستم هایی با میزان حافظه کم و RAM زیر 512 بایت ایجاد شده است. این ماژول برای AVR ها و PIC های کوچک مناسب است.
در آرشیو ، فایل های سورس و Hex آماده برای سخت افزار های موجود وجود دارد. مقدار فیوز با فایل های هگزا ترکیب شده است (اگر از Avrdude استفاده می کنید). با این حال برخی از پروگرامرهای AVR این نوع فایل های Hex را پشتیبانی نمی کنند. در چنین حالتی، قسمت فیوز را از فایل Hex حذف کنید و آن را به صورت جداگانه پروگرام کنید. مقدار های فیوزی که باید برنامه ریزی شوند در main.c نیز وجود دارند.
در حالت مونو (تکی) از 5 پین ورودی خروجی استفاده می کند و نیازی به تعویض فیوزبیت RSTDISBL نیست.در این حالت می توان با متد ISP پروگرام کرد که توسط همه ی پروگرامرهای AVR پشتیبانی می شود.
در حالت خروجی استریو از تمامی پین های ورودی خروجی به علاوه ی پین ریست استفاده می شود. برای تعویض فیوز RSTDISBL مشکلی وجود دارد و آن این است که به متد high voltage serial programming نیاز داریم. ولی بسیاری از برنامه ریز های AVR از متد HVSP پشتیبانی نمی کنند. متد ISP هم چنین می تواند فیوز RSTDISBL را فقط برای بار اول برنامه ریزی کند اما نمی تواند دستگاه هایی که این فیوز برنامه ریزی کرده را تغییر دهد.
این پخش کننده فقط می تواند فایل های صوتی با فرمت RIFF-WAVE که در واقع فایل های Microsoft wave هستند ، با LPCM ، 8 یا 16 بیت، مونو یا استریو و تا حداکثر نرخ نمونه برداری 48 کیلوهرتز را پخش کند. پخش کننده هنگام قرار دادن کارت حافظه یا فعال کردن برق شروع به پخش فایل ها می کند. اگر یک فولدر صوتی با نام “WAV” در ریشه اصلی کارت وجود داشته باشد، فایل های صوتی به همان ترتیبی که در فولدر قرار دارند پخش خواهند شد. اگر فولدر “WAV” وجود نداشته باشد، فایل های صوتی WAVE موجود در فولدر ریشه پخش می شوند. با فشار دادن دکمه ی سوییچ می توان فایل صوتی بعدی را پخش کرد.
ساخت ماژول صوت
برای تبدبل فایل های MP3 به Wave می توانید این مقاله را مطالعه نمایید.
دانلود سورس + فایل های Hex
سلام آیا قابلیت خواندن flac هم داره؟
سلام پروگرامر tnm 7000 قابلیت پروگرام در حالت استریو ای سی داره؟
سلام.
ممنون از سایت خوبتون.
ایا امکان استفاده از کار میکرو SD با ظرفیت های بالا هم هست مثل 16 گیگ؟
سلام دوست عزیز
بله فکر نمیکنم مشکلی داشته باشه
سلام.
ممنون از سایت خوبتون.
ایا این برنامه با کارت های جدید micro sd با ظرفیت های بالا مثل ۱۶ گیگ هم کار میکنه؟
سلام دوست عزیز خواهش میکنم
بله پشتیبانی میکنه فکر نمیکنم که مشکلی وجود داشته باشه
با سلام و تشکر از سایت و مجموعه خوبتون.
لطفا یه فیلمی هم از تست عملی پروژه ها تون بذارید.
خیلی ممنون
این پروژه به شخصه تست کردم و کار میکنه
سعی میکنم یه فیلم از کارکردش تهیه کنم 🙂
سایت های مختلف این پروژه رو با قیمت های عجیب میفروشن کلا پروژه WAV پلیر به شکل رایگان تو سایت های ایرانی وجود نداشت که شما برای اولین بار این مطلبو گذاشتین سپاس
سلام دوست عزیز
خواهش میکنم ِ واقعا هدف ما جلوگیری از فروش پروژه های رایگان هست که متاسفانه توی ایران غوغا میکنه 😐
تو سایت ********* هم یکی از شرکت کننده های مسابقه توی stm32 پیاده سازی کرده.
البته هم player هست و هم recorder ولی متاسفانه سورس کد نداره.
سایتی که معرفی کردید هیچگونه محتوایی نداشت ! و به نظر کامنت شما تبلیغاتی است برای همین لینک سایت از کامنت حذف شد.
با سلام لطفا منبع اصلی این مطلب که سایت elm-chan.org هست را در منابع بفرمایید
سلام دوست عزیز
اگر دقت کنید پایین صفحه منبع ذکر شده با لینک
متشکرم
بسیار عالی
متشکرم دوست عزیز