این Wave Player (پخش کننده ی صدا) دارای مدار خیلی ساده ای است که فقط از یک کارت حافظه و یک میکروی AVR کوچک ساخته شده است. میکروکنترلرهای خانواده (25/45/85) ATtinyX5، دارای دو خروجی PWM سریع با فرکانس 250 کیلوهرتز هستند، این ویژگی باعث می شود که قادر به تولید محدوده ی وسیعی از سیگنال های صوتی باشم که برای ساخت یک Wave Player مناسب می باشد. کارت حافظه فقط با شش سیم کنترل می شود: دو سیم برای تهیه توان (برق) و چهار سیم برای سیگنال های کنترلی که به راحتی می توان آن را به یک میکروکنترلر 8 پینی نیز متصل کرد. به نظر می رسد کاربرد اصلی میکروکنترلرهای ATTINY سری X5 با توجه به وسایل جانبی همراه آن ،بیشتر کارهای مرتبط به SMPS است. به هر حال این پخش کننده صدا بسیار ساده است و مدار خیلی کوچکی دارد . پس برای یک تمرین ساده ی لحیم کاری در ابتدای روز نیز مناسب می باشد!
سخت افزار
مدار Wave Player مونو
مدار Wave Player استریو
دو مدار از پخش کننده وجود دارد یکی برای حالت منو و یکی برای حالت استریو ، دقت داشته باشید که برای ساخت 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 می توانید این مقاله را مطالعه نمایید.
در قسمت سیزدهم آموزش میکروکنترلر STM32F4 به مبحث مهم و کاربردی تایمر ها و سرویس وقفه پرداختیم. در این قسمت از آموزش میکروکنترلر STM32F4 به مبحث سیستمِ فایلِ FatFs بر روی کارت SD میپردازیم. با سیسوگ همراه باشید. سیستم ...
آیا تئوری و ریاضیات در زندگی ما کاربردی دارد؟ تقریبا همهی ما، یا بهتره که بگوییم همهی ما، جامعهی فارغالتحصیلان کمابیش سوار تاکسی، مهمانی و خلاصه اینور اونور شنیدیم که درس دیگه فایده نداره و الان همهی درس خوندهها بیکار هستن ...
آموزش میکروکنترلر AVR – قسمت دهم; در قسمت نهم آموزش میکروکنترلر AVR به stack یا پشته و مقدمه ای بر تایمرها و کانترها پرداختیم، در این جلسه از آموزش میکروکنترلر AVR به شیوه استفاده از تایمرها و جزئیات آنها و همچنین وقفه ها میپ...
آموزش میکروکنترلر XMEGA – قسمت سوم; در قسمت دوم آموزش میکروکنترلر XMEGA به مباحث کلی در مورد خانواده XMEGA از جمله محدوده دما و تغذیه و کلاک پرداختیم. در این قسمت از آموزش میکروکنترلر XMEGA به آشنایی با رجیسترهای پورت در این ...
آموزش میکروکنترلر AVR – قسمت نهم; در قسمت هشتم آموزش میکروکنترلر AVR به بررسی خواندن و نوشتن رجیسترهای 16 بیتی و Status Register پرداختیم، در این جلسه از آموزش میکروکنترلر AVR به صحبت راجب به stack یا پشته و مقدمه ای بر تایمرها...
آموزش میکروکنترلر AVR - قسمت هشتم; سیسوگ در قسمت هفتم آموزش میکروکنترلر AVR به بررسی منابع کلاک در AVR پرداخت، حال در قسمت هشتم آموزش میکروکنترلر AVR به 3 مبحث اشاره می کند; 1-خواندن و نوشتن در رجیسترهای داخلی خانواده AVR که...
آموزش میکروکنترلر XMEGA - قسمت اول; این سری آموزشها که به جرات می توان آنها را کاملترین آموزشهای موجود دانست با صرف هزینه زیاد و با کیفیت و جزییات بالا توسط استاد ارجمند جناب آقای کینژاد تهیه شده است و به صورت رایگان در اخت...
آموزش میکروکنترلر AVR – قسمت هفتم: سیسوگ در قسمت ششم آموزش میکروکنترلر AVR به بررسی مراحل راه اندازی یک دیکودر BCD به 7segment به وسیله کامپایلرهای بسکام و کدویژن پرداخت، حال در این قسمت از آموزش میکروکنترلر AVR میخواهیم با م...
آموزش میکروکنترلر AVR – قسمت ششم; این سری آموزش های میکروکنترلر AVR که به جرات می توان آنها را کاملترین آموزشهای موجود دانست با صرف هزینه زیاد و با کیفیت و جزییات بالا توسط استاد ارجمند جناب آقای کینژاد تهیه شده است و به صورت...
سیسوگ در قسمت نوزدهم آموزش میکروکنترلر STM8 راه اندازی PWM با تایمر 2 در میکروکنترلر STM8 را توضیح داد و نتیجه عملکرد آن را با 3 عدد LED چشمکزن تست کرد. در این قسمت آموزش میکروکنترلر STM8 سیسوگ قصد دارد راه اندازی PWM با تایمر 1 ...
آموزش میکروکنترلر AVR – قسمت پنجم ; این سری آموزش ها که به جرات می توان آنها را کاملترین آموزشهای موجود دانست با صرف هزینه زیاد و با کیفیت و جزییات بالا توسط استاد ارجمند جناب آقای کینژاد تهیه شده است و به صورت رایگان در اختی...
سیسوگ در قسمت هجدهم آموزش میکروکنترلر STM8 تایمر 4 را به شما معرفی کرد و برنامه آن را با هم بررسی کردیم. در این قسمت از مجموعه مقالات آموزش میکروکنترلر STM8 قصد دارد ویژگی پرکاربرد PWM را بررسی کند. با سیسوگ همراه باشید. ...
سایت های مختلف این پروژه رو با قیمت های عجیب میفروشن کلا پروژه WAV پلیر به شکل رایگان تو سایت های ایرانی وجود نداشت که شما برای اولین بار این مطلبو گذاشتین سپاس
با سلام و تشکر از سایت و مجموعه خوبتون.
لطفا یه فیلمی هم از تست عملی پروژه ها تون بذارید.
خیلی ممنون
این پروژه به شخصه تست کردم و کار میکنه
سعی میکنم یه فیلم از کارکردش تهیه کنم 🙂
سایت های مختلف این پروژه رو با قیمت های عجیب میفروشن کلا پروژه WAV پلیر به شکل رایگان تو سایت های ایرانی وجود نداشت که شما برای اولین بار این مطلبو گذاشتین سپاس
سلام دوست عزیز
خواهش میکنم ِ واقعا هدف ما جلوگیری از فروش پروژه های رایگان هست که متاسفانه توی ایران غوغا میکنه 😐
تو سایت ********* هم یکی از شرکت کننده های مسابقه توی stm32 پیاده سازی کرده.
البته هم player هست و هم recorder ولی متاسفانه سورس کد نداره.
سایتی که معرفی کردید هیچگونه محتوایی نداشت ! و به نظر کامنت شما تبلیغاتی است برای همین لینک سایت از کامنت حذف شد.
با سلام لطفا منبع اصلی این مطلب که سایت elm-chan.org هست را در منابع بفرمایید
سلام دوست عزیز
اگر دقت کنید پایین صفحه منبع ذکر شده با لینک
متشکرم
بسیار عالی
متشکرم دوست عزیز