ساخت موزیک پلیر با آردوینو – پخش صدا با آردوینو

در این پروژه، به شما نشان خواهیم داد که با استفاده از آردوینو و ماژول کارت خوان MicroSD، یک موزیک پلیر ساده تهیه کنید. با استفاده از این پروژه، می توانید فایل های صوتی (با فرمت خاص) که با استفاده از Arduino Uno یا Mega در microSD  ذخیره می شوند را، پخش کنید. پروژه پخش صدا با آردوینو یک پروژه ساده ولی فوق العاده کاربری در پروژه‌هایی که نیاز به پخش صدا است مانند نوبت دهی بانک‌ها است.

مقدمه

ساخت موزیک پلیر با استفاده از Arduino Uno یک پروژه کوچک هیجان انگیز است. لزوماً در این پروژه نیازی نیست که یک موزیک پلیر قدرتمند پیاده سازی شود بلکه هدف بررسی قابلیت های Arduino Uno یا سایر بردهای آردوینو برای پخش فایل های صوتی با کمک فایل های کتابخانه پشتیبان است.

هنگامی که یک مدار با استفاده از Arduino Uno، یک ماژول  microSD (آداپتور)، یک  microSD و بلندگوها یا هدفون دارید، شما می توانید چندین افکت صوتی را در پروژه های خود پیاده سازی کنید، که در شرایط عادی امکان پذیر نیست. در ضمن اگر علاقمند بودید به پروژه تولید تن صدا با آردوینو هم سری بزنید.

راهنمای اتصال ماژول کارت‌حافظه MicroSD به آردوینو

همانطور که قبلا ذکر شد، مؤلفه های اصلی پروژه موزیک پلیر مبتنی بر آردوینو عبارتند از برد آردوینو و ماژول / آداپتور SD . فایل های صوتی ذخیره شده در microSD  توسط آردوینو با کمک ماژول SD Card خوانده می شوند و از طریق بلندگو پخش می شوند. بنابراین، بسیار مهم است که شما بفهمید که چگونه یک ماژول کارتSD  را به آردوینو  وصل کنید و داده ها را از یک microSD  بخوانید یا بنویسید.

راهنمای اتصال ماژول کارت‌حافظه MicroSD به آردوینو

شماتیک مدار پخش آهنگ با آردوینو

تصویر زیر مدار پروژه را نشان می دهد. توجه داشته باشید که مدار تنها اتصالات بین Arduino Uno و آداپتورcard SD و سه دکمه متصل به آردوینو را نشان می دهد، که عملکردهای پخش مانند play یا pause، previous track و next track را کنترل می کنند.

علاوه بر این، یک بلندگو به آردوینو وصل شده است، اما در مدار نشان داده نشده است. اتصالات بین آردوینو و بلندگو (یا هدفون) اتصال مثبت بلندگو/ هدفون است که به پین ​​9 آردوینو وصل شده و پین منفی به GND متصل شده است.

مطلب پیشنهادی:  تغذیه آردوینو با سلول‌های خورشیدی آردوینو

شماتیک مدار پخش آهنگ با آردوینو

قطعات مورد نیاز

طراحی مدار موزیک پلیر با استفاده از آردوینو

همانطور که قبلاً ذکر شد، بلندگو به پین ​​9 و GND (در نمودار مدار نشان داده نشده است) متصل می شود. علاوه بر این، ما باید ماژول SD Card و سه پوش باتن را به هم وصل کنیم.

از آنجا که رابط بین Arduino UNO و ماژول SD Card از طریق ارتباط SPI است، نحوه اتصالات به شرح زیر است.

