آموزش ماژول پخش‌کننده صوت HSC001

فهرست مطالب

مقدمه

آیا قصد ورود به حوزه پخش صدا در حوزۀ الکترونیک را دارید؟ برای شروع کار، ما به شما ماژول HSC001 را پیشنهاد می‌کنیم. این ماژول یک پخش‌کننده صوتی 24 بیتی است که با توجه به امکانات، اندازه و هزینه، کاربردهای متنوعی دارد، از جمله: پخش موزیک در آسانسور، صداهای دستگاه‌های مختلف، و … . در این آموزش، نحوه راه اندازی این ماژول و پخش فایل¬های صوتی توسط آن را به صورت گام به گام به شما توضیح خواهیم داد.

آنچه در این آموزش یاد می گیرید

• پخش فایل‌های صوتی با استفاده از ماژول HSC001

معرفی ماژول صوتی HSC001

HSC001 یک تراشه پخش‌کننده است که قابلیت پخش فایل¬های MP3 و WAV را دارد. همچنین، این ماژول از USB/SPI FLASH و از سیستم‌های فایل FAT16 و FAT32 پشتیبانی می‌کند. عملکرد این سنسور، از طریق پورت سریال قابل کنترل است. از بزرگترین ویژگی های محصول، می توان به موارد زیر اشاره کرد:
• پخش موسیقی مشخص شده از طریق دستورالعمل‌های ساده در پورت سریال
• عدم وجود عملیات دست و پا گیر
• پخش مستقیم آهنگ‌های داخلی SPI FLASH
• دانلود مستقیم از USB کامپیوتر به SPI FLASH
• کاربرد ساده
• پایدار و قابل اعتماد
این تراشه یک محصول کاملا سفارشی‌سازی شده است و یک راه‌حل کم هزینه برای پخش صدای ثابت می باشد.

مشخصات

1. نرخ نمونه‌برداری (KHz): 8/11.025/12/16/22.05/24/32/44.1/48
2. خروجی 24 بیتیDAC ، محدوده دینامیکی 90 دسی بل، نسبت سیگنال به نویز از 85 دسی بل
3. پشتیبانی کامل از FAT16، FAT32 و حافظه SPI Flash در محدودۀ 512K-128M بایت
4. حالت‌های کنترل چندگانه، حالت پورت سریال، حالت کنترل با دکمه KEY AD
5. داده‌های صوتی بر اساس پوشه‌ها مرتب می‌شوند، حداکثر 255 پوشه پشتیبانی می‌شود و می‌توان 1000 آهنگ را به هر پوشه اختصاص داد.
6. تنظیم صدا در 30 سطح، EQ در 5 حالت

کاربردها

1. پخش صدای ناوبری خودرو
2. اعلان‌های صوتی برای بازرسی حمل و نقل جاده‌ای و ایستگاه‌های عوارض.
3. درخواست‌های صوتی برای بازرسی ایمنی در ایستگاه‌های راه‌آهن و ایستگاه‌های اتوبوس.
4. اعلان‌های صوتی در سالن های تجاری ، ارتباطات و مالی.
5. فرمان‌های صوتی برای تأیید ورود و خروج وسیله نقلیه.

معرفی پایه‌های ماژول HSC001

• SP+: خروجی مثبت تقویت‌کننده (بلندگو تا 3 وات)
• GND: زمین
• VDD: تغذیه ماژول (3.3 تا 5.4 ولت)
• SP-: خروجی منفی تقویت‌کننده (بلندگو تا 3 وات)
• MUTE: بی صدا کردن خروجی
• DP: پایه USB-DP
• DM: پایه USB-DM
• ADK: دکمه¬های ADK
• TX: خروجی داده سریال UART – سطح TTL (3.3 ولت)
• RX: ورودی داده سریال UART – سطح TTL (3.3 ولت)

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

پخش فایل¬های صوتی با استفاده از ماژول HSC001

