Home / پروژه / تولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینو

تولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینو

 

به نام خدا

تولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینو

 

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

هنگامی که این پروژه را ساختید، می توانید انگشتان دست خود را روی هر چیزی هدایت کنید و آهنگ های خود را ایجاد کنید.

وسایل مورد نیاز تولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینو :

نرم افزار مینی آردینو

سنسسور Piezo

سنسور Flex

دستکش

مقاومت۱۰ کیلو

باتری ۹ ولت

BC547 ترانزیستورهای

شماتیک و توضیح:

این پروژه از مجموع ۴ سنسور استفاده می کند که دو سنسور فلکس و دو زوج دارلینگتون است که به عنوان سنسور لمسی عمل می کنند. ما همچنین از دو مقاومت پایین R1 و R2 ,10 کیلواستفاده کردیم که به عنوان مقاومت کششی برای سنسور فلکس عمل می کند. ما در اینجا براساس میزان خمش آن از سنسور فلکس برای تولید سه صدای متفاوت با یک انگشت استفاده می کنیم. بنابراین ما می توانیم ۶ صدا با دو انگشت تولید کنیم.

زوج دارلینگتون:

قبل از اینکه ما ادامه دهیم، مهم است که بدانیم دارلینگتون چیست و دقیقا چگونه در پروژه ما کار می کند.

زوج دارلینگتون را می توان به عنوان دو ترانزیستور دوقطبی متصل در نظر گرفت به گونه ای که جریان ترمیم شده توسط ترانزیستور اول، توسط ترانزیستور دوم تقویت شود. یک زوج دارلینگتون در تصویر زیر نشان داده شده است:

همانطور که در بالا نشان داده شده است، ما از دو ترانزیستور BC547 استفاده می کنیم و امتداد ترانزیستور اول به پایه ترانزیستور دوم متصل است. این مدار به عنوان یک تقویت کننده افزایشی عمل می کند، به این معنی که هر سیگنال کم داده شده به پایه ترانزیستور اول، برای تعویض پایه ترانزیستور دوم کافی است.

بدن ما به عنوان یک زمین عمل می کند بنابراین هر زمان که ما پایه ترانزیستور را لمس کنیم، ترانزیستور دوم تغییر میکند . با استفاده از این توضیحات ما سنسور لمسی را برای این پروژه میسازیم.

پین شماره ۲ و ۳ پین وقفه در آردوینو است که با استفاده از مقاومت کششی داخلی بالا کشیده می شود و سپس این پین ها هر زمان که سوئیچ دارلینگتون بسته می شود به زمین برمیگردد. به این ترتیب هر بار سیم را لمس می کنیم (از پایه ترانزیستور اول)، وقفه از آردوینو آغاز می شود.

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

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

بیشتر بخوانید...  نمایش ساعت و تقویم کامل روی LCD با واحد RTC

 

 

 

همانطور که در بالا نشان داده شده است  از دستکش دو انگشتی برای ایمن کردن سیم از جفت آردوینو و سنسور انعطاف پذیراستفاده کرده ایم .

شما می توانید ایده خود را درموقعیت دیگری قرار دهید.

برنامه ریزی آردوینو:

برنامه این آردوینو بسیار ساده است. ما فقط باید برای وقفه های سیم های دارلینگتون مراقب باشیم و تن صدایی را ایجاد کنیم که بستگی به خم شدن سنسور دارد.

کد کامل در انتهای این پست قرار داده شده است، وچندین بخش مهم را در زیر توضیح داده ایم.

توجه: این برنامه با کمک کتابخانه “pitches.h” کار می کند. پس مطمئن شوید قبل از کامپایل کردن فایل، هدر را به برنامه خود اضافه کرده اید.

شما می توانید فایل هدر pitches.h را از اینجا دانلود کنید.

دانلود فایل

درتابع تنظیم، پین ۲ و ۳ را به صورت ورودی با مقاومتهای کششی آغاز می کنیم. ما همچنین پین۲ و۳ را به عنوان پین وقفه اعلام می کنیم و تن (۱) را اجرا می کنیم .

زمانی در پین ۲ و تن ۲ تداخل وجود دارد که در پین ۳ وقفه ایجاد شود. این وقفه ها هر زمان که این پین ها از حالت کشیده شده خود پایین می آیند، به وجود می آیند.

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

به عنوان مثال، فلکس سنسور من حدودا مقدار ۲۰۰ را داده است وهنگامی که به سمت چپ رفتم ،تمام مسیر را به ۱۳۰ رساندم، بنابراین، از آنجا که من باید ۳ نوع تن صدا را بازی کنم، مقدار آن را از ۲۰۰ تا ۱۳۰ به عنوان ۱ به۳ تعیین کردم. شما باید این دو خط را بر اساس ارزش سنسور فلکس و تعداد صداهای خود تنظیم کنید

همانطور که قبلا مشاهده کردیم، تابع تن۱هنگام وقوع یک وقفه در پین ۲ اجرا می شود. در تابع تن۱ این موضوع نشان داده شده است. ما به مقادیر فلکس سنسور۱ نگاه می کنیم و بر اساس مقدار فلکس سنسور مقدار تن صدا را بازی می کنیم.

 

خط زیر برای پخش صدا مورد استفاده قرار می گیرد. شما می توانید تن صدایی را که در فایل header “pitches.h” موجود است پخش کنید.

بیشتر بخوانید...  انکودر چرخشی با میکروکنترلر ATmega8

 

کار کردن:

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

در حال حاضر فقط مواد هدایت کننده یا بدن خود را لمس کنید و باید بتوانید صدای مربوطه را بشنوید. با ضربه زدن در فواصل مختلف و موقعیت های مختلف، می توانید ملودی یا موسیقی خود را بازی کنید.

ویدئو زیر نشان می دهد که کار این پروژه کامل شده است. امیدوارم از ساختن پروژه لذت ببرید، هر گونه پیشنهاد یا سوالی را می توانید در قسمت نظرات زیر بنویسید. همچنین Arduino Audio Player و Arduino Tone Generator Project را بررسی کنید.

کد تولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینو:

دانلود فایل 

About mjavad

Check Also

پروژه کنترل چراغ های LED با فرمان صوتی گوشی هوشمند و رزبری پای

به نام خدا پروژه کنترل چراغ های LED با فرمان صوتی گوشی هوشمند و رزبری …

پروژه ی سیستم نظارت بر پایه RFID با رزبری پای

به نام خدا پروژه ی سیستم نظارت بر پایه RFID با رزبری پای   در …

دیدگاهتان را بنویسید

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