فهرست مطالب:
- تدارکات
- مرحله 1: ماژول MP3 DF Mini Player چیست؟
- گام 2:
- مرحله 3: کنترل پخش کننده DFMini با آردوینو
- مرحله 4:
تصویری: نحوه استفاده از ماژول MP3 DFMini Player با آردوینو: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
چندین پروژه نیاز به بازتولید صدا برای افزودن نوعی عملکرد دارند. در میان این پروژه ها ، ما دسترسی به افراد کم بینا ، پخش کننده های موسیقی MP3 و اجرای صداهای صوتی توسط روبات ها را مشخص می کنیم.
در همه این سیستم ها ، ما برای اتصال به آردوینو به یک دستگاه بازتولید صدا MP3 نیاز داریم. بنابراین ، در این مقاله نکات زیر را یاد می گیریم: مدار اصلی عملکرد DFMini Player MP3 ؛ سازماندهی و پیکربندی فایل های صوتی روی کارت حافظه ؛ کنترل موسیقی با آردوینو.
تدارکات
PCBWay PCB سفارشی ؛
ماژول MP3 DFPlayer Mini - UTSOURCE؛
مقاومت 10kR - UTSOURCE؛
دکمه تغییر - UTSOURCE؛
تخته نان - UTSOURCE؛
Arduino UNO - UTSOURCE؛
پین سرصفحه - UTSOURCE؛
مرحله 1: ماژول MP3 DF Mini Player چیست؟
ماژول DFMini Player یک پخش کننده موسیقی کوچک ، کم هزینه و کم مصرف است که هدف آن بازتولید صداهای ذخیره شده روی کارت حافظه است.
بر این اساس ، ماژول را می توان از طریق حالت مستقل کنترل کرد ، یعنی در این حالت فقط ماژول DFMini ، باتری برای تغذیه ، بلندگو ، دکمه های کنترل آن و کارت SD با آهنگ ها وجود خواهد داشت. راه دیگر کنترل آن استفاده از آردوینو یا دستگاه کنترل دیگر است.
به عنوان مثال ، آردوینو دستوراتی را از طریق ارتباط سریال با ماژول DFMini Player ارسال می کند. ماژول DFMini Player در شکل 1 نشان داده شده است.
برای کنترل آن ، مهم است که از مدار اصلی مستقل استفاده کنید. این مدار در شکل 2 نشان داده شده است.
دو دکمه نشان داده شده در مدار بالا برای تغییر آهنگ های موسیقی و کنترل میزان صدا استفاده می شود. دکمه متصل به پین IO1 برای رفتن به آهنگ قبلی و کاهش صدا استفاده می شود. با یک لمس سریع ، سیستم به آهنگ قبلی باز می گردد ، اما اگر دکمه را برای بیش از 1 ثانیه فشار دهید ، سیستم صدای آهنگ را کاهش می دهد.
دکمه متصل به پین IO2 برای رفتن به آهنگ بعدی و افزایش صدا استفاده می شود. با یک لمس سریع ، سیستم به آهنگ بعدی پیش می رود ، اما اگر دکمه را برای بیش از 1 ثانیه فشار دهید ، سیستم صدای آهنگ را افزایش می دهد.
گام 2:
در این روش مستقل ، همانطور که در شکل 3 نشان داده شده است ، آهنگها باید روی کارت حافظه ذخیره شوند.
به این ترتیب ، هر بار که دکمه ها فشار داده می شوند ، سیستم هر آهنگ را به ترتیب صعودی یا نزولی پخش می کند. با این حال ، هنگام استفاده از آردوینو یا دستگاه کنترل دیگر ، باید نحوه سازماندهی فایل های موسیقی روی کارت SD را تغییر دهیم.
اکنون نحوه کنترل DFMini Player با استفاده از آردوینو از طریق ارتباط سریال را توضیح خواهم داد.
مرحله 3: کنترل پخش کننده DFMini با آردوینو
در این مرحله ، کنترل صدا ، کنترل محدوده ، دستورات یکسان سازی و سایر ویژگی ها توسط آردوینو ارسال می شود.
آردوینو باید از طریق سریال با DFMini Player ارتباط برقرار کرده و دستورات کنترل را ارسال کند.
طرح الکترونیکی مدار کنترل در شکل 4 نشان داده شده است.
ابتدا باید مدار نشان داده شده در شکل زیر را جمع آوری کنیم. پس از مونتاژ این مدار ، باید آهنگ ها را روی کارت حافظه خود اضافه کنید. در این مرحله ، آهنگها باید به عنوان مثال 01 ، 02 ، 03 تغییر نام دهند.
شما نمی توانید آهنگها را با نام آنها بگذارید ، زیرا هنگام ارسال دستور اجرای آهنگ خاص توسط Arduino مشکلی ایجاد می شود. بنابراین ، باید مطابق شکل زیر پیکربندی کنید.
مرحله 4:
پس از نامگذاری پرونده ها ، کد زیر را روی آردوینو خود بنویسید.
// منتظر ورود اطلاعات از طریق serial while (Serial.available ()> 0) {command = Serial.read ()؛ if ((command> = '1') && (فرمان <= '9')) {Serial.print ("بازتولید موسیقی") ؛ Serial.println (فرمان) ؛ فرمان = فرمان - 48 ؛ myDFPlayer.play (فرمان) ؛ menu_opcoes ()؛ } // بازتولید // توقف if (دستور == 's') {myDFPlayer.stop ()؛ Serial.println ("موسیقی متوقف شد!")؛ menu_opcoes ()؛ } // Pausa/Continua a musica if (command == 'p') {pausa =! pausa؛ if (pausa == 0) {Serial.println ("ادامه …") ؛ myDFPlayer.start ()؛ } if (pausa == 1) {Serial.println ("موسیقی متوقف شد!")؛ myDFPlayer.pause ()؛ } menu_opcoes ()؛ }
// حجم را افزایش می دهد
if (فرمان == '+') {myDFPlayer.volumeUp ()؛ Serial.print ("حجم فعلی:") ؛ Serial.println (myDFPlayer.readVolume ()) ؛ menu_opcoes ()؛ } if (command == '') {myDFPlayer.next ()؛ Serial.println ("بعدی:") ؛ Serial.print ("آهنگ جاری:")؛ Serial.println (myDFPlayer.readCurrentFileNumber ()+1) ؛ menu_opcoes ()؛ } // حجم را کاهش می دهد اگر (دستور == '-') {myDFPlayer.volumeDown ()؛ Serial.print ("حجم فعلی:") ؛ Serial.println (myDFPlayer.readVolume ()) ؛ menu_opcoes ()؛ }}} void menu_opcoes () {Serial.println ()؛ Serial.println (F ("======================================== ================================================ ===================================== "))) ؛ Serial.println (F ("دستورات:")) ؛ Serial.println (F ("[1-3] برای انتخاب فایل MP3")) ؛ Serial.println (F ("[s] توقف تولید مثل")) ؛ Serial.println (F ("[p] مکث/ادامه موسیقی")) ؛ Serial.println (F ("[+ یا -] حجم را افزایش یا کاهش می دهد")) ؛ Serial.println (F (" به جلو یا عقب مسیر")) ؛ Serial.println ()؛ Serial.println (F ("========================================= ================================================ ==================================== ")))؛ }
کد ارائه شده در بالا بسیار ساده است و به شما کمک می کند آهنگ را بر اساس شماره آن انتخاب کنید ، متوقف کنید ، مکث کنید ، میزان صدا را کنترل کرده و آهنگ ها را رد کنید.
کنترل موسیقی شامل ارسال داده ها از سریال Arduino IDE به برد Arduino ما است. در ابتدا ، سیستم تنظیمات را انجام می دهد و بررسی می کند که آیا کارت SD در ماژول وارد شده است.
اگر درج نشده باشد ، سیستم پیامی برای هشدار به کاربر ارائه می دهد.
علاوه بر این ، سیستم پیام ها را با گزینه های پیکربندی سیستم نمایش می دهد.
void setup () {// Comunicacao serial com o modulo mySoftwareSerial.begin (9600) ؛ // Inicializa a serial do Arduino Serial.begin (115200)؛ // Verifica se o modulo esta respondendo e se o // cartao SD foi encontrado Serial.println ()؛ Serial.println (F ("DFRobot DFPlayer Mini")) ؛ Serial.println (F ("راه اندازی ماژول DFPlayer … صبر کنید!")) ؛ if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("مقداردهی نشده:")) ؛ Serial.println (F ("1. اتصالات DFPlayer Mini را بررسی کنید")) ؛ Serial.println (F ("2. قرار دادن کارت SD")) ؛ در حالی که (درست) ؛ } Serial.println ()؛ Serial.println (F ("ماژول DFPlayer Mini مقداردهی شده است!")) ؛ // Definicoes iniciais myDFPlayer.setTimeOut (500) ؛ // سریال زمان پایان 500ms myDFPlayer.volume (5)؛ // دوره 5 myDFPlayer. EQ (0) ؛ // Equalizacao normal menu_opcoes ()؛ }
در صورت قرار دادن کارت حافظه ، جریان کد وارد عملکرد حلقه می شود.
void loop () {// منتظر ورود اطلاعات از طریق سریال while (Serial.available ()> 0) {command = Serial.read ()؛ if ((command> = '1') && (فرمان <= '3')) {Serial.print ("بازتولید موسیقی") ؛ Serial.println (فرمان) ؛ فرمان = فرمان - 48 ؛ myDFPlayer.play (فرمان) ؛ menu_opcoes ()؛ } // بازتولید // توقف if (دستور == 's') {myDFPlayer.stop ()؛ Serial.println ("موسیقی متوقف شد!")؛ menu_opcoes ()؛ } // Pausa/Continua a musica if (command == 'p') {pausa =! pausa؛ if (pausa == 0) {Serial.println ("ادامه …")؛ myDFPlayer.start ()؛ } if (pausa == 1) {Serial.println ("موسیقی متوقف شد!")؛ myDFPlayer.pause ()؛ } menu_opcoes ()؛ }
// حجم را افزایش می دهد
if (فرمان == '+') {myDFPlayer.volumeUp ()؛ Serial.print ("حجم فعلی:") ؛ Serial.println (myDFPlayer.readVolume ()) ؛ menu_opcoes ()؛ } if (command == '') {myDFPlayer.next ()؛ Serial.println ("بعدی:") ؛ Serial.print ("آهنگ فعلی:")؛ Serial.println (myDFPlayer.readCurrentFileNumber ()+1) ؛ menu_opcoes ()؛ } // حجم را کاهش می دهد اگر (دستور == '-') {myDFPlayer.volumeDown ()؛ Serial.print ("حجم فعلی:") ؛ Serial.println (myDFPlayer.readVolume ()) ؛ menu_opcoes ()؛ }}}
کاربر می تواند کاراکترهای کنترل زیر را ارسال کند:
شماره های 1 تا 3: آهنگ مورد نظر را انتخاب کنید.
- حرف s: آهنگ را متوقف کنید ؛ نامه p: آهنگ را متوقف کنید ؛
- ارسال علامت +: افزایش حجم آهنگ ؛
- ارسال سیگنال - کاهش حجم آهنگ ؛
- ارسال سیگنال <: آهنگ قبلی را انتخاب کنید.
- ارسال سیگنال>: آهنگ بعدی را انتخاب کنید.
از طریق این سیگنال ها ، حروف و اعداد ، آردوینو آنها را از طریق سریال دریافت می کند و موسیقی پخش شده را کنترل می کند.
هر شرط در زیر و داخلی ، با دستورات مربوطه ارائه شده است.
if ((command> = '1') && (فرمان <= '3')) {Serial.print ("بازتولید موسیقی") ؛ Serial.println (فرمان) ؛ فرمان = فرمان - 48 ؛ myDFPlayer.play (فرمان) ؛ menu_opcoes ()؛ } // بازتولید // توقف if (دستور == 's') {myDFPlayer.stop ()؛ Serial.println ("موسیقی متوقف شد!")؛ menu_opcoes ()؛ } // Pausa/Continua a musica if (command == 'p') {pausa =! pausa؛ if (pausa == 0) {Serial.println ("ادامه …") ؛ myDFPlayer.start ()؛ } if (pausa == 1) {Serial.println ("موسیقی متوقف شد!")؛ myDFPlayer.pause ()؛ } menu_opcoes ()؛ }
// حجم را افزایش می دهد
if (command == '+') {myDFPlayer.volumeUp ()؛ Serial.print ("حجم فعلی:") ؛ Serial.println (myDFPlayer.readVolume ()) ؛ menu_opcoes ()؛ } if (command == '') {myDFPlayer.next ()؛ Serial.println ("بعدی:") ؛ Serial.print ("آهنگ جاری:")؛ Serial.println (myDFPlayer.readCurrentFileNumber ()+1) ؛ menu_opcoes ()؛ } // حجم را کاهش می دهد اگر (دستور == '-') {myDFPlayer.volumeDown ()؛ Serial.print ("حجم فعلی:") ؛ Serial.println (myDFPlayer.readVolume ()) ؛ menu_opcoes ()؛ }}
بنابراین ، اگر تمام مراحل ارائه شده را به کار بگیرید ، می توانید یاد بگیرید:
- مدار اصلی عملکرد MP3 DFMini Player ؛
- سازماندهی و پیکربندی فایل های صوتی روی کارت حافظه ؛
- کنترل موسیقی با آردوینو. از این کد ، می توانید پروژه های دیگری را توسعه دهید که نیاز به استفاده از صدا به عنوان عملکرد سیستم دارند.
تقدیر و تشکر
در پایان ، ما از خواندن شما و حمایت PCBWAY. COM از پشتیبانی آزمایشگاه Silício در تولید این مقاله برای شما سپاسگزاریم.
آزمایشگاه Silícios از UTSOURCE برای ارائه قطعات الکترونیکی برای ساخت این پروژه تشکر می کند.
توصیه شده:
نحوه ساخت MP3 Player با LCD با استفاده از ماژول Arduino و DFPlayer Mini MP3 Player: 6 مرحله
نحوه ساخت MP3 Player با LCD با استفاده از ماژول Arduino و DFPlayer Mini MP3 Player: امروز ما یک MP3 Player با LCD با استفاده از ماژول Arduino و DFPlayer mini MP3 Player ایجاد می کنیم. این پروژه می تواند فایل های MP3 را در کارت SD بخواند و می تواند مکث کند و همانند دستگاه 10 سال پیش بازی کنید. و همچنین دارای آهنگ قبلی و آهنگ بعدی سرگرم کننده است
نحوه استفاده از ماژول RFID-RC522 با آردوینو: 5 مرحله
نحوه استفاده از ماژول RFID-RC522 با آردوینو: در این دستورالعمل ، من اصول اساسی کار ماژول RFID همراه با برچسب ها و تراشه های آن را بررسی می کنم. همچنین یک نمونه کوتاه از پروژه ای که با استفاده از این ماژول RFID با LED RGB ساخته ام ارائه می دهم. طبق معمول با Ins های من
نحوه ساخت خانه هوشمند با استفاده از ماژول رله کنترل آردوینو - ایده های اتوماسیون خانگی: 15 مرحله (همراه با تصاویر)
نحوه ساخت خانه هوشمند با استفاده از ماژول رله کنترل آردوینو | ایده های اتوماسیون خانگی: در این پروژه اتوماسیون خانگی ، ما یک ماژول رله خانه هوشمند طراحی می کنیم که می تواند 5 لوازم خانگی را کنترل کند. این ماژول رله را می توان از طریق تلفن همراه یا تلفن هوشمند ، ریموت IR یا ریموت تلویزیون ، سوئیچ دستی کنترل کرد. این رله هوشمند همچنین می تواند r
نحوه کنترل لامپ با استفاده از آردوینو UNO و ماژول رله حالت جامد 5V تک کاناله: 3 مرحله
نحوه کنترل لامپ با استفاده از ماژول رله حالت جامد Arduino UNO و Single Channel 5V: توضیحات: در مقایسه با رله مکانیکی سنتی ، رله حالت جامد (SSR) دارای مزایای زیادی است: طول عمر بیشتری دارد ، با روشن شدن بسیار بیشتر/ خاموش و بدون سر و صدا علاوه بر این ، مقاومت بهتری در برابر لرزش و مکانیکی دارد
ریموت بی سیم با استفاده از ماژول NRF24L01 2.4 گیگاهرتز با آردوینو - Nrf24l01 گیرنده فرستنده 4 کانال / 6 کانال برای کوادکوپتر - هلیکوپتر Rc - Rc Plane با استفاده از آردوینو: 5 مرحله (همراه با تصاویر)
ریموت بی سیم با استفاده از ماژول NRF24L01 2.4 گیگاهرتز با آردوینو | Nrf24l01 گیرنده فرستنده 4 کانال / 6 کانال برای کوادکوپتر | هلیکوپتر Rc | Rc Plane با استفاده از آردوینو: برای کار با ماشین Rc | کوادکوپتر | هواپیمای بدون سرنشین | هواپیمای RC | قایق RC ، ما همیشه به گیرنده و فرستنده نیاز داریم ، فرض کنید برای RC QUADCOPTER به فرستنده و گیرنده 6 کاناله نیاز داریم و این نوع TX و RX بسیار پرهزینه است ، بنابراین ما یکی از آنها را در دستگاه خود تهیه می کنیم