ساخت پیانو با برد آردوینو (+پروژه ضبط و پخش صدا)

محتویات
سلام. آموزش کامل ساخت پیانو با آردوینو + ضبط و پخش صدا در Arduino (استفاده از تابع tone) را آماده کردیم. فیلم عملکرد مدار را ببینید.
آموزش کامل ساخت پیانو با Arduino
در این پروژه آردوینو قصد داریم یک پیانو کوچک اما سرگرم کننده را بسازیم. این پیانو فقط با 8 دکمه کنترل میشود. از تابع tone() آردوینو برای ایجاد انواع نت های پیانو روی بلندگو استفاده می کنیم. همچنین قابلیت ضبط و پخش صدا را در آن قرار میدهیم تا بتوانیم آهنگ نواخته شده با پیانو را بشنویم.
تابع Tone()
Arduino یک تابع مفید دارد که می تواند برای تولید سیگنال هایی با فرکانس مختلف استفاده شود. خوب ، پس چگونه فرکانس متغیر را از Arduino دریافت می کنیم؟ اینجاست که تابع ()tone وارد می شود. tone() می تواند یک فرکانس خاص را روی یک پین خاص ایجاد کند.
tone(pin, frequency) tone(pin, frequency, duration)
توضیح پارامتر ها :
- pin : آن پینی که میخواهید tone در آن ایجاد شود.
- frequency : فرکانس tone بر حسب هرتز
- duration : مدت tone بر حسب میلی ثانیه
pin می تواند هرکدام از پین های دیجیتالی شما باشد. ما در اینجا از پین شماره 8 استفاده میکنیم. فرکانس تولید شده بستگی به اندازه تایمر در برد آردوینو شما دارد. برای آردوینو UNO و سایر برد های رایج حداقل فرکانس تولید شده 31Hz است و حداکثر فرکانس قابل تولید 65535Hz است. با این حال ما انسانها فقط فرکانسهای بین 2000 هرتز و 5000 هرتز را می شنویم.
جهت کسب اطلاعات بیشتر، مقاله تابع Tone را مشاهده کنید.
نحوه پخش پیانو با آردوینو
اکنون می دانیم که می توانیم از عملکرد tone در آردوینو برای تولید برخی صداها استفاده کنیم ، اما چگونه می توانیم با استفاده از آن ، صدای یک نت خاص را پخش کنیم. خوشبختانه کتابخانه ای به نام “pitches.h” وجود دارد که توسط برت هاگمن نوشته شده است. این کتابخانه حاوی تمام اطلاعاتی در مورد میزان فرکانس معادل نت ها در پیانو است. انقدر این کتابخانه خوب عمل میکند که ما واقعا شگفت زده شدیم. با این کتابخانه حتی میتوانید موسیقی فیلم تایتانیک ، ماریو ، دزدان دریایی و… را نواخت.
پروژه ما تنها 8 دکمه دارد بنابراین هر دکمه می تواند تنها یک نت موسیقی خاص را پخش کند و بنابراین به طور کلی می توانیم فقط 8 نت را پخش کنیم. ما از 8 نت پر استفاده در پیانو استفاده کردیم و شما میتوانید نت ها و دکمه های بیشتری را استفاده کنید.
نت های انتخاب شده در این پروژه ، نت های C4 ، D4 ، E4 ، F4 ، G4 ، A4 ، B4 و C5 است که به ترتیب می توانند با استفاده از دکمه های 1 تا 8 پخش شوند.
مدار پروژه پیانو با آردوینو
شماتیک کامل پروژه در فایل دانلود قرار داده شده است. مقدار مقاومتها از سمت چپ به ترتیب ، 10k ، 560R ، 1.5k ، 2.6k ، 3.9 ، 5.6k ، 6.8k ، 8.2k و 10k است. اگر سوئیچ DPST ندارید می توانید از کلید سوئیچ معمولی استفاده کنید. ما همه 8 دکمه را به پین آنالوگ A0 آردوینو متصل کردیم. همچنین برای هر دکمه از مقاومت متتفاوت استفاده کردیم به این ترتیب هنگامی که هر دکمه فشار داده شود، یک ولتاژ آنالوگ متفاوت به پین آنالوگ ارائه می شود.
ال سی دی به پین های 8 ، 9 ، 10 ، 11 و 12 Arduino وصل می شود. بازر به پین 7 و سوئیچ SPDT به پین 6 آردوینو وصل شده است. همچنین می توانید آردوینو را از طریق جک DC به یک منبع تغذیه 9 ولت یا 12 ولت متصل کنید.
قطعات مورد نیاز
- برد آردوینو Uno
- نمایشگر LCD 16*2
- بازر
- پتانسیومتر 10k
- سوئیچ SPDT
- دکمه (8 عدد)
- مقاومت (10k، 560R، 1.5k، 2.6k، 3.9، 5.6k، 6.8k، 8.2k، 10k)
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود
سلام من دقیقا ندار رو عین شما وصل کردم(البته بدون پتاسیومتر و نمایشگر) کد رو هم اپلود کردم بدون هیچ مشکلی ولی فقط بوق میخوره بوق آزاد
سلام عزیز
یک تصویر از مدار خود در انجمن سایت ارسال کنید
اگه بخوایم بدون نمایشگر بسازیم
باید پتاسیومتر و نمایشگر رو حذف کنیم
و پین هاشو خالی بزاریم؟
بله
میشه بدون نمایشگر ساخت؟؟؟؟
سلام عزیز
بله
سلا من دقیقاا مثل شما انجام دادم اما کار نکرد