در این قسمت، می¬خواهیم فایل¬های صوتی ذخیره شده در حافظه فلش متصل به ماژول را پخش کنیم. برای انجام این کار، باید دستورات مرتبط از طریق پورت سریال به ماژول ارسال شود.
پروتکل و دستورالعمل های مرتبط را می¬توانید در دیتاشیت ماژول که در صفحه محصول قرار گرفته است مطالعه کنید.
هر دستوری که به این ماژول ارسال می¬شود، باید دارای فرمت زیر باشد.
Start Bit (0x7E) + Len (Bits length: Len+CMD+para1+para2) + CMD + para1 + para2 + End Bit (0xEF)
که در این عبارت:
• Len: تعداد بیت¬های Len و بعد از آن، به غیر از End Bit
• CMD: کلمه دستوری مانند پخش، مکث، کنترل حجم صدا و غیره.
• para1: پارامتر اول مربوط به دستور CMD
• para2: پارامتر دوم مربوط به دستور CMD
به عنوان مثال، دستور زیر اولین فایل ذخیره شده در حافظه فلش را پخش می¬کند:
7E04410001EF
در این دستور، طول داده 4 درج شده که به ترتیب [04 41 00 01] است.
تمامی دستورات به صورت توضیح داده شده و از طریق درگاه سریال به ماژول ارسال می شوند.

سیم کشی

سیم کشی بین ماژول و برد آردوینو را به صورت تصویر زیر انجام دهید. سپس حافظه فلشی که حاوی فایل های صوتی پشتیبانی شده توسط ماژول با نام گذاری های 0001، 0002 … باشد را با استفاده از کابل OTG به ماژول متصل کنید.

کد

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

				
					byte currentSound = 0x01;
void setup() {
  // put your setup code here, to run once:
  // start serial port at 9600 bps:
  Serial.begin(9600);
  //while (!Serial) {
  //  ; // wait for serial port to connect. Needed for native USB port only
  //}

}

void loop() {
  // put your main code here, to run repeatedly:
    Serial.write(0x7E);
    Serial.write(0x04);
    Serial.write(0x41);
    Serial.write(0x00);
    Serial.write(currentSound);
    Serial.write(0xEF);
    delay(10000);
    currentSound = currentSound + 0x01;
    if(currentSound > 10)
      currentSound = 1;
}

				
			

توضیحات کد

• تعریف متغیر ذخیره‌کننده شماره فایل در حال پخش

				
					byte currentSound = 0x01;
				
			

• فعال کردن ارتباط سریال با بادریت 9600

				
					  Serial.begin(9600);	
				
			

• انتخاب فایل برای پخش
در این دستورات، به ترتیب، بیت شروع (0x7E)، تعداد بیت ها (0x04)، درخواست انتخاب فایل (0x41)، رقم هزارگان و صدگان شماره فایل (0x00)، رقم ده گان و یکان شماره فایل (currentSound) و بیت پایان (0xEF) به ماژول ارسال می شود. در صورت دریافت و اجرای موفق دستورات، ماژول لغت OK را در درگاه سریال بر می گرداند.

				
					    Serial.write(0x7E);
    Serial.write(0x04);
    Serial.write(0x41);
    Serial.write(0x00);
    Serial.write(currentSound);
    Serial.write(0xEF);

				
			

• توقف به مدت 10 ثانیه

				
					delay(10000);	
				
			

• اضافه کردن یک واحد به شماره فایل

				
					currentSound = currentSound + 0x01;
if(currentSound > 10)
  currentSound = 1;

				
			

یک گام جلوتر

در این آموزش، با ماژول صوتی HSC001 و نحوه کار با آن از طریق درگاه سریال آشنا شدید. با استفاده از کد نمونه ارائه شده، دستور پخش فایل مورد نظر را به آن ارسال و فایل مورد نظر خود را پخش کردید.
در دیتاشیت این ماژول، دستورات بسیار متنوعی درج شده است که امکان کنترل همه قسمت های یک پخش کننده صوت حرفه¬ای را فراهم می کند.
حالتی دیگر برای کنترل این ماژول وجود دارد که استفاده از پایه ADK است. این پایه را طبق نقشه شماتیک زیر به کلیدهای مختلف متصل کنید. با استفاده از کلیدهای دیگر نیازی به ارسال دستورات از طریق درگاه سریال وجود ندارد و شما تنها با استفاده از این ماژول و چند عدد کلید فشاری، یک دستگاه پخش‌کننده صوت در اختیار خواهید داشت.

برای تجربه بهتر با این ماژول، در کنار آن می توانید از ماژول های دیگری مانند ال‌سی‌دی کاراکتری یا TFT به همراه صفحه تاچ نیز استفاده کنید تا یک رابط کاربری جذاب برای کاربر داشته باشید.

آموزش های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد.