طراحی و پیاده سازی ضبط صوت با قابلیت کنترل از طریق وای فای Wifi

منبع :  دیجی اسپارک دسته بندی : اینترنت اشیا IOT کد خبر : 163564 2 سال قبل 207
create-wifi-music-player-with-nodemcu-local-web-server-digispark

ضبط صوت ها همواره یکی از ابزارهای کاربردی در منازل، محل کار و … به شمار می رود. به کمک این ابزار می توان موسیقی دلخواه خود را پخش کنید. در این پروژه اما به طراحی و پیاده سازی یک ضبط صوت با قابلیت کنترل از طریق تلفن همراه می پردازیم. پیشتر در آموزشی به تبدیل ضبط های قدیمی به مدل بلوتوثی پرداخته شده است. این آموزش جذاب را می توانید با کلیک بر روی این لینک، مطالعه کنید. در این آموزش اما از طریق وای فای، به ضبط صوتی که خود می سازیم متصل شده و به آن فرمان می دهیم. در ادامه پروژه ضبط صوت وای فای با مرجع تخصصی ماژول سیم کارت به زبان فارسی، دیجی اسپارک همراه باشید.

 

نحوه عملکرد ضبط صوت با قابلیت کنترل از طریق تلفن همراه

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

ساخت ضبط صوت با کنترل از طریق وای فای Wifi - دیجی اسپارک

 

جهت پخش آهنگ ها، می بایست آن ها را در کارت SD ذخیره کنید. سپس با ارسال فرمان از طریق تلفن همراه، آهنگ ها پخش خواهند شد. در این پروژه از دو ماژول اصلی NODEMCU و DF PLAYER استفاده می کنیم. در قسمت های بعدی به تشریح هریک از این ماژول ها می پردازیم.

 

ماژول NODEMCU

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

برد Nodemcu بر پایه تراشه ESP8266 - دیجی اسپارک

 

این ماژول می تواند به زبان های مختلف نظیر lua، پایتون و حتی آردوینو به اجرای برنامه های کاربر بپردازد. این برد در بخش پردازش از فرکانس ۱۶۰ مگاهرتزی به همراه حافظه فلش ۴ مگابایتی بهره می برد. این برد به سادگی از طریق کابل به رایانه متصل شده و می تواند برنامه های نوشته شده کاربر رو روی خود آپلود کند. جهت راه اندازی و کار با این ماژول کلیدی و کاربردی سلسله آموزشی طی ۱۱ مرحله تهیه شده که با کلیک بر روی این لینک، می توانید آن را دنبال کنید.

استفاده از برد Nodemcu در ساخت ضبط صوت با کنترل وای فای - دیجی اسپارک

 

در این پروژه به کمک واحد مخابراتی برد NODEMCU یک شبکه وای فای ایجاد می کنیم. سپس از طریق پروتکل TCP/IP، ماژول را در مد سرور جهت دریافت فرامین کاربر قرار می دهیم. در نهایت با اتصال ماژول DF PLAYER به عنوان پخش کننده صوت، آهنگ های مد نظر کاربر را پخش خواهیم نمود. در قسمت بعد با این ماژول کلیدی بیشتر آشنا خواهیم شد.

 

ماژول DF PLAYER

همانطور که پیشتر گفته شد، به کمک ماژول DF PLAYER آهنگ ها را پخش خواهیم نمود. ماژول DF PLAYER یک ماژول با ابعاد کوچک ولی قابلیت های بسیاری است. این ماژول دارای سوکت کارت SD بوده که قادر به پخش آهنگ های ذخیره شده در حافظه SD است.

ماژول DF PLAYER در ساخت ضبط صوت کنترل از طریق وای فای - دیجی اسپارک

 

برای راه اندازی و کار با این ماژول کتابخانه تحت آردوینو توسعه یافته که روند کار را بسیار تسریع می بخشد. در این پروژه هم ما از این کتابخانه استفاده خواهیم نمود. ماژول DF PLAYER به قدری کاربردی است که تاکنون ما پروژه های بسیاری را به کمک آن در دیجی اسپارک اجرا کرده ایم. برخی از این پروژه ها را در زیر قرار می دهیم که با کلیک بر روی آن ها می توانید مطالعه کنید.

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

