فهرست مطالب:

پخش کننده MP3 با آردوینو: 6 مرحله
پخش کننده MP3 با آردوینو: 6 مرحله

تصویری: پخش کننده MP3 با آردوینو: 6 مرحله

تصویری: پخش کننده MP3 با آردوینو: 6 مرحله
تصویری: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, نوامبر
Anonim
Image
Image
برگه اطلاعات
برگه اطلاعات

در این مونتاژ ، ما از یک پخش کننده mp3 با Arduino Uno ، یک تقویت کننده صوتی مینی PAM8403 با تنظیم صدا ، یک ماژول mp3 DFPlayer Mini و یک جفت بلندگوی 3 واتی استفاده کردیم.

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

برای این مجموعه ، ما به طور خاص از Arduino Uno استفاده می کنیم ، اما می توانید به ESP8266 یا ESP32 نیز متصل شوید. بدیهی است ، تعدیل در پین ها مورد نیاز است.

مرحله 1: برگه اطلاعات

مرحله 2: ماژول DFPlayer

ماژول DFPlayer
ماژول DFPlayer

ماژول DFPlayer از ارتباط سریال RX TX ، VCC ، GND استفاده می کند. دارای خروجی دو بلندگو و ورودی صدا.

مرحله 3: تقویت کننده کوتاه PAM8403

مینی تقویت کننده PAM8403
مینی تقویت کننده PAM8403

مرحله 4: مونتاژ

مونتاژ
مونتاژ

مرحله 5: کتابخانه ها

کتابخانه ها
کتابخانه ها

کتابخانه "DFRobotDFPlayerMini" زیر را برای ارتباط با ماژول mp3 اضافه کنید.

به سادگی به "طرح> شامل کتابخانه ها> مدیریت کتابخانه ها …" دسترسی پیدا کنید.

مرحله 6: کد منبع

ما ابتدا کتابخانه ها و ثابت هایی را که با کد خود استفاده می کنیم تعریف می کنیم.

با ایجاد یک شی ، نرم افزار سریال و دیگری ، که myDFPlayer است ، شروع کنید.

متغیر buf که از نوع String است ، برای ذخیره داده های حاصل از سریال Arduino ، که دستورات ماژول MP3 خواهد بود ، خدمت می کند. متغیر "مکث" برای نشان دادن در حال پخش یا مکث موسیقی استفاده می شود (مکث = واقعی ، و نشان می دهد که متوقف شده است ، در غیر این صورت در حال پخش است).

#شامل "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" // Inicia a serial por software noos pinos 10 e 11 SoftwareSerial mySoftwareSerial (10 ، 11) ؛ // RX، TX // پاسخ سریع به فایل MP3 (DFPlayer Mini) DFRobotDFPlayerMini myDFPlayer ؛ // variável responsável for armazenar os comandos enviados para controlar o player String buf؛ // variável responsável por armazenar o estado do player (0: tocando؛ 1: pausado) boolean pausa = false؛ // variável responsável for armazenar o estado da equalização // varia de 0 a 5 int equalizacao = 0؛ // (0 = معمولی ، 1 = پاپ ، 2 = راک ، 3 = جاز ، 4 = کلاسیک ، 5 = باس) "// پاسخ های مختلف برای آرازنار یا مجموع موسیقی ها هیچ کارت SD ارائه نمی دهد. int maxSongs = 0؛

برپایی

در این مرحله ، ما گزینه های چاپ را قرار می دهیم تا به شما نشان دهد که مدار در حال نصب است ، به عنوان مثال با ارزیابی شرایط غلط.

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 ("DFRobot DFPlayer Mini") ؛ Serial.println ("Inicializando modulo DFPlayer … (3 ~ 5 segundos)") ؛ if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println ("Nao inicializado:")؛ Serial.println ("1. Cheque as conexoes do DFPlayer Mini")؛ Serial.println ("2. Insira um cartao SD") ؛ در حالی که (درست) ؛ } Serial.println ()؛ Serial.println ("Modulo DFPlayer Mini inicializado!") ؛ // Definicoes iniciais myDFPlayer.setTimeOut (500) ؛ // سریال زمان پایان 500ms myDFPlayer.volume (10)؛ // دوره 10 از 0 تا 30 myDFPlayer. EQ (0) ؛ // Equalizacao normal // recupera o numero de Músicas encontradas no SD. maxSongs = myDFPlayer.readFileCounts (DFPLAYER_DEVICE_SD)؛ Serial.println ()؛ Serial.print ("Numero de arquivos no cartao SD:")؛ Serial.println (maxSongs) ؛ // Mostra o menu de comandos menu_opcoes ()؛

منوی گزینه ها

شما می توانید این مجموعه را از طریق مانیتور سریال کنترل کنید. بنابراین هر بار ، طرح منوی گزینه های شما را با دستورات ، دستورالعمل ها چاپ می کند.

void menu_opcoes () {Serial.println ()؛ Serial.println ("Comandos:")؛ Serial.print ("[1-") ؛ Serial.print (maxSongs) ؛ Serial.println ("] Para selecionar o arquivo MP3")؛ Serial.println ("[s] parar reproducao")؛ Serial.println ("[p] pausa/Continua a musica")؛ Serial.println ("[e] seleciona equalizacao")؛ Serial.println ("[+ or -] aumenta ou diminui o volume")؛ Serial.println ()؛ }

حلقه

void loop () {// Aguarda a entrada de dados pela سریال while (Serial.available ()> 0) {// recupera os dados de entrada buf = Serial.readStringUntil ('\ n')؛ // بازتولید (índice da música) if ((buf.toInt ()> = 1) && (buf.toInt () <= maxSongs)) {Serial.print ("Reproduzindo musica:") ؛ Serial.println (buf.toInt ()) ؛ myDFPlayer.play (buf.toInt ()) ؛ // d na play na música menu_opcoes ()؛ } // Pausa/Continua a musica if (buf == "p") {if (pausa) {Serial.println ("Continua musica …") ؛ myDFPlayer.start ()؛ } else {Serial.println ("Musica pausada …")؛ myDFPlayer.pause ()؛ } pausa =! pausa؛ menu_opcoes ()؛ } // Parada if (buf == "s") {myDFPlayer.stop ()؛ Serial.println ("Musica parada!") ؛ menu_opcoes ()؛ } // Seleciona equalizacao if (buf == "e") {equalizacao ++؛ if (equalizacao == 6) {equalizacao = 0؛ } myDFPlayer. EQ (equalizacao) ؛ Serial.print ("Equalizacao:")؛ Serial.print (equalizacao) ؛ Serial.println ("(0 = معمولی ، 1 = پاپ ، 2 = راک ، 3 = جاز ، 4 = کلاسیک ، 5 = باس)") ؛ menu_opcoes ()؛ } // Aumenta volume if (buf == "+") {myDFPlayer.volumeUp ()؛ Serial.print ("Volume atual:")؛ Serial.println (myDFPlayer.readVolume ()) ؛ menu_opcoes ()؛ } // حجم Diminui if (buf == "-") {myDFPlayer.volumeDown ()؛ Serial.print ("Volume atual:")؛ Serial.println (myDFPlayer.readVolume ()) ؛ menu_opcoes ()؛ }} // while} // حلقه

توصیه شده: