ماژول های پخش صدا یکی از مهم ترین و پرکابردترین ابزارها در سیستم های مختلف که نیاز به سخنگو دارند، به شمار می روند. به کمک این ماژول ها می توان صدای از پیش ضبط شده را پخش نمود. یکی از این ماژول های پرکاربرد، ماژول SOMO_II است. این ماژول دارای قابلیت های کلیدی بسیار در پخش صدا بوده و به کمک آن می توان فایل های صوتی را پخش نمود. جهت راه اندازی و کار با این ماژول کتابخانه تحت آردوینو توسعه یافته است. به کمک این کتابخانه به سرعت و بدون درگیر شدن با جزییات می توانیم ماژول را راه اندازی کنیم. در این آموزش به تحلیل و بررسی کتابخانه SOMO_II می پردازیم. در ادامه تحلیل کتابخانه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
ماژول پخش صوت SOMO-II
همانطور که اطلاع دارید، ماژول های MP3 کاربردهای بسیاری در پروژه های سخنگو دارند. از این ماژول ها در آسانسورها، خودروها، خودپردازها و هر سیستم تعاملی دیگر استفاده می شود. ماژول SOMO-II یک ماژول فوق العاده کاربردی جهت پخش صداست. این ماژول دارای درگاه کارت SD بوده که می توان حافظه FLASH SD را درون این پورت قرار داد. همچنین این ماژول از پورت سریال UART جهت دریافت فرامین جهت پخش آهنگ ها استفاده می کند.
در ادامه این آموزش، به بررسی کتابخانه این ماژول کاربردی می پردازیم. قسمت بعد مربوط به این مورد خواهد بود.
نصب کتابخانه SOMO_II.h
به منظور استفاده از کتابخانه، ابتدا می بایست آن را نصب کنیم. در این قسمت به نصب کتابخانه با جستجو در مخازن آردوینو می پردازیم. به همین منظور، ابتدا در نرم افزار آردوینو بر روی گزینه Tools و سپس Manage Libraries را کلیک کنید. پس از کلیک بر روی این گزینه، با تصویر زیر رو به می شوید. این منو کتابخانه های در دسترس را به شما نشان می دهد. شما نیز می توانید با جستجوی نام کتابخانه مورد نظر خود، آن را در مخازن آردوینو یافته و سپس نصب کنید.
مطابق فلش مشخص شده در تصویر فوق، در کادر جستجو عبارت somo-ii را تایپ کنید. پس از چند لحظه با تصویر زیر رو به رو می شوید. در این مرحله، کتابخانه را با کلیک بر روی گزینه install، نصب کنید.
الزامات و نکات فنی کتابخانه SOMO_II.h
پس از نصب کتابخانه، نوبت به بررسی الزامات و نکات فنی کتابخانه SOMO_II می رسد. این کتابخانه جهت برقراری ارتباط با ماژول از پورت سریال استفاده می کند. بنابراین با معرفی پورت سریال سخت افزاری یا نرم افزاری می توانید با کتابخانه ارتباط برقرار کنید. از طرفی دیگر، این کتابخانه می تواند بر روی کلیه بردهای پردازشی تحت پلتفرم آردوینو اجرا شود. به عبارت دیگر کتابخانه SOMO_II قابلیت اجرای روی بردهای آردوینو با معماری AVR و بردهای ESP را نیز داشته و به صورت مستقل از معماری قابلیت اجرا دارد.
توابع کلیدی و کاربردی کتابخانه
پس از بررسی الزامات و نکات فنی کتابخانه، نوبت به تحلیل توابع کلیدی و کاربردی می رسد. جدول زیر لیست این توابع را نمایش می دهد. همچنین ورودی ها و شرح هر تابع در این جدول مشاهده می شود.
شرح | ورودی ها | تابع |
این تابع در حقیقت تابع سازنده کلاس کتابخانه است. ورودی این تابع آدرس سریال که قرزار است با ماژول ارتباط برقرار کند قرار می گیرد. | ورودی از نوع کلاس Stream | SOMO_II(Stream& a_serial) |
این تابع ارتبط بین میکروکنترلر و ماژول را شروع می کند. | بدون ورودی | void begin |
به کمک این تابع می توانیم فایل صوتی درون فولدر را پخش نماییم. ورودی اول شماره فولدر و ورودی دوم شماره فایل را تعیین می کند. | ورودی اول شماره فولدر
ورودی دوم شماره فایل |
uint8_t playFile(uint8_t folder, uint8_t file) |
این تابع آهنگی که شماره آن در ورودی قرار گرفته را پخش می نماید. | ورودی جهت تعیین نام آهنگ | uint8_t playTrack(uint8_t track_num) |
این تابع پخش آهنگ را متوقف می کند. | بدون ورودی | uint8_t stop() |
به کمک این تابع می توان شدت صدا خروجی ماژول را تنظیم نمود.میزان شدت صدا در ورودی تابع قرار می گیرد. | ورودی برای تنظیم صدا | uint8_t setVol(uint8_t volume_level) |
این تابع میزان ولوم را یک واحد افزایش می دهد. | بدون ورودی | uint8_t volUp(); |
این تابع میزان ولوم را یک واحد کاهش می دهد. | بدون ورودی | uint8_t volDown() |
این تابع تنظیمات را ریست کرده و روال کار از ابتدا اجرا می شود. | بدون ورودی | uint8_t reset() |
پس از بررسی توابع، نوبت به اجرای یک نمونه برنامه می رسد. قسمت بعد به این موضوع اختصاص دارد.
اجرای یک نمونه برنامه
پس از بررسی توابع کلیدی و کاربردی نوبت به اجرای یک نمونه برنامه می رسد. کد زیر آهنگ شماره ۸ از فولدر شماره ۱ را اجرا می کند.
#include <SoftwareSerial.h> //کتابخانه سریال نرم افزاری جهت ارتباط آردوینو با ماژول MP3 #include <SOMO_II.h> //افزودن کتابخانه ماژول SoftwareSerial mySerial = SoftwareSerial(8, 9); //انتخاب پورت سریال به صورت نرم افزاری روی پایه های ۸ و ۹ SOMO_II mp3 = SOMO_II(mySerial); //ایجاد شی از کلاس کتابخانه سومو و قرار دادن پورت سریال void setup() { mySerial.begin(SOMO_BAUD); //راه اندازی با باودریت پیشفرض سومو mp3.begin(); mp3.feedback(false); Serial.begin(115200); Serial.println(F("starting play_test")); } void loop() { mp3.playFile(1, 8); //پخش آهنگ شماره ۸ از فولدر شماره ۱ delay(5000); }
لوازم مورد نیاز
لینک خرید انواع برد آردوینو، کلیک کنید
لینک خرید انواع برد ESP، کلیک کنید
لینک خرید ماژول MP3 مدل SOMO، کلیک کنید
جمع بندی
در مجموعه آموزش های تحلیل و بررسی کتابخانه های آردوینو، این قسمت را به یکی از کتابخانه های کاربردی در زمینه ماژول های سخنگو اختصاص دادیم. ماژول MP3 مدل SOMO یک ماژول کاربردی جهت پخش صداست. این ماژول می تواند فایل های صوتی را از طریق کارت SD خوانده و پخش نماید. جهت راه اندازی و کار با این ماژول کاربردی، کتابخانه تحت آردوینو توسعه یافته است. در این آموزش به تحلیل و بررسی این کتابخانه پرداختیم. مطابق رویه معمول آموزشهای تحلیل کتابخانه، ابتدا به معرفی ماژول MP3 پرداخته شد. پس از این مرحله، نصب کتابخانه و الزامات فنی کتابخانه بررسی شد. در ادامه به تحلیل و بررسی توابع کلیدی و کاربردی کتابخانه پرداختیم. در نهایت با اجرای یک نمونه برنامه، نحوه استفاده از توابع را در برنامه ها، مشاهده کردیم.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.