ዝርዝር ሁኔታ:

MP3 ተጫዋች ከአርዱዲኖ ጋር - 6 ደረጃዎች
MP3 ተጫዋች ከአርዱዲኖ ጋር - 6 ደረጃዎች

ቪዲዮ: MP3 ተጫዋች ከአርዱዲኖ ጋር - 6 ደረጃዎች

ቪዲዮ: MP3 ተጫዋች ከአርዱዲኖ ጋር - 6 ደረጃዎች
ቪዲዮ: Yechewata Engida - Nebiy Mekonnen Interview (ገጣሚ እና ደራሲ ነቢይ መኮንን) Week 8 Part One 2024, ህዳር
Anonim
Image
Image
ዳታ ገጽ
ዳታ ገጽ

በዚህ ስብሰባ ውስጥ የ mp3 ማጫወቻን ከአርዱዲኖ ኡኖ ፣ አነስተኛ PAM8403 የድምፅ ማጉያ በድምጽ ማስተካከያ ፣ የ mp3 ሞዱል DFPlayer Mini እና ጥንድ ባለ 3 ዋት ድምጽ ማጉያዎች ተጠቅመናል።

ይህ መርሃግብር ለሙዚቃ ማጫወቻው ብቻ ሳይሆን ለመኪና ማቆሚያ መሰናክል መሣሪያ ወይም ለሮቦት የድምፅ ተግባራትን ለመፍቀድ ጭምር ነው። ይህ ስብሰባ የተቀረጸ ድምጽ በመሳሪያዎቹ ውስጥ እንዲቀመጥ ያስችለዋል። ይህ ድምጽ ተፈጥሯዊ እና የተቀናበረ አይሆንም። ለአብዛኞቹ ሰዎች እነዚህ ከመደበኛ አማራጮች ጋር ሲነፃፀሩ ተመራጭ ባህሪዎች ናቸው።

ለዚህ ስብሰባ እኛ በተለይ አርዱዲኖ ኡኖን እንጠቀማለን ፣ ግን እርስዎም ከ ESP8266 ወይም ESP32 ጋር መገናኘት ይችላሉ። በግልጽ እንደሚታየው በፒንቹ ላይ ማስተካከያ ያስፈልጋል።

ደረጃ 1 የውሂብ ሉህ

ደረጃ 2 የ DFPlayer ሞዱል

DFPlayer ሞዱል
DFPlayer ሞዱል

የ DFPlayer ሞጁል ተከታታይ ግንኙነት RX TX ፣ VCC ፣ GND ን ይጠቀማል። ለሁለት ድምጽ ማጉያዎች እና ለድምጽ ግብዓት ውፅዓት አለው።

ደረጃ 3: ሚኒ ማጉያ PAM8403

ሚኒ ማጉያ PAM8403
ሚኒ ማጉያ PAM8403

ደረጃ 4 - ስብሰባ

ስብሰባ
ስብሰባ

ደረጃ 5 ቤተ -መጻሕፍት

ቤተ መጻሕፍት
ቤተ መጻሕፍት

ከ mp3 ሞዱል ጋር ለመገናኘት የሚከተለውን “DFRobotDFPlayerMini” ቤተ -መጽሐፍት ያክሉ።

በቀላሉ “ስዕል” >> ቤተ -ፍርግሞችን ያካትቱ >> ቤተ -መጽሐፍትን ያቀናብሩ…

ደረጃ 6: የምንጭ ኮድ

ከኮዳችን ጋር የምንጠቀምባቸውን ቤተመፃህፍት እና ቋሚዎች በመወሰን እንጀምራለን።

አንድ ነገርን ፣ ተከታታይ ሶፍትዌሩን እና ሌላውን ፣ ማለትም myDFPlayer በመፍጠር ይጀምሩ።

የዓይነቱ ሕብረቁምፊ የሆነው የ buf ተለዋዋጭ ከ ‹አርዱዲኖ› ተከታታይ የሚመጣውን መረጃ ለማከማቸት ያገለግላል ፣ ይህም ለ MP3 ሞዱል ትዕዛዞች ይሆናል። የ “ለአፍታ አቁም” ተለዋዋጭ ሙዚቃው እየተጫወተ ወይም ለአፍታ ቆሞ ለማመልከት ጥቅም ላይ ይውላል (ለአፍታ አቁም = እውነት ነው ፣ እና ለአፍታ ቆሟል ፣ አለበለዚያ እየተጫወተ ነው)።

