مقدمه
آیا به دنبال افزایش قابلیتهای صوتی به پروژههای خود هستید؟ این آموزش را از دست ندهید!
در این آموزش، شما را با یکی از ماژولهای کاربردی پخش صدا به نام DY-SV17F و نحوه راهاندازی و تنظیم آن با استفاده از آردوینو آشنا خواهیم کرد. چه از مبتدیان در زمینه الکترونیک باشید، چه یک توسعهدهنده حرفهای، این آموزش به شما کمک خواهد کرد که این ماژول را به راحتی راهاندازی کرده و فایلهای صوتی خود را پخش کنید.
آنچه در این آموزش یاد میگیرید
• آشنایی با ماژول پخش صوت DY-SV17F
• آشنایی با نحوه برقراری ارتباط UART با آردوینو
ویژگیهای ماژول پخش صدای DY-SV17F
ماژول DY-SV17F MP3 Player، دارای چندین ویژگی جذاب است که آن را از دیگر ماژولهای پخش صوت متمایز میکند.
برخی از این ویژگیها عبارتند از: خروجی صوتی تقویت شده 5 وات، حافظه داخلی 4MB و، از همه مهمتر، امکان کنترل آن از طریق 3 روش (ارتباط سریال، دیجیتال و دکمهای).
برای اطلاعات بیشتر، میتوانید دیتاشیت ماژول DY-SV17F را از این لینک دانلود کنید.
DY-SV17F Datasheet
معرفی پایهها (Pinout) و مودهای DY-SV17F
جهت تنظیم مودهای کاری، باید این پایهها را به صورت زیر تنظیم کنید:
مود UART
پایههای CON1 تا CON3، باید به ترتیب به GND، GND و 5v وصل شود. در این حالت، پایههای IO0 و IO1، به عنوان TXD و RXD عمل میکنند.
مود I/O Integrated 0
پایههای CON1 تا CON3 را باید به ترتیب به GND، GND و GND وصل کنید. این مد 255 فایل صوتی را پشتیبانی میکند. با تنظیم پایههای I/O، یکی از فایلها انتخاب و پخش میشود. با آزاد کردن پایهها (HIGH کردن)، فایل صوتی تا انتها پخش شده و سپس متوقف میشود.
اگر در حین پخش فایل، فایل دیگری انتخاب شود، فایل جدید باز شده و تا انتها پخش خواهد شد.
در صورتی که ورودیهای I/O روی فایلی تنظیم بماند، پس از پایان پخش فایل صوتی، پخش آن دوباره از اول آغاز میشود.
پایه CON3، در حین پخش فایل صوتی، به صورت Output عمل کرده و خروجی آن HIGH است. با قطع شدن پخش فایل صوتی، خروجی LOW میشود.
مود I/O Integrated 1
پایههای CON1 تا CON3 را باید به ترتیب به 5v ، GND و GND وصل کنید. این مد هم از 255 فایل صوتی پشتیبانی میکند. با تنظیم پایههای I/O، یکی از فایلها انتخاب و پخش میشود. با آزاد کردن پایهها (HIGH کردن)، پخش فایل صوتی متوقف میشود.
در صورتی که ورودیهای I/O روی فایلی تنظیم بماند، پس از پایان پخش فایل صوتی، پخش آن دوباره از اول آغاز میشود.
پایه CON3، در حین پخش فایل صوتی به صورت Output عمل کرده و خروجی آن HIGH است. با قطع شدن پخش فایل صوتی، خروجی نیز LOW میشود.
مود I/O Independent 0
پایههای CON1 تا CON3 را باید به ترتیب به GND، 5v و GND وصل کنید. این مد از 8 فایل صوتی پشتیبانی میکند. با LOW کردن هریک از پایههای I/Ox (x: شماره پایه)، فایل صوتی با همان شماره پخش میشود. با آزاد کردن پایهها (HIGH کردن)، فایل صوتی تا انتها پخش شده و سپس متوقف میشود.
اگر در حین پخش فایل، فایلی دیگر انتخاب شود، فایل جدید باز شده و تا انتها پخش خواهد شد.
در صورتی که ورودیهای I/O روی فایلی تنظیم بماند، پس از پایان پخش فایل صوتی، پخش آن دوباره از اول آغاز میشود.
پایه CON3، در حین پخش فایل صوتی به صورت Output عمل کرده و خروجی آن HIGH است. با قطع شدن پخش فایل صوتی، خروجی نیز LOW میشود.
مود I/O Independent 1
پایههای CON1 تا CON3 را باید به ترتیب به 5v، 5v و GND وصل کنید. این مد هم از 8 فایل صوتی پشتیبانی میکند. با LOW کردن هریک از پایههای I/Ox (x: شماره پایه)، فایل صوتی با همان شماره پخش میشود. با آزاد کردن پایهها (HIGH کردن)، پخش فایل صوتی در همان لحظه متوقف میشود.
در صورتی که ورودیهای I/O روی فایلی تنظیم بماند، پس از پایان پخش فایل صوتی، پخش آن دوباره از اول آغاز میشود.
پایه CON3، در حین پخش فایل صوتی به صورت Output عمل کرده و خروجی آن HIGH است. با قطع شدن پخش فایل صوتی، خروجی نیز LOW میشود.
مود Standard MP3
پایههای CON1 تا CON3 را باید به ترتیب به 5v ، GND و 5v وصل کنید. در این حالت، پایههای I/O0 تا I/O4 به ترتیب به عنوان کلید NEXT/V+، PREV/V-، Play/Pause/MODE، EQ (اکولایزر) و RPT (تکرار) عمل میکنند.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
راهاندازی ماژول DY-SV17F در مود UART
گام اول : سیمبندی
گام دوم : کد
کد زیر برای راهاندازی ماژول Dy-SV17F در مود سریال نوشته شده است.
ابتدا این کتابخانه را دانلود کرده و در نرمافزار آردوینو نصب کنید.
سپس کد زیر را بر روی آردوینوی خود آپلود نمایید.
راهنمای کد در کنار آن به صورت کامنت درج شده است.
/*
modified on June 5, 2018
by SnijderC Chris from github.com/SnijderC/dyplayer/tree/master/examples/PlaySoundByNumber
Home
*/
#include
#include "DYPlayerArduino.h"
// Initialise the player, it defaults to using Serial.
DY::Player player;
void setup() {
player.begin(); //initialize the module
player.setVolume(30); // Set Volume to 100%
}
void loop() {
player.playSpecified(1); //Play specified file
delay(5000); //wait for 5 second
}
راهاندازی ماژول DY-SV17F در مود I/O Integrated 0/1
گام اول : سیمبندی
مطابق مدار زیر، سیمها را وصل کنید. این مدار برای حالت I/O Integrated 0 است. برای تغییر به حالت I/O Integrated 1، پایه مقاومتی را که یک سمت آن به سیم صورتی متصل شده، از GND جدا کرده و به 5v وصل کنید.
گام دوم : کد
کد زیر را بر روی آردوینوی خود آپلود نمایید.
راهنمای کد در کنار آن به صورت کامنت درج شده است.
int TrackNo = 0x01;
unsigned long previousMillis = 0;
const long interval = 1000;
void setup() {
DDRC = 0xFF; //Setup Pins 0-7 as output
pinMode(8, INPUT_PULLUP); //Next track
pinMode(9, INPUT_PULLUP); //Previous track
PORTC = TrackNo; //Select and play track 1
}
// the loop function runs over and over again forever
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval)//Play for 10 seconds
{
if (TrackNo = 255)
TrackNo = 0;
TrackNo = TrackNo + 1; //change track (increase track number)
PORTC = TrackNo; //Select and play track with number 1 to 255
}
if(digitalRead(8) == LOW)
{
if (TrackNo = 255)
TrackNo = 0;
TrackNo = TrackNo + 1;
PORTC = TrackNo; //Select and play track with number 1 to 255
delay(10);
}
if(digitalRead(9) == LOW)
{
if (TrackNo = 0)
TrackNo = 256;
TrackNo = TrackNo - 1;
PORTC = TrackNo; //Select and play track with number 1 to 255
delay(10);
}
}
این کد، فایل شماره 1 تا 255 را به ترتیب به مدت 10 ثانیه پخش میکند. در حین پخش، اگر پایههای 8 یا 9 به واسطه کلید به GND وصل شوند، شماره فایل صوتی در حال پخش، 1 عدد افزوده یا کاسته میشود.
راهاندازی ماژول DY-SV17F در مود I/O Independent 0/1
گام اول: سیمبندی
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطر آنچنان که لازم اسمطابق تصویر زیر، سیم کشی را انجام دهید. این مدار برای حالت I/O Independent 0 است. برای تغییر به حالت I/O Independent 1، پایه مقاومتی را که یک سمت آن به سیم صورتی متصل شده، از GND جدا کرده و به 5v وصل کنید.
گام دوم : کد
کد زیر را بر روی آردوینوی خود آپلود نمایید.
راهنمای کد در کنار آن به صورت کامنت درج شده است.
int Number = 0;
int TrackNo = 0x01;
unsigned long previousMillis = 0;
const long interval = 10000;
void setup() {
DDRC = 0xFF; //Setup Pins 0-7 as output
pinMode(8, INPUT_PULLUP); //Next track
pinMode(9, INPUT_PULLUP); //Previous track
PORTC = TrackNo; //Select and play track 1
}
// the loop function runs over and over again forever
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval)//Play for 10 seconds
{
if (Number = 7)
Number = 0;
else
Number = Number + 1; //change track (increase track number)
TrackNo = 0xFF - 2 ^ Number;
PORTC = TrackNo; //Select and play track with number 1 to 8
}
if (digitalRead(8) == LOW)
{
if (Number = 7)
Number = 0;
else
Number = Number + 1;
TrackNo = 0xFF - 2 ^ Number;
PORTC = TrackNo; //Select and play track with number 1 to 8
delay(10);
}
if (digitalRead(9) == LOW)
{
if (Number = 0)
Number = 8;
Number = Number - 1;
TrackNo = 0xFF - 2 ^ Number;
PORTC = TrackNo; //Select and play track with number 1 to 8
delay(10);
}
}
این کد، فایل شماره 1 تا 8 را به ترتیب به مدت 10 ثانیه پخش میکند. در حین پخش، اگر پایههای 8 یا 9 برد آردوینوی به واسطه کلید به GND وصل شوند، شماره فایل صوتی در حال پخش، 1 عدد افزوده یا کاسته میشود.
راهاندازی ماژول DY-SV17F در مود I/O Independent 0/1 با کلید
مطابق تصویر زیر، سیمکشی را انجام دهید. این مدار برای حالت I/O Independent 0 است.
با فشردن هریک از کلیدها، فایلهای صوتی 00001.mp3 تا 00008.mp3 پخش میشود.
راهاندازی ماژول DY-SV17F در مود Standard MP3
مطابق تصویر زیر، سیمکشی را انجام دهید.
عملکرد هریک از کلیدهای فشاری متصل به ماژول، در کنار آن نوشته شده است. با این سیم کشی، میتوانید یک دستگاه پخشکننده فایل mp3 بسازید.
یک گام جلوتر
در این آموزش، با انواع روشهای راهاندازی ماژول پخش صوت DY-SV17F آشنا شدید. مشاهده کردید که این ماژول را میتوانید تنها با یک دکمه راهاندازی کنید یا برای کاربردهای حرفهایتر، از میکروکنترلر استفاده کنید. بنابراین این ماژول کاربردهای متنوعی دارد، از جمله: سیستم پخش آهنگ آسانسور، ساخت عروسک و اسباب بازی موزیکال، ربات سخنگو و …
Comments (19)
سلام وقت بخیر به جای uno r3 میتونیم از برد پیکو استفاده کنیم ؟
سلام وقت شما هم بخیر،
بله در حالت کلی امکانپذیره اما نه با این کد و سیمبندی، در اون صورت شما باید برنامهنویسی و نحوه اتصال رو متناسب با برد جدید انجام بدید.
سلام. برای انتقال فایل mp3 پورت میکرو USB رو با کابل USB مستقیم به USB لپ تاپ وصل میکنیم؟! من این کارو کردم برد نزدیک بود بسوزه که درش اوردم. لطفا راهنمایی کنید.ممنون.
سلام،
من این ماژول رو با کابل به لپ تاپ وصل کردم تا فایل mp3 رو روش بریزم که متوجه شدم داره داغ میکنه سریع کابل رو درش اوردم. بعد چند دقیقه دوباره امتحان کردم ولی دیگه عکس العملی نشون نداد. نه دفعه اول نه دوم هیچ درایوی رو روی سیستم نشون نداد. چرا اینجوری شد؟یعنی ماژول سوخته؟! ممنون میشم اگه راهنمایی کنید.
با تشکر از سایت خوبتون!
سلام
به احتمال زیاد ماژولتون سوخته بله
سلام من میخواستم با یه ماژول کاهنده و یه باتری قلمی و اسپیکر راش بندازم فقط سوالم. اینه خروجی ماژول کاهنده باید چطوری متصل بشه که داغ نکنه یا مشکل نداشته باشه ماژول یعنی مثبت به قیمت ولت و منفی به قسمت gnd وصل بشه کافیه یه باید مثل عکس که شما گذاشتین با ادرینو وصل کردین باید دو تا از قسمت تا رو هر کدوم پوشش بده ؟
با سلام
در این ماژول از باتری قلمی استفاده نمی شود. باتری قلمی 1.5 ولت می باشد و در صورت استفاده حداقل 3 عدد از انها را باید سری کنید تا ولتاژ 4.5 ولت را به شما بدهد و نیازی به کاهنده ندارید.
اگر منظور شما باتری های لیتومی می باشد آنها ولتاژ بین 3 الی 4.2 ولت را تولید میکنند و در این مورد نیز از ماژول کاهنده برای این موضوع نیز استفاده نمی شود. شما باتری را به صورت مستقیم به پایه های تغذیه 5 ولت وصل کنید باید اوکی باشد و فقط کمی افت حجم صدا را باید تجربه کنید. که البته برای این مورد پیشنهاد میکنم از یکی از دوماژول زیر برای این موضوع استفاده کنید.
ماژول شارژ / دشارژ باتری لیتیومی با خروجی 5V 1A مناسب برای ساخت پاور بانک
ماژول شارژ/دشارژ باتری لیتیومی SY3500 با خروجی 5V 1A مناسب برای ساخت پاور بانک
سلام مجدد و ممنون از راهنمایی
ببخشید من بالا درست اشاره نکردم
من باتری کتابی 9 ولت دارم که با یک کاهنده به 5 ولت رسوندم
فقط خروجی کاهنده مثبت به قسمت 5 ولت زدم و منفی به قسمت gnd متصل کردم و برای اجرا به صورت پشت هم یک سیم از فایل یک به میکرو سویچ وصل کردم که از میکرو سویچ به قسمت gnd متصل میشه و با قطع و وصل شدن میکرو سویچ آهنگ پخش میشه
تنها مورد اینه که آی سی ها موقع اجرا داغ میشن
میخوام بدونم طبیعی این مورد یا جایی اشتباه شده ؟
با سلام
با چه کاهنده ای این تبدیل ولتاژ را انجام میدهید.
همچنین برای تست این موضوع که ماژول شما آسیب ندیده باشد از روش زیر استفاده کنید
با اتصال فیش USB ماژول به پاور بانک یا شارژر گوشی، تغذیه ماژول وصل می شود و می توانید ماژول را مورد بررسی قرار بدهید.
توجه داشته باشید که به سیستم (PC) وصل نکنید.
سلام روز بخیر بنده این ماژول رو از سایت خودتون سفارش دادم .
آیا میشه بدون استفاده از اردوینو ، فقط با وصل کردن اسپیکر و باتری به این ماژول یک فایل صوتی پخش بشه؟
یا حتما باید برای پخش کردن فایل صوتی از اردوینو استفاده کرد
با سلام
آموزش به زودی به روز رسانی می شود و نحوه راه اندازی بدون آردوینو نیز اضافه می شود.
شما می توانید از طریق این لینک سیم کشی اقدام به راه اندازی بدون آردوینو بکنید.
اگر سوال دیگری در این باره داشتید در خدمت هستم
سلام و عرض ادب، میشه آموزش استفاده از این ماژول بدون آردوینو و با استفاده از یک کلید که به ترتیب play کنه رو هم بگذارید
با سلام، فایل آموزش آماده شده است. هنوز بر روی سایت آپلود نشده است.
سلام من از این برد در حالت independent استفاده میکنم ولی متاسفانه leakage داره، ینی وقتی هم که برد داره کار نمیکنه 14mA از باطری میکشه، شما راحی سراغ دارین که جلوشو بگیرم؟ چون میخوام از باطری استفاده کنم این مقدار leakage واقعا اذیت کنندست.
با سلام
در این شرایط بسته به شرایط شما می توان از چیندین روش استفاده کرد.
مورد اول استفاده از یک کلید تا برق ورودی را در زمان هایی که نمیخواهید قطع کنید.
مورد دیگر می توانید از با یک مدار rc و یک ترانزیستور p-ch در زمان هایی که کلید را فشار میدهید این ترازیستور را فعال کند و ماژول شروع به پخش صدا بکند و پس از زمان مشخصی که با مدار rc تایین میکنید این ترازیتسور را خاموش بکند تا جریان کشی بسته بشود.
در صورتی که روش دوم یا روش های دیگری را میخواهید استفاده کنید پیشنهاد میکنم در انجمن سوال خود را مطرح کنید تا بتوانیم با توجه به شرایط و عکس شما را راهنمایی بنماییم.
با سلام و خسته نباشید.
آیا میتونم برای این برد از 4 باتری قلمی استفاده کنم؟ میدونم ولتاژ استاندارد 5 ولت هست ولی وقتی از سه باتری قلمی استفاده میکنم صدای پخش شده کمی نازک میشه، حتی باتری 9 ولت با رگولاتور هم جواب دلخواهمو نمیده اما با چهار باتری قلمی به درستی کار میکنه، فقط میخوام مطمئن بشم که مدار آسیب نبینه .
با سلام
به دلیل اینکه دیتاشیت درستی برای IC روی این محصول نیست نمیشود با اطمینان گفت، اما به احتمال بالا مشکلی نخواهید داشت.
سلام وقت بخیر.بنده میخواستم فقط یک اهنگ در این ماژول بریزم و با یک اسپیکر ۳ وات پخش بشه.ایا داعم نیاز به اتصال اردویینو داره برای پخش؟یا فقط یک بار موزیک رو وارد حافظه ماژول میکنیم و با هربار اتصال تغذیه خودش پخش میشه؟
با سلام
بله می توانید بدون وصل کردن به آردوینو نیز کاری کنید که صدا موجود در حافظه را پخش کند.
برای این مورد دیتاشیت که در آموزش آماده است را دانلود کنید و مطالعه کنید.