Мазмұны:
- Жабдықтар
- 1 -қадам: Нан тақтасын орналастыру
- 2 -қадам: SD картасын қосу
- 3 -қадам: Бағдарламалық қамтамасыз ету кітапханалары
- 4 -қадам: MP3 деректерін сериялық мониторға салыңыз
Бейне: MP3 кодын шешуге арналған Arduino кітапханасы: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
ESP32 және ARM M сериялы MP3 сияқты жылдам микроконтроллерлердің таралуының жоғарылауына байланысты MP3 -ті декодтауды арнайы аппараттық құралдар қажет етпейді. Декодтауды енді бағдарламалық жасақтамада жасауға болады.
Earlephilhower -де көптеген аудио файлдарды декодтауды және оларды ESP микроконтроллерлерінде ойнатуды көрсететін керемет кітапхана бар. Мен осыдан шабыт алып, микроконтроллерлерде MP3 файлдарын оқудың модульдік әдісін жасау үшін кейбір кодты бейімдедім.
Бұл әдіс кез келген микроконтроллерде (тек ESP32 тақтасында емес) пайдалану үшін жеткілікті жалпы болады деп үміттенемін, бірақ мен қазір тек ESP32 -де сынап көрдім.
Жабдықтар
Мен бұрын айтқанымдай, бұл әдіс кез келген жылдам микроконтроллер үшін жұмыс істейді деп үміттенемін, бірақ олай болмауы мүмкін. Сондықтан менің нәтижелерімді қайталау үшін сізге қажет:
- ESP32 тақтасы
- SD ажырату тақтасы
- SD картасы
- Jumper Wires
- нан тақтасы
- микро USB кабелі (эскизді жүктеу үшін)
- Arduino IDE
1 -қадам: Нан тақтасын орналастыру
ESP32 және SD картасының үзілуін тақтаға қойыңыз.
2 -қадам: SD картасын қосу
SD картасының қосылымдары (ESP32 SD үзілуі) келесідей:
GND GND
3v3 VDD
23 DI (MOSI)
19 DO (MISO)
18 SCLK
5 CS
Назар аударыңыз, егер сіз басқа микроконтроллерді қолдансаңыз, бұл қосылымдар басқаша болады.
3 -қадам: Бағдарламалық қамтамасыз ету кітапханалары
егер сізде ESP-IDF орнатылмаған болса, олардың веб-сайтына өтіп, оны орнатыңыз.
Содан кейін микрокодер кітапханасын орнатыңыз. Сіз мұны репозиторийді жүктеу және Arduino Libraries қалтасына орналастыру арқылы жасай аласыз. Микрокодер кітапханасы қазіргі уақытта.wav және.mp3 файлдарын қолдайды.
Пішімге қарамастан, әр сыныппен байланысты бірнеше жалпы әдістер бар және олар төмендегі кодта қамтылған. Бұл файлдардың метадеректерін алуды және оны сериялық мониторға басып шығаруды қамтиды.
#«SD.h» // енгізу
#include «mp3.h» // декодер #include «pcm.h» // өңделмеген аудио деректер контейнері mp3 MP3; void setup () {Serial.begin (115200); // Сериялық SD.begin () орнату; // SD байланысын орнату Файлдық файл = SD.open («/cc.mp3»); // MP3 файлын ашу MP3.begin (файл); // MP3 сыныбына MP3.getMetadata () қандай файлды өңдеу керектігін айтыңыз; // Metadadata Serial.print алу («Үлгіге бит:»); Serial.println (MP3.bitsPerSample); // биттерді басып шығару Serial.print («Sample Rate:») үлгісі бойынша; Serial.println (MP3. Fs); // және үлгі жылдамдығы} void loop () {}
4 -қадам: MP3 деректерін сериялық мониторға салыңыз
Төмендегі кодты қолдана отырып, сіз аудио деректерді сериялық мониторға орналастыра аласыз. Бұл өте баяу болады, бірақ MP3 кітапханасын қалай пайдалану керектігін көрсетеді. Ол сондай -ақ деректерді 16 есе төмендетеді, осылайша деректер сызылған кезде дыбыстық толқынға ұқсайды. Бұл код микродекодер кітапханасымен бірге келетін SPI_MP3_Serial.ino мысалынан алынды. Әрине, алға жылжу үшін сіз бұл аудио деректерді қалай да ойнатқыңыз келеді, бірақ бұл басқа нұсқаулықтың тақырыбы.
#«SD.h» // енгізу
#include «mp3.h» // декодер mp3 MP3 MP3; // MP3 сыныбы pcm аудио; // өңделмеген дыбыстық деректерді жарамсыз күйге келтіру () {Serial.begin (115200); // Сериялық SD.begin () орнату; // SD байланысын орнату Файлдық файл = SD.open («/cc.mp3»); // MP3 файлын ашу MP3.begin (файл); // Файлды MP3 сыныбына жіберу} void loop () {audio = MP3.decode (); // Аудио деректерді pcm сыныбына декодтау / * audio.interleaved ішінде 32 үлгі бар (16 сол және 16 оң жақта) *, бірақ біз тек әр арнаның бірінші деректер нүктесін саламыз. * Бұл деректерді 16 есе тиімді төмендетеді (тек толқын пішінін қарау үшін) */ Serial.print (audio.interleaved [0]); // сол жақ арна Serial.print («»); Serial.println (audio.interleaved [1]); // оң жақ канал}
Ұсынылған:
LM386 көмегімен Arduino мәтінді сөйлеу түрлендіргіші - Talking Arduino жобасы - Talkie Arduino кітапханасы: 5 қадам
LM386 көмегімен Arduino мәтінді сөйлеу түрлендіргіші | Talking Arduino жобасы | Talkie Arduino кітапханасы: Сәлеметсіздер ме, балалар, біз жобаның көп бөлігінде arduino -дан сөйлесуді талап етеміз, мысалы, сағаттар немесе кейбір мәліметтерді айту, біз мәтінді Arduino көмегімен сөйлеуге айналдырамыз
Clone SimpleBGC контроллерін жаңарту мәселесін қалай шешуге болады: 4 қадам
Clone SimpleBGC контроллерін жаңарту мәселесін қалай шешуге болады: Сәлеметсіз бе. Жақында мен дрондық жобам үшін SimpleBGC гимбал контроллерінде жұмыс жасадым. Мен оны сәтті қосып, баптадым. Ол мінсіз жұмыс істеді. Осыдан кейін мен оның микробағдарламасын v2.2 -ден v2.4 -ке дейін жаңартқым келді. Сонымен, мен гимбалды жаңартқаннан кейін
BMP280 және BME280 кітапханасы: 7 қадам
BMP280 және BME280 кітапханасы: Кіріспе Мен бұл кітапхананы жазуды мақсат етпедім. Бұл " болды " Мен BMP280 қолданатын жобаның жанама әсері ретінде. Бұл жоба әлі аяқталған жоқ, бірақ менің ойымша, кітапхана басқалармен бөлісуге дайын. Кейін менде жоқ болды
Кітапханасы жоқ немесе сериялық функциялары жоқ Arduino тон генераторы (үзіліссіз): 10 қадам
Кітапханасы жоқ немесе сериялық функциялары жоқ Arduino дыбыстық генераторы (үзілістермен): бұл мен үйрететін нәрсе емес, мен металл өңдеуді жақсы көремін, бірақ мен электротехника мамандығы бойынша және микроконтроллерлерден сабақ алуым керек ( Кіріктірілген жүйелердің дизайны), мен өзімнің бір нұсқамада нұсқаулық жасаймын деп ойладым
Xiaomi Mouse айналдыру мәселесін қалай шешуге болады: 6 қадам (суреттермен)
Xiaomi тінтуірдің айналдыру ақаулығын қалай түзетуге болады: Кез келген басқа құрал сияқты, компьютер тышқанының да үнемі қолданылуына байланысты техникалық қызмет көрсету қажет болады. Өнімнің әдеттегі тозуы оған бұрынғы жұмыс уақытына қарағанда тиімдірек жұмыс істеуге мүмкіндік береді