آردوینو Arduinoپروژه های آردوینو

آموزش ساخت تیونر گیتار با آردوینو و آپ امپ

سلام. آموزش ساخت تیونر گیتار با Arduino و آپ امپ LM386 (پروژه آردوینو و Op-amp) را آماده کردیم.

آموزش ساخت تیونر گیتار با آردوینو

آموزش ساخت تیونر گیتار با آردوینو

در این پروژه آردوینو ما یک تنظیم کننده گیتار با استفاده از آپ امپ میسازیم. یعنی دیگر نیازی به استفاده از تیونر آماده و نرم افزار تلفن همراه نیست ما همه این کار ها را با برد آردوینو Uno انجام میدهیم.

تنظیم کننده گیتار چگونه کار میکند؟

فرکانس 7 نت موسیقی در زیر آورده شده است :

  • A=27.50hz
  • B=30.87Hz
  • C=16.35Hz
  • D=18.35Hz
  • E=20.60hz
  • F=21.83Hz
  • G=24.50Hz

گیتار معمولاً دارای 6 رشته است که با نت های E ، A ، D ، G ، B ، E مشخص شده اند. ما در حال طراحی تیونر گیتار برای کمک به تنظیم گیتار با استفاده از فرکانس های این نت ها هستیم. با توجه به تنظیم استاندارد گیتار ، نت و فرکانس مربوط به هر رشته در جدول زیر نشان داده شده است.

برای یادگیری کامل آردوینو (برنامه نویسی حرفه ای، ارتباط با اندروید، ساخت ربات) ، روی دوره آموزش آردوینو کلیک کنید.

همچنین اگر میخواهید الکترونیک را با فیلم های آموزشی یاد بگیرید، روی دوره آموزش الکترونیک کلیک کنید.

رشته فرکانس نشانه
1 (E) 329.63 Hz E4
2 (B) 246.94 Hz B3
3 (G) 196.00 Hz G3
4 (D) 146.83 Hz D3
5 (A) 110.00 Hz A2
6 (E) 82.41 Hz E2

 

نحوه کار پروژه

نحوه کار پروژه بسیار ساده است. ما سیگنال های صوتی ایجاد شده توسط گیتار را به فرکانس تبدیل میکنیم. سپس اگر فرکانس تار زده شده بیشتر یا کمتر از حد استاندارد باشد ال ای دی زرد مربوط به کم یا زیاد روشن میشوند و در صورتی که تار با تنظیم درست و فرکانس صحیح نواخته شود چراغ LED سبز روشن میشود. توجه داشته باشید ما از 6 دکمه استفاده میکنیم و برای تنظیم هر تار گیتار ، باید دکمه مربوط به آن را فشار دهید.

تشخیص و تبدیل فرکانس شامل 3 مرحله اصلی است.

  1. تقویت کننده
  2. جبران کننده
  3. تبدیل آنالوگ به دیجیتال (نمونه گیری)

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

قطعات مورد نیاز پروژه تنظیم کننده گیتار

  1. برد آردوینو Uno
  2. IC آپ امپ LM386
  3. میکروفن
  4. پتانسیومتر 10 کیلو اهم
  5. خازن 0.1uf – دو عدد
  6. خازن 10uf – سه عدد
  7. مقاومت 100 اهم – چهار عدد
  8. مقاومت 10 اهم – یک عدد
  9. ال ای دی زرد 5 میلی متر – دو عدد
  10. ال ای دی سبز 5 میلی متر
  11. دکمه – شش عدد

توضیحات کد پروژه

کد کامل پروژه در فایل دانلود قرار داده شده است. در ابتدا ما یک آرایه برای کلید نت ها تعریف میکنیم :

int buttonarray[] = {13, 12, 11, 10, 9, 8}; // [E2, A2, D3, G3, B3, E4]

سپس فرکانس این آرایه ها را تعریف میکنیم :

float freqarray[] = {82.41, 110.00, 146.83, 196.00, 246.94, 329.63};// بر حسب Hz

سپس پین های ال ای دی ها را تنظیم میکنیم :

int lowerLed = 7; // ال ای دی کمتر = زرد
int higherLed = 6; // ال ای دی بیشتر = زرد
int justRight = 5; // ال ای دی صحیح = سبز

و پس از آن نوع هر پین را مشخص میکنیم :

  pinMode(lowerLed, OUTPUT); // تنظیم پین به عنوان خروجی
  pinMode(higherLed, OUTPUT); // تنظیم پین به عنوان خروجی
  pinMode(justRight, OUTPUT); // تنظیم پین به عنوان خروجی
  Serial.begin(115200); // نرخ ارتباط سریال را تعیین میکنیم

سپس در این قسمت ما نحوه روشن شدن ال ای دی ها را تنظیم میکنیم :

        if (digitalRead(buttonarray[i])== HIGH)
        {
          if (freq_per - freqarray[i] < 0) // اگر فرکانس کمتر از 0 باشد
          {
            digitalWrite(lowerLed, HIGH); // ال ای دی کمتر روشن شود
          }
          else if(freq_per - freqarray[i] > 10) // اگر فرکانس بیشتر از 10 باشد
          {
            digitalWrite(higherLed, HIGH); // ال ای دی بیشتر روشن میشود
          }
          else
          {
            digitalWrite(justRight, HIGH); // اگر فرکانس درست باشد ، ال ای دی صحیح روشن میشود
          }
        
        }
موارد موجود در فایل : شماتیک ، فایل Hex ، فایل آردوینو و …

prprtun(irenx.ir) دانلود فایل های پروژه

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید
مطلب پیشنهادی:  پروژه تشخیص حرکت با آردوینو و سنسور PIR
[lrm_form default_tab=”register” logged_in_message=””]

میخواهید برنامه نویسی STM32 را یاد بگیرید؟

دوره آموزش STM32

میخواهید الکترونیک را یاد بگیرید؟

دوره آموزش الکترونیک
دوره آموزش آردوینو

میخواهید آردوینو را به صورت پروژه محور یاد بگیرید؟ برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید

محمد رحیمی

محمد رحیمی

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

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

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