Мазмуну:
- Жабдуулар
- 1 -кадам: Нан тактасын коюу
- 2 -кадам: SD картанын зымдары
- 3 -кадам: Программалык китепканалар
- 4 -кадам: MP3 маалыматтарын сериялык мониторго салыңыз
Video: MP3 кодун чечүү үчүн Arduino китепканасы: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
ESP32 жана ARM M сериялары сыяктуу тез микроконтроллерлердин кеңири таралгандыгына байланыштуу 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 орнотулбаса, анда алардын веб-сайтына баш багып, аны орнотуңуз.
Андан кийин microdecoder китепканасын орнотуңуз. Сиз муну репозиторийди жүктөп алып, Arduino Libraries папкаңызга жайгаштырсаңыз болот. Микрокодер китепканасы учурда.wav жана.mp3 файлдарын колдойт.
Форматына карабастан, ар бир класс менен байланышкан бир нече жалпы методдор бар жана алар төмөндөгү коддо камтылган. Аларга кээ бир файлдардын метадайындарын алуу жана аны сериялык мониторго басып чыгаруу кирет.
#include "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 маалыматтарын сериялык мониторго салыңыз
Төмөндөгү код менен сиз Serial монитордо кээ бир аудио маалыматтарды түзө аласыз. Бул өтө жай болот, бирок MP3 китепканасын кантип колдонууну көрсөтөт. Ал ошондой эле маалыматтарды 16 эсеге төмөндөтөт, андыктан маалыматтар пландалганда аудио толкун формасына окшош болот. Бул код микродекодер китепканасы менен келген SPI_MP3_Serial.ino мисалынан алынган. Албетте, алдыга жылуу менен сиз бул аудио маалыматтарды кандайдыр бир жол менен ойноткуңуз келет, бирок бул башкача үйрөтүлө турган тема.
#include "SD.h" // киргизүү
#include "mp3.h" // декодер 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]); // оң канал}
Сунушталууда:
Кантип C кодун AVRге Arduino Uno программисти катары жүктөө керек: 6 кадам
Программист катары Arduino Uno менен AVRге C кодун кантип жүктөө керек: HI салам: D Бул жерде мен Arduino Uno R3 менен каалаган AVR чипин программалоонун жөнөкөй жолун бөлүшөм, кодду микроконтроллерге өрттөө үчүн белгилүү бир нерсени сатып алуунун ордуна Arduino Uno керек. программист абдан кымбат
Акысыз жерди табуунун оорун чечүү үчүн унаа токтоочу сенсорду кантип куруу керек: 12 кадам
Бош жерди табуунун азабын чечүү үчүн унаа токтоочу сенсорду кантип куруу керек: Бул долбоордо биз Raspberry Pi менен жөнөкөй токтоочу сенсор курабыз. Көрсө, күн сайын эртең менен мен бул суроого туш болушум керек: менин офисимдин алдындагы ЖАЛГАН унаа токтотуучу жай буга чейин эле алынганбы? Анткени чындыгында болгондо, мен айланып өтүшүм керек
LM386 колдонуп сүйлөө конвертерине Arduino тексти - Talking Arduino Project - Talkie Arduino китепканасы: 5 кадам
LM386 колдонуп сүйлөө конвертерине Arduino тексти | Talking Arduino Project | Talkie Arduino Китепканасы: Салам балдар, көптөгөн долбоорлордо биз ардуинодон сааттын сүйлөөсү же кандайдыр бир маалыматтын айтылышын талап кылабыз, бул инструкцияларда биз текстти Arduino аркылуу сүйлөөгө айландырабыз
Таза Глиффи кодун кантип алуу керек, Mewe чаттар үчүн: 3 кадам
Таза Глиффий кодун кантип алуу керек, Mewe Chats үчүн: Эң кыска нускама! Facebookтун альтернативасы болгон Meweда көптөгөн жакшы нерселер бар, бирок сиз бул көйгөйгө чалынып калышыңыз мүмкүн: Glipphyден тандаган Gif экранда баарына көрсөтүлөт. Чат, БИРОК, бул ОЗУңуздун чатта көрсөтүлбөйт! Чечим? Алуу
Arduino Морзе кодун өткөргүч: 11 кадам
Arduino Morse Code Transmitter: Бул көрсөтмөдө сиз Arduino Uno менен Морз коду өткөргүчүн түзөсүз жана сиз жиберген билдирүүлөрдү окуу үчүн сериялык мониторду колдоносуз. Сизге керектүү бөлүктөр: Arduino UnoBreadboardBuzzerButtonsJumper зымдары