
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41


Koska nopeat mikro -ohjaimet, kuten ESP32 ja ARM M -sarjan MP3 -dekoodaus, ovat yleistyneet, erikoislaitteiston ei tarvitse enää suorittaa niitä. Dekoodaus voidaan nyt suorittaa ohjelmistolla.
Earlephilhowerilta on saatavana loistava kirjasto, joka näyttää kuinka purkaa monenlaisia äänitiedostoja ja toistaa niitä ESP -mikrokontrollereilla. Tämän innoittamana olen mukauttanut osan koodista luodakseni modulaarisen menetelmän MP3 -tiedostojen lukemiseksi mikrokontrollereilla.
Toivon, että tämä menetelmä on riittävän yleinen käytettäväksi millä tahansa riittävän nopealla mikrokontrollerilla (ei pelkästään ESP32 -kortilla), mutta toistaiseksi olen testannut vain ESP32: lla.
Tarvikkeet
Kuten aiemmin sanoin, toivon, että tämä menetelmä toimii kaikilla nopeilla mikrokontrollereilla, mutta se ei ehkä toimi. Siksi tulosten kopioimiseksi tarvitset:
- ESP32 -levy
- SD -murtokortti
- Sd-kortti
- Hyppyjohdot
- leipälauta
- mikro -USB -kaapeli (luonnoksen lataamiseen)
- Arduino IDE
Vaihe 1: Leipälevyn asettaminen

Aseta ESP32 ja SD -korttilevy leipälevylle.
Vaihe 2: SD -kortin kytkentä

SD -kortin liitännät (ESP32 SD -katkaisu) ovat seuraavat:
GND GND
3v3 VDD
23 DI (MOSI)
19 TEE (MISO)
18 SCLK
5 CS
Huomaa, että nämä liitännät ovat erilaisia, jos käytät toista mikro -ohjainta.
Vaihe 3: Ohjelmistokirjastot
Jos sinulla ei ole ESP-IDF: ää asennettuna, siirry heidän verkkosivustolleen ja asenna se.
Asenna sitten mikrodekooderikirjasto. Voit tehdä tämän lataamalla arkiston ja sijoittamalla sen Arduino Libraries -kansioon. Mikrodekooderikirjasto tukee tällä hetkellä.wav- ja.mp3 -tiedostoja.
Muodosta riippumatta kuhunkin luokkaan liittyy muutama yleinen menetelmä, ja ne käsitellään alla olevassa koodissa. Näitä ovat joidenkin tiedostojen metatietojen hakeminen ja tulostaminen sarjamonitorille.
#include "SD.h" // input
#Sisällytä "mp3.h" // dekooderi #Sisällytä "pcm.h" // raaka äänitiedosto MP3 MP3; void setup () {Serial.begin (115200); // Serial SD: n asennus.begin (); // Asenna SD -yhteys Tiedostotiedosto = SD.open ("/cc.mp3"); // Avaa MP3 -tiedosto MP3.begin (tiedosto); // kerro MP3 -luokalle, mitä tiedostoa käsitellään MP3.getMetadata (); // hae metatiedot Serial.print ("Bits per Sample:"); Serial.println (MP3.bitsPerSample); // tulostusbittiä näytettä kohti Serial.print ("Sample Rate:"); Serial.println (MP3. Fs); // ja näytteenottotaajuus} void loop () {}
Vaihe 4: Piirrä MP3 -tiedot sarjamonitoriin

Alla olevan koodin avulla voit piirtää joitain äänitietoja sarjamonitorille. Tämä on hyvin hidasta, mutta näyttää, kuinka MP3 -kirjastoa käytetään. Se myös alentaa datan kertoimella 16 niin, että kun data piirretään, se näyttää audioaaltomuodolta. Tämä koodi on otettu esimerkistä SPI_MP3_Serial.ino, joka toimitetaan mikrodekooderikirjaston mukana. Tietysti eteenpäin siirryttäessä haluat toistaa tätä äänidataa jotenkin, mutta se on eri ohjeen aihe.
#include "SD.h" // input
#include "mp3.h" // dekooderi mp3 MP3; // MP3 -luokka pcm -ääni; // raa'an äänidatan void setup () {Serial.begin (115200); // Serial SD: n asennus.begin (); // Asenna SD -yhteys Tiedostotiedosto = SD.open ("/cc.mp3"); // Avaa MP3 -tiedosto MP3.begin (tiedosto); // Siirrä tiedosto MP3 -luokkaan} void loop () {audio = MP3.decode (); // Dekoodaa äänitiedot pcm -luokkaan / * äänessä on 32 näytettä. Lomitettu (16 vasenta ja 16 oikeaa) *, mutta aiomme piirtää vain kunkin kanavan ensimmäisen datapisteen. * Tämä alentaa tiedot tehokkaasti 16 kertaa (* vain aaltomuodon katseluun) */ Sarjajälki (audio.interleaved [0]); // vasen kanava Serial.print (""); Serial.println (audio.interleaved [1]); // oikea kanava}
Suositeltava:
MP3 -soittimen tekeminen nestekidenäytöllä Arduinon ja DFPlayer Mini MP3 -soittimen avulla: 6 vaihetta

MP3 -soittimen tekeminen nestekidenäytöllä Arduino- ja DFPlayer Mini MP3 -soittimoduulin avulla: Tänään teemme LCD -MP3 -soittimen käyttämällä Arduino- ja DFPlayer mini MP3 -soitinmoduulia. Projekti voi lukea SD -kortin MP3 -tiedostoja ja voi keskeyttää ja pelata samalla tavalla kuin laite 10 vuotta sitten. Ja siinä on myös edellinen kappale ja seuraava kappale hauskaa
Arduinon ohjelmointi toisen Arduinon avulla vieritettävän tekstin näyttämiseksi ilman kirjastoa: 5 vaihetta

Arduinon ohjelmointi toisen Arduinon avulla vieritettävän tekstin näyttämiseksi ilman kirjastoa: Sony Spresense tai Arduino Uno eivät ole niin kalliita eivätkä vaadi paljon virtaa. Jos projektillasi on kuitenkin virtaa, tilaa tai jopa budjettia, voit harkita Arduino Pro Minin käyttöä. Toisin kuin Arduino Pro Micro, Arduino Pro Mi
Arduino -teksti puheeksi -muunnin LM386 -: n avulla Talking Arduino Project - Talkie Arduino -kirjasto: 5 vaihetta

Arduino -teksti puheeksi -muunnin LM386 |: n avulla Talking Arduino Project | Talkie Arduino -kirjasto: Hei kaverit, monissa projekteissa vaadimme arduinoa puhumaan jotain, kuten puhuvaa kelloa tai kertomaan joitain tietoja, joten tämän ohjeen mukaan muutamme tekstin puheeksi Arduinon avulla
Rakenna oma Arduino -kirjasto: 5 vaihetta

Rakenna oma Arduino -kirjasto: Hei kaikki. Joissakin projekteissa sinun on ehkä luotava oma kirjasto, kun et voi käyttää valmiita kirjastoja. Tai voit luoda oman kirjaston sen omien standardien mukaan. Tänään näytän sinulle, kuinka helposti voit rakentaa oman kirjastosi ja
Kirjasto BMP280 ja BME280: 7 vaihetta

Kirjasto BMP280 ja BME280: Johdanto En päättänyt kirjoittaa tätä kirjastoa. Se " tapahtui " sivuvaikutuksena projektista, jonka aloitin ja joka käyttää BMP280: ta. Projekti ei ole vielä päättynyt, mutta mielestäni kirjasto on valmis jakamaan muiden kanssa. Myöhemmin minulla oli ne