طراحی و پیاده سازی منو صوتی با ماژول DF PLAYER و برد آردوینو

طراحی و پیاده سازی ساعت سخنگو با برد Nodemcu و ماژول DFplayer

پس از آشنایی به قطعات، نوبت به اجرای پروژه می رسد. اما در قسمت بعدی ابتدا به نصب کتابخانه DF PLAYER پرداخته و پس از آن شماتیک و اتصالات را مورد بررسی قرار خواهیم . در نهایت با ارائه کد و اجرای پروژه، خروجی مد نظر را مشاهده خواهیم نمود.

 

نصب کتابخانه DF PLAYER MINI

در این پروژه از  کتابخانه  DF PLAYER استفاده می کنیم. کتابخانه DF PLAYER جهت پخش صدا و ارتباط با ماژول DF استفاده می گردد. به منظور استفاده از کتابخانه، ابتدا می بایست آن را نصب کنیم. در این قسمت به نصب کتابخانه با جستجو در مخازن آردوینو می پردازیم. به همین منظور، ابتدا در نرم افزار آردوینو بر روی گزینه Tools و سپس Manage Libraries را کلیک کنید. پس از کلیک بر روی این گزینه، با تصویر زیر رو به می شوید. این منو کتابخانه های در دسترس را به شما نشان می دهد. شما نیز می توانید با جستجوی نام کتابخانه مورد نظر خود، آن را در مخازن آردوینو یافته و سپس نصب کنید.

روش نصب کتابخانه PCF8574.h - دیجی اسپارک

 

در کادر جست و جو، عبارت DFPlayer_Mini را تایپ کرده و مطابق کادر قرمز رنگ در تصویر زیر، کتابخانه DF ROBOT را با کلیک بر روی گزینه INSTALL نصب نمایید.

روش نصب کتابخانه df player در آردوینو - دیجی اسپارک

 

 شماتیک و اتصالات پروژه

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

 

 مطابق تصویر فوق، شماتیک و اتصالات پروژه ضبط صوت وای فای را به شکل زیر اجرا کنید.

DF PLAYER NODEMCU
VCC VIN
GND GND
RX D2
TX D1

 

 توجه: در این پروژه تغذیه ماژول از پورت USB تامین می گردد.

 

 کدهای پروژه

پس از برقراری اتصالات، نوبت به کدهای پروژه ضبط صوت وای فای می رسد. این کدها را برای برد NODEMCU آپلود نمایید.

 