پین cs از ماژول SD Card به پین ​​4 متصل شده است. پین (cs (chip select می تواند به هر پین دیجیتال I / O متصل شود اما بقیه پین ​​های SPI ماژول card SD باید به پین ​​های SPI مربوطه آردوینو متصل شوند.

پین (SPI Clock) SCK SD Card به پین ​​13 آردوینو وصل شده است. پین های MOSI و MISO ماژول card SD به ترتیب به پین ​​های 11 و 12 Arduino UNO متصل می شوند.

پین های تغذیه یعنی VCC و GND به  +5V و GND آردوینو وصل می شوند.

علاوه بر این، من از 3 پوش باتن برای کنترل پخش موسیقی استفاده کرده ام.

دکمه Play / Pause به پین ​​5 متصل است، دکمه Next Track به پین 6 وصل شده و دکمه Previous Track به پین ​​7 متصل است. تمام این دکمه ها با پول آپ های داخلی در برنامه پیکربندی شده اند.

تهیه فایلهای صوتی و کتابخانه PCM

فایل های WAV

قبل از ادامه کار، دو مورد وجود دارد که باید به آن توجه داشت. اولین مورد این است که فایل های صوتی یا موسیقی خود را به فرمت WAV تبدیل کنید یعنی آنها باید فایل های wav باشند. دلیل این امر این است که، کتابخانه های پشتیبان، که در ادامه به آنها اشاره خواهیم کرد، فقط از PCM Audio در فرمت فایل WAVE (.wav) پشتیبانی می کنند.

بنابراین، اولین قدم شما تبدیل فایل های 3mp خود به فایل های wav است. برای این کار می توانید از هر نرم افزار مبدل صوتی، گزینه تبدیل در VLC Media Player یا هر ابزار آنلاین استفاده کنید. من از یک ابزار آنلاین با نام ONLINE-CONVERT.com استفاده می کنم. این برنامه از چندین نوع فایل مانند فایل های فشرده، صدا، اسناد و غیره پشتیبانی می کند.

مطلب پیشنهادی:  ساخت گیمبال با آردوینو - لرزشگیر دوربین

به گزینه Audio Converter در سایت بروید و گزینه Convert to WAV را انتخاب کنید یا از  لینک زیر استفاده کنید:

Online Music Converter

پرونده mp3 را آپلود کنید و در تنظیمات اختیاری موارد زیر را تنظیم کنید:

  • بیت رزولیشن: 8 بیت
  • سمپل ریت: 16000 هرتز
  • کانال صوتی: مونو
  • فرمت PCM: PCM بدون علامت 8 بیتی

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

کتابخانه PCM

نکته مهم دوم اضافه کردن یک کتابخانه ویژه به نام TMRpcm است که توسط TMRh20 توسعه داده شده است. می توانید آن را مستقیماً از صفحه رسمی GitHub دانلود یا آن را مستقیماً در Arduino IDE اضافه کنید. اگر در مورد گیت‌هاب و نحوه دانلود از آن اطلاعاتی ندارید توصیه می‌کنم آموزش گیت‌ هاب را ببینید.

https://github.com/TMRh20/TMRpcm/archive/master.zip

در Arduino IDE، به ….Tools Management Libraries بروید و TMRpcm را جستجو کنید و روی نصب کلیک کنید.

توجه: این پروژه همچنین به کتابخانه های SPI و SD احتیاج دارد. این کتابخانه ها داخلی هستند.

#include <SD.h> // need to include the SD library
#define SD_ChipSelectPin 4 //connect pin 4 of arduino to cs pin of sd card
#include <TMRpcm.h> //Arduino library for asynchronous playback of PCM/WAV files
#include <SPI.h> //  need to include the SPI library

TMRpcm tmrpcm; // create an object for use in this sketch
int temp=1;
int pp=5;
int next=6;
int prev=7;
void setup()
{ 
 pinMode(pp,INPUT_PULLUP);
 pinMode(next,INPUT_PULLUP);
 pinMode(prev,INPUT_PULLUP);
 
 tmrpcm.speakerPin = 9; //5,6,11 or 46 on Mega, 9 on Uno, Nano, etc
 Serial.begin(9600);
 if (!SD.begin(SD_ChipSelectPin)) // returns 1 if the card is present
 {
  Serial.println("SD fail");
  return;
 }

 tmrpcm.setVolume(5); //
 tmrpcm.play("song1.wav"); //the sound file "song" will play each time the arduino powers up, or is reset
                          //try to provide the file name with extension
                     
}


void loop()
{  
  while(digitalRead(pp)==0 || digitalRead(next)==0 || digitalRead(prev)==0)
  {
    if(digitalRead(pp)==0)
    {
      tmrpcm.pause();
      while(digitalRead(pp)==0);
      delay(200);
    }
    else if(digitalRead(next)==0)
    {
      if(temp<4)//temp should be lesser than no. of songs 
      temp=temp+1;
      while(digitalRead(next)==0);
      delay(200);
      song();
    }
    else if(digitalRead(prev)==0)
    {
      if(temp>1)
      temp=temp-1;
      while(digitalRead(prev)==0);
      delay(200);
      song();
    }
  }
}

void song (void)
{
  if(temp==1)
  {
    tmrpcm.play("song1.wav");  
  }
  else if(temp==2)
  {
    tmrpcm.play("song2.wav");  
  }
  else if(temp==3)
  {
    tmrpcm.play("song3.wav");  
  }
  else if(temp==4)
  {
    tmrpcm.play("song4.wav");  
  }
}

نحوه کار موزیک پلیر با آردوینو

همانطور که در ابتدا گفته شد پس از برقراری اتصالات سخت افزاری، آماده سازی فایل های صوتی، تنظیم Arduino IDE ( نصب کتابخانه ها)، شما آماده استفاده از موزیک پلیر خود با استفاده از آردوینو هستید.

مطلب پیشنهادی:  راه اندازی ماژول ws2812 با اردینو

ابتدا با استفاده از هر نرم افزار فرمت کننده مانندSD Memory Card Formatter ، microSD Card را به صورت FAT فرمت کنید و کلیه فایلهای صوتی WAV را روی کارت کپی کنید. کارت را درون شکاف موجود در ماژول sd cardقرار داده و تمام اتصالات لازم (اگر قبلاً متصل نشده است) را برقرار کنید.

نحوه کار موزیک پلیر با آردوینو

Arduino UNO را به رایانه متصل کنید و در Arduino IDE از کد ذکر شده فوق استفاده کنید. در کد، تغییرات لازم را ایجاد کنید، به عنوان مثال در دستور ()void song  ، نام فایل را با نام آهنگ در card SD خود جایگزین کنید.

من تمام فایلهای صوتی خود را با عنوان song1.wav ، song2.wav و غیره نامگذاری کرده ام و از همین اسم ها در دستور استفاده کرده ام. پس از ایجاد تغییرات لازم، کد را آپلود کنید.

به طور پیش فرض، اولین آهنگ (به عنوان مثال song1.wav) به محض ریست Arduino به طور خودکار پخش می شود. می توانید از دکمه Play / Pause  برای پخش یا مکث در آهنگ فعلی، از دکمه Next برای پخش آهنگ بعدی و دکمه Prev برای پخش آهنگ قبلی استفاده کنید.

Ref: electronicshub

نتیجه

  • در اینجا یک پروژه ساخت پخش کننده موسیقی با آردوینو پیاده سازی می شود، که می توانید با استفاده از Arduino UNO، فایل های صوتی را پخش کنید.
  • این پروژه از فایل‌های WAV پشتیبانی می‌کند و همچنین می تواند پخش کننده صدا را کنترل کند.
  • برای تقویت توان خروجی می‌توانید از آمپلی فایر اضافی مانند آیسی LM386 استفاده کنید.
  • با استفاده از پروژه پخش فایل صوتی با آردوینو می توانید افکت صوتی را در پروژه های آردوینو خود مانند پروژه نوبت دهی بانک پیاده سازی کنید.

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

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

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

10 دیدگاه

  1. سلام خسته نباشيد من اين پروژه موزيك پلير با اردينو رو پياده كردم اما صداي بسيار كم و نا مفهومي دارد دليلش چيه

  2. با سلام
    آیا ماژول پخش صدا که موزیک ها توسط آردوینو انتخاب شوند وجود دارد و
    کدام مدل؟

  3. سلام
    ممنون از شما
    من میخواهم برنامه ای بنویسم که دقیقا فایل مورد نظر را برایم پخش بکنه و با کلید next این کار را نکنم. مثلا 100 تا فایل دارم و میخواهم به ورودی میکرو بصورت سریال از 0 تا 100 یه عددی و بفرستم و اون فایل اجرا بشه
    ممنون می شوم راهنمائیم کنید

  4. سلام من این پروژه را اچرا کردم ولی فالی پخش نمی شود

  5. سلام چطور میتونم این ماژول را به آردو اینو مگا متصل کنم

  6. سلام بلندگو ها رو به کجا وصل می کنیم؟

  7. سلام من این پروژه رو انجام دادم ولی صدایی نمیاد
    دلیلیش چیه؟ (صدای بوق میاد)

  8. چطوری اسم اهنگ رو عوض کنم لصفا راهنمایی کنید