#“SoftwareSerial.h” ን##ያካትቱ “DFRobotDFPlayerMini.h” // Inicia a ser por por software nos pinos 10 e 11 SoftwareSerial mySoftwareSerial (10, 11); // RX ፣ TX // Objeto responsável pela comunicação com o módulo MP3 (DFPlayer Mini) DFRobotDFPlayerMini myDFPlayer; // variável responsável por armazenar os comandos enviados para controlar o player String buf; // variável responsável por armazenar o estado do player (0: tocando; 1: pausado) ቡሊያን pausa = ሐሰት; // variável responsável por armazenar o estado da equalização // varia de 0 a 5 int equalizacao = 0; // (0 = የተለመደ ፣ 1 = ፖፕ ፣ 2 = ሮክ ፣ 3 = ጃዝ ፣ 4 = ክላሲክ ፣ 5 = ባስ)”// variável responsável por armazenar o total de músicas ምንም የ SD ካርድ አያቀርብም። int maxSongs = 0;

አዘገጃጀት

በዚህ ደረጃ ፣ የወረዳውን እየሰቀለ መሆኑን የሚጠቁሙትን የሕትመቶች አማራጮችን እናስቀምጣለን ፣ ለምሳሌ የሐሰት ሁኔታዎችን ግምገማዎች ፣ ለምሳሌ።

ባዶነት ማቀናበር () {// 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)"); ከሆነ (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println ("Nao inicializado:"); ተከታታይ። 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 vai de 0 a 30 myDFPlayer. EQ (0); // Equalizacao የተለመደ // 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 ();

አማራጮች ምናሌ

ይህንን አጠቃላይ ስብሰባ በተከታታይ መቆጣጠሪያ በኩል ይቆጣጠራሉ። ስለዚህ በእያንዳንዱ ጊዜ መርሃግብሩ ያለዎትን የአማራጮች ምናሌ በትእዛዞች ፣ አቅጣጫዎች ያትማል።

ባዶ 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/a keepa a musica"); Serial.println ("[e] seleciona equalizacao"); Serial.println ("[+ ወይም -] aumenta ou diminui o volume"); Serial.println (); }

ሉፕ

ባዶነት loop () {// Aguarda a entrada de dados pela serial while (Serial.available ()> 0) {// recupera os dados de entrada buf = Serial.readStringUntil ('\ n'); // Reproducao (índice da música) ከሆነ ((buf.toInt ()> = 1) && (buf.toInt () <= maxSongs)) {Serial.print ("Reproduzindo musica:"); Serial.println (buf.toInt ()); myDFPlayer.play (buf.toInt ()); // dá play na música menu_opcoes (); } // Pausa/Continua a musica if (buf == "p") {if (pausa) {Serial.println ("Continua musica …")); myDFPlayer.start (); } ሌላ {Serial.println ("Musica pausada…"); myDFPlayer.pause (); } pausa =! pausa; ምናሌ_opcoes (); } // ፓራዳ ከሆነ (buf == "s") {myDFPlayer.stop (); Serial.println ("Musica parada!"); ምናሌ_opcoes (); } // Seleciona equalizacao if (buf == "e") {equalizacao ++; ከሆነ (equalizacao == 6) {equalizacao = 0; } myDFPlayer. EQ (equalizacao); Serial.print ("Equalizacao:"); Serial.print (equalizacao); Serial.println ("(0 = የተለመደ ፣ 1 = ፖፕ ፣ 2 = ሮክ ፣ 3 = ጃዝ ፣ 4 = ክላሲክ ፣ 5 = ባስ)"); ምናሌ_opcoes (); } // Aumenta ጥራዝ ከሆነ (buf == "+") {myDFPlayer.volumeUp (); Serial.print ("ጥራዝ አሁነ:"); Serial.println (myDFPlayer.readVolume ()); ምናሌ_opcoes (); } // የዲሚኒ ጥራዝ ከሆነ (buf == "-") {myDFPlayer.volumeDown (); Serial.print ("የድምጽ መጠን -"); Serial.println (myDFPlayer.readVolume ()); ምናሌ_opcoes (); }} // እያለ} // loop

የሚመከር: