ዝርዝር ሁኔታ:

የአርዱዲኖ ቤተ -መጽሐፍት ለ MP3 ዲኮዲንግ -4 ደረጃዎች
የአርዱዲኖ ቤተ -መጽሐፍት ለ MP3 ዲኮዲንግ -4 ደረጃዎች

ቪዲዮ: የአርዱዲኖ ቤተ -መጽሐፍት ለ MP3 ዲኮዲንግ -4 ደረጃዎች

ቪዲዮ: የአርዱዲኖ ቤተ -መጽሐፍት ለ MP3 ዲኮዲንግ -4 ደረጃዎች
ቪዲዮ: Arduino Home Automation | Control using TV remote(አምፖሎችዎን በቴሌቪዥን የርቀት መቆጣጠሪያ እንዴት እንደሚቆጣጠሩ) 2024, ህዳር
Anonim
የአርዱዲኖ ቤተ -መጽሐፍት ለ MP3 ዲኮዲንግ
የአርዱዲኖ ቤተ -መጽሐፍት ለ MP3 ዲኮዲንግ
የአርዱዲኖ ቤተ -መጽሐፍት ለ MP3 ዲኮዲንግ
የአርዱዲኖ ቤተ -መጽሐፍት ለ MP3 ዲኮዲንግ

እንደ ESP32 እና ARM M ተከታታይ MP3 ዲኮዲንግ ባሉ ፈጣን ማይክሮ መቆጣጠሪያዎች መስፋፋት ምክንያት በልዩ ሃርድዌር መከናወን አያስፈልገውም። አሁን ዲኮዲንግ በሶፍትዌር ውስጥ ሊከናወን ይችላል።

ብዙ የተለያዩ የኦዲዮ ፋይሎችን እንዴት መፍታት እና በ ESP ማይክሮ መቆጣጠሪያዎች ላይ ማጫወት እንደሚቻል የሚያሳይ ከጆሮ ማዳመጫ የሚገኝ ታላቅ ቤተ -መጽሐፍት አለ። በዚህ አነሳሽነት በጥቃቅን መቆጣጠሪያዎች ላይ የ MP3 ፋይሎችን የማንበብ ሞዱል ዘዴን ለመፍጠር አንዳንድ ኮዱን አመቻችቻለሁ።

ተስፋዬ ይህ ዘዴ በማንኛውም ፈጣን በበቂ በማይክሮ መቆጣጠሪያ (በ ESP32 ሰሌዳ ብቻ) ለመጠቀም የሚያስችል ሁለንተናዊ እንደሚሆን ነው ነገር ግን እስካሁን ድረስ እኔ በ ESP32 ላይ ብቻ ሞክሬአለሁ።

አቅርቦቶች

ቀደም ብዬ እንዳልኩት ፣ ይህ ዘዴ ለማንኛውም ፈጣን ማይክሮ መቆጣጠሪያ እንደሚሰራ ተስፋ አደርጋለሁ ፣ ግን ላይሆን ይችላል። ስለዚህ ውጤቶቼን ለመድገም ያስፈልግዎታል

  • የ ESP32 ቦርድ
  • የ SD መለያየት ሰሌዳ
  • ኤስዲ ካርድ
  • ዝላይ ሽቦዎች
  • የዳቦ ሰሌዳ
  • የማይክሮ ዩኤስቢ ገመድ (ንድፍ ለመስቀል)
  • አርዱዲኖ አይዲኢ

ደረጃ 1 የዳቦ ሰሌዳውን መዘርጋት

የዳቦ ሰሌዳውን መዘርጋት
የዳቦ ሰሌዳውን መዘርጋት

በዳቦ ሰሌዳው ላይ ESP32 እና SD ካርድ መለያየት ያስቀምጡ።

ደረጃ 2 የኤስዲ ካርዱን ማገናኘት

የኤስዲ ካርዱን ማገናኘት
የኤስዲ ካርዱን ማገናኘት

የኤስዲ ካርድ ግንኙነቶች (ESP32 SD breakout) እንደሚከተለው ናቸው

GND GND

3v3 ቪዲዲ

23 ዲአይ (MOSI)

19 ያድርጉ (ሚሶ)

18 ተንሸራታች

5 ሲኤስ

የተለየ ማይክሮ መቆጣጠሪያ የሚጠቀሙ ከሆነ እነዚህ ግንኙነቶች የተለያዩ እንደሚሆኑ እባክዎ ልብ ይበሉ።

ደረጃ 3 የሶፍትዌር ቤተ -መጽሐፍት

የ ESP-IDF ተጭኖ ወደ ድር ጣቢያቸው ከሌለዎት እና ይጫኑት።

ከዚያ የማይክሮ ዲኮደር ቤተ -መጽሐፍቱን ይጫኑ። ማከማቻውን በማውረድ እና በአርዱዲኖ ቤተ -መጽሐፍት አቃፊ ውስጥ በማስቀመጥ ይህንን ማድረግ ይችላሉ። የማይክሮ ዲኮደር ቤተ -መጽሐፍት በአሁኑ ጊዜ.wav እና.mp3 ፋይሎችን ይደግፋል።

ቅርጸቱ ምንም ይሁን ምን ፣ ከእያንዳንዱ ክፍል ጋር የሚዛመዱ ጥቂት የተለመዱ ዘዴዎች አሉ እና እነሱ ከዚህ በታች ባለው ኮድ ተሸፍነዋል። እነዚህ አንዳንድ ፋይሎችን ሜታዳታ ማግኘት እና ወደ ተከታታይ ማሳያ ማተም ያካትታሉ።

#"SD.h" // ግቤት ያካትቱ

#"mp3.h" // ዲኮደር #ያካትቱ "pcm.h" // ጥሬ የድምጽ መረጃ መያዣ mp3 MP3; ባዶነት ማዋቀር () {Serial.begin (115200); // የማዋቀር ተከታታይ SD.begin (); // የ SD ግንኙነትን ያዋቅሩ ፋይል ፋይል = SD.open ("/cc.mp3"); // የ MP3 ፋይል ይክፈቱ MP3.begin (ፋይል); // MP3.getMetadata () ለማስኬድ ምን ፋይል እንደሚሰራ ለ MP3 ክፍል ይንገሩ። // metdadata Serial.print ን ያግኙ ("ቢት በአንድ ናሙና:"); Serial.println (MP3.bitsPerSample); // የህትመት ቢት በአንድ ናሙና Serial.print ("ናሙና ተመን:"); Serial.println (MP3. Fs); // እና የናሙና ተመን} ባዶነት loop () {}

ደረጃ 4: በተከታታይ ሞኒተር ላይ የ MP3 መረጃን ያሴሩ

በተከታታይ ሞኒተር ላይ የ MP3 መረጃን ያሴሩ
በተከታታይ ሞኒተር ላይ የ MP3 መረጃን ያሴሩ

ከዚህ በታች ባለው ኮድ በተከታታይ ማሳያ ላይ አንዳንድ የድምጽ መረጃዎችን ማሴር ይችላሉ። ይህ በጣም ቀርፋፋ ይሆናል ግን የ MP3 ቤተ -መጽሐፍትን እንዴት እንደሚጠቀሙ ያሳየዎታል። እንዲሁም ውሂቡ በሚታሰብበት ጊዜ የድምፅ ሞገድ ቅርፅ እንዲመስል ውሂቡን በ 16 እጥፍ ዝቅ ያደርገዋል። ይህ ኮድ ከማይክሮ ዲኮደር ቤተ -መጽሐፍት ጋር ከሚመጣው SPI_MP3_Serial.ino ምሳሌ የተወሰደ ነው። በእርግጥ ወደ ፊት በመሄድ ይህንን የኦዲዮ ውሂብ በሆነ መንገድ ማጫወት ይፈልጋሉ ፣ ግን ያ የተለየ አስተማሪ ርዕስ ነው።

#"SD.h" // ግቤት ያካትቱ

#"mp3.h" / ዲኮደር mp3 MP3 ን ያካትቱ; // MP3 ክፍል ፒሲኤም ኦዲዮ; // ጥሬ የድምጽ ውሂብ ባዶነት ማዋቀር () {Serial.begin (115200); // የማዋቀር ተከታታይ SD.begin (); // የ SD ግንኙነትን ያዋቅሩ ፋይል ፋይል = SD.open ("/cc.mp3"); // የ MP3 ፋይል ይክፈቱ MP3.begin (ፋይል); // ፋይልን ወደ MP3 ክፍል ያስተላልፉ} ባዶነት loop () {audio = MP3.decode (); // የድምፅ መረጃን ወደ ፒሲኤም ክፍል / * በድምጽ ውስጥ 32 ናሙናዎች አሉ። ተለዋጭ (16 ግራ እና 16 ቀኝ) * እኛ ግን በእያንዳንዱ ሰርጥ ውስጥ የመጀመሪያውን የውሂብ ነጥብ ብቻ እናሴራለን። * ይህ ውጤታማ በሆነ ሁኔታ ውሂቡን በ 16 እጥፍ ዝቅ ያደርገዋል (ለ * ሞገድ ቅርፅን ብቻ ለማየት) */ Serial.print (audio.interleaved [0]); // የግራ ሰርጥ Serial.print (""); Serial.println (audio.interleaved [1]); // ትክክለኛ ሰርጥ}

የሚመከር: