Mundarija:
- Ta'minotlar
- 1 -qadam: elektron jadvalni joylashtirish
- 2 -qadam: SD -kartani ulash
- 3 -qadam: dasturiy ta'minot kutubxonalari
- 4 -qadam: MP3 ma'lumotlarini ketma -ket monitorda joylashtiring
Video: MP3 kodini hal qilish uchun Arduino kutubxonasi: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
ESP32 va ARM M seriyali tezkor mikrokontrolderlarning tarqalishi oshganligi sababli MP3 -ni dekodlash endi maxsus uskunalar yordamida amalga oshirilmaydi. Endi dekodlash dasturiy ta'minotda amalga oshirilishi mumkin.
Earlephilhower -da juda ko'p kutubxona mavjud, u turli xil audio fayllarni dekodlash va ularni ESP mikrokontrollerlarida ijro etishni ko'rsatadi. Bundan ilhomlanib, men ba'zi kodlarni mikrokontrollerlarda MP3 fayllarini o'qishning modulli usulini yaratish uchun moslashtirdim.
Umid qilamanki, bu usul har qanday tezkor mikrokontrolderda (faqat ESP32 kartasida emas) foydalanish uchun etarlicha umumiy bo'ladi, lekin hozircha men faqat ESP32da sinab ko'rdim.
Ta'minotlar
Yuqorida aytganimdek, umid qilamanki, bu usul har qanday tezkor mikrokontroller uchun ishlaydi, lekin bunday bo'lmasligi mumkin. Shunday qilib, natijalarimni takrorlash uchun sizga kerak bo'ladi:
- ESP32 kartasi
- SD uzilish taxtasi
- SD -karta
- Jumper simlari
- non taxtasi
- mikro USB kabeli (eskizni yuklash uchun)
- Arduino IDE
1 -qadam: elektron jadvalni joylashtirish
ESP32 va SD -karta bo'laklarini non paneliga qo'ying.
2 -qadam: SD -kartani ulash
SD -karta ulanishlari (ESP32 SD uzilishi) quyidagicha:
GND GND
3v3 VDD
23 DI (MOSI)
19 DO (MISO)
18 SCLK
5 CS
E'tibor bering, agar siz boshqa mikrokontrolderdan foydalansangiz, bu ulanishlar boshqacha bo'ladi.
3 -qadam: dasturiy ta'minot kutubxonalari
agar sizda ESP-IDF o'rnatilmagan bo'lsa, ularni o'z veb-saytiga o'ting va o'rnating.
Keyin mikrokoderlar kutubxonasini o'rnating. Siz buni omborni yuklab olish va Arduino kutubxonalari papkasiga joylashtirish orqali qilishingiz mumkin. Hozirgi vaqtda mikrokoderlar kutubxonasi.wav va.mp3 fayllarini qo'llab -quvvatlaydi.
Formatidan qat'i nazar, har bir sinf bilan bog'liq bo'lgan bir nechta umumiy usullar mavjud va ular quyidagi kodda yoritilgan. Bularga ba'zi fayllar metadatasini olish va uni ketma -ket monitorga chop etish kiradi.
#"SD.h" // kiritish
#include "mp3.h" // dekoder #include "pcm.h" // xom audio ma'lumotlar konteyner mp3 MP3; void setup () {Serial.begin (115200); // Serial SD.begin () ni sozlash; // SD ulanishini o'rnatish Fayl fayli = SD.open ("/cc.mp3"); // MP3 faylini oching MP3.begin (fayl); // MP3 sinfiga MP3.getMetadata () ni qanday fayl bilan ishlashini ayting; // metadata ma'lumotlarini olish Serial.print ("Bitta namuna uchun bitlar:"); Serial.println (MP3.bitsPerSample); // Serial.print namuna uchun bitlarni chop etish ("Namuna darajasi:"); Serial.println (MP3. Fs); // va namuna tezligi} void loop () {}
4 -qadam: MP3 ma'lumotlarini ketma -ket monitorda joylashtiring
Quyidagi kod yordamida siz ketma -ket monitorda ba'zi audio ma'lumotlarni chizishingiz mumkin. Bu juda sekin bo'ladi, lekin MP3 kutubxonasidan qanday foydalanishni ko'rsatib beradi. Shuningdek, u ma'lumotni 16 marta kamaytiradi, shuning uchun ma'lumotlar chizilganida u audio to'lqin shakliga o'xshaydi. Bu kod SPI_MP3_Serial.ino misolidan olingan bo'lib, u mikrokoderlar kutubxonasi bilan birga keladi. Albatta, oldinga siljish bilan siz bu audio ma'lumotni qandaydir tarzda ijro etishni xohlaysiz, lekin bu boshqa o'rgatiladigan mavzu.
#"SD.h" // kiritish
#include "mp3.h" // dekoder mp3 MP3; // MP3 sinf pcm audio; // xom audio ma'lumotlarning bo'shligini sozlash () {Serial.begin (115200); // Serial SD.begin () ni sozlash; // SD ulanishini o'rnatish Fayl fayli = SD.open ("/cc.mp3"); // MP3 faylini oching MP3.begin (fayl); // Faylni MP3 sinfiga o'tkazing} void loop () {audio = MP3.decode (); // Audio ma'lumotlarni pcm sinfiga dekodlash / * audio.interleavedda 32 ta namuna bor (16 ta chap va 16 ta o'ngda) *, lekin biz faqat har bir kanalda birinchi ma'lumot nuqtasini tuzamiz. * Bu ma'lumotni 16 baravar kamaytiradi (faqat to'lqin shaklini ko'rish uchun) */ Serial.print (audio.interleaved [0]); // chap kanal Serial.print (""); Serial.println (audio.interleaved [1]); // o'ng kanal}
Tavsiya:
Arduino va Python Arduino Master kutubxonasi yordamida yorug'lik intensivligi: 5 qadam
Arduino va Python Arduino Master kutubxonasidan foydalangan holda yorug'lik intensivligini chizish: Arduino iqtisodiy, lekin juda samarali va funktsional vosita bo'lib, uni o'rnatilgan C -da dasturlash loyihalarni zerikarli qiladi! Python -ning Arduino_Master moduli buni soddalashtiradi va bizga hisob -kitoblarni bajarishga, axlat qiymatlarini olib tashlashga,
Bo'sh joy topish og'rig'ini hal qilish uchun mashinalar sensori qanday quriladi: 12 qadam
Bo'sh joy topishdagi og'riqni hal qilish uchun to'xtash joyi sensori qanday quriladi: Ushbu loyihada biz Raspberry Pi yordamida oddiy to'xtash joyi sensori quramiz. Ma'lum bo'lishicha, har kuni ertalab men bu savolga duch kelaman: ofisim oldidagi YALNIZ to'xtash joyi allaqachon olinganmi? Chunki haqiqatan ham shunday bo'lsa, men aylanib o'tishim kerak
LM386 yordamida Arduino matnli nutq konvertori - Gapiruvchi Arduino loyihasi - Talkie Arduino kutubxonasi: 5 qadam
LM386 yordamida Arduino matnli nutq konvertori | Gapiruvchi Arduino loyihasi | Talkie Arduino kutubxonasi: Salom bolalar, ko'p loyihalarda biz arduino -dan soatni gapirish yoki ba'zi ma'lumotlarni aytib berish talab qilinadi, biz Arduino yordamida matnni nutqqa aylantiramiz
Mewe suhbatlari uchun toza Gliphy kodini qanday olish mumkin: 3 qadam
Mewe suhbatlari uchun qanday qilib toza Gliphi kodini olish mumkin: eng qisqa ko'rsatmali! Facebookda muqobil bo'lgan Mewe -da juda ko'p yaxshi narsalar bor, lekin siz bu muammoga qoqilib qolishingiz mumkin: Glippy -dan tanlagan Gif -ni boshqa foydalanuvchilarga ko'rsatish mumkin. Chat, LEKIN, bu sizning O'Z chatingizda ko'rinmaydi! Yechimi? Qabul qiling
VHS kutubxonasi Pi xavfsizlik kamerasi: 3 qadam (rasmlar bilan)
VHS kutubxonasi Pi xavfsizlik kamerasi: bu eski VHS video kutubxonasi, hozirda Raspberry Pi xavfsizlik kamerasi uchun mukammal uy. Ishda Pi Zero bor va kamera qalbaki kitobning umurtqa pog'onasidan chiqib ketadi. Bu haqiqatan ham eski ko'rinishga ega oddiy qurilish