#include "ESP8266WiFi.h" //کتابخانه وای فای #include "ESP8266WebServer.h" //کتابخانه سررور ESP8266WebServer server(80); //تنظیم سرور روی پورت 80 و تعریف شی #include <SoftwareSerial.h> //کتابخانه سریال نرم افزاری جهت ارتباط با ماژول mp3 #include "DFRobotDFPlayerMini.h" // فراخوانی کتابخانه DF SoftwareSerial mySoftwareSerial(D1, D2); // انتخاب پایه های D1 به عنوان RX و D2 به عنوان TX نرم افزاری جهت ارتباط با DF PLAYER DFRobotDFPlayerMini myDFPlayer; //انتخاب یک شی از کلاس DF PLAYER جهت پخش صدا String command = ""; void data() { //تابع جهت دریافت داده از کاربر if (server.hasArg("data")) { //داده ها در متغیر data ارسال می گردند. command = server.arg("data"); //ذخیره فرمان قرار گرفته در متغیر data در متغیر command Serial.println(command); Serial.flush(); if (command == "play") //پخش صدا myDFPlayer.play(); else if (command == "pause") //توقف myDFPlayer.pause(); else if (command == "next") //بعدی myDFPlayer.next(); else if (command == "prv") //قبلی myDFPlayer.previous(); else if (command == "volup") //افزایش صدا myDFPlayer.volumeUp(); else if (command == "voldown") myDFPlayer.volumeDown(); //کاهش صدا } server.send(200, "text/html", "data received"); //ارسال پیغام به کاربر پس از دریافت فرمان که در مرورگر نمایش داده می شود. } void setup() { Serial.begin(115200); delay(500); mySoftwareSerial.begin(9600); //باودریت پیشفرض ماژول mp3 عدد 9600 است WiFi.mode(WIFI_AP); //تنظیم مد ماژول در حالت نقطه دسترسی WiFi.softAP("PLAY_SOUND", ""); //تنظیم نام SSID به نام play_sound //*********************************************** initializing df if (!myDFPlayer.begin(mySoftwareSerial)) { //در صورتیکه ماژول mp3 راه اندازی نشود، برنامه خطا داده و متوقف می شود. Serial.println(F("Unable to begin:")); Serial.println(F("1.Please recheck the connection!")); Serial.println(F("2.Please insert the SD card!")); while (true) { yield(); //تابع جهت جلوگیری از هنگ ماژول از آنجاییکه ماژول دارای سیستم عامل است، باید جهت جلوگیری از CRASH، از این تابع استفاده می کنیم. چراکه حلقه تکرار بی نهایت //نمی توانیم در سیستم عامل ایجاد کنیم. } } server.on("/", HTTP_GET, data); //ایجاد سرور روی آدرس / با متد GET و با تابع به نام data server.begin(); //راه اندازی سرور Serial.println(F("DFPlayer Mini online.")); myDFPlayer.setTimeOut(500); //تنظیم مدت زمان 500 میلی ثاینه برای دریافت پاسخ از ماژول mp3 myDFPlayer.EQ(DFPLAYER_EQ_NORMAL); //تنظیم اکولایز صدادر حالت نرمال myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD); //تعیین نوع دیوایس ذخیره سازی که در اینجا کارت SD است myDFPlayer.volume(20); //تنظیم ولوم ماژول پخش صدا، میزان ولوم بین 0 الی 30 قابل انتخاب است } void loop() { server.handleClient(); //اجرای تابع سرور }

 

  اجرای پروژه ضبط صوت وای فای

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

شبکه های در دسترس برای ساخت ضبط صوت وای فای - دیجی اسپارک

 

 در ادامه نیز پس از اتصال، مرورگر خود را باز کنید. در مرورگر آدرس ۱۹۲٫۱۶۸٫۴٫۱/?data= را وارد کنید. پس از این مرحله، پس از مساوی، می توانید مقادیر زیر را قرار دهید.

مفهوم مقدار
پخش آهنگ play
توقف پخش آهنگ pause
پخش آهنگ بعدی next
پخش آهنگ قبلی prv
افزایش صدا volup
کاهش صدا voldown

 

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

پروژه ضبط صوت وای فای با Nodemcu - دیجی اسپارک

 

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

پس از اجرای پروژه ضبط صوت وای فای، نوبت به تحلیل کدهای آن می رسد. در کدها به صورت خط به خط کامنت(توضیح) درج شده که با مطالعه آن روال کلی کار را در خواهید یافت. اما در اینجا نیز به صورت خلاصه، به تحلیل کدها می پردازیم. جدول زیر لیست توابع کلیدی و کاربردی این پروژه را نمایش می دهد.

کاربرد تابع
تعیین نام نقطه دسترسی و رمز عبور softAP
فعال سازی سرور و متدد دریافت داده on
کنترل و اجرای تابع سرور handleClient
اجرای تابع سرور، دریافت فرامین اجرا و پخش صدا data

 

 لوازم مورد نیاز

  • برد NODEMCU
  • ماژول DF PLAYER
  • بلندگو
  •  

    جمع بندی

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

     

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

     

    نوشته طراحی و پیاده سازی ضبط صوت با قابلیت کنترل از طریق وای فای Wifi اولین بار در دیجی اسپارک پدیدار شد.

    مشاهده این خبر در سایت مرجع