جدول المحتويات:
- اللوازم
- الخطوة 1: وضع اللوح
- الخطوة 2: توصيل بطاقة SD
- الخطوة 3: مكتبات البرامج
- الخطوة 4: ارسم بيانات MP3 على جهاز العرض التسلسلي
فيديو: مكتبة Arduino لفك تشفير MP3: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
نظرًا لتزايد انتشار وحدات التحكم الدقيقة السريعة مثل ESP32 و ARM M series ، لم تعد هناك حاجة لفك تشفير MP3 بواسطة أجهزة متخصصة. يمكن الآن فك التشفير في البرنامج.
هناك مكتبة رائعة متاحة من earlephilhower توضح كيفية فك تشفير مجموعة متنوعة من الملفات الصوتية وتشغيلها على ميكروكنترولر ESP. مستوحاة من هذا ، قمت بتكييف بعض التعليمات البرمجية لإنشاء طريقة معيارية لقراءة ملفات MP3 على ميكروكنترولر.
آمل أن تكون هذه الطريقة عامة بما يكفي لاستخدامها على أي متحكم دقيق سريع بما فيه الكفاية (ليس فقط لوحة ESP32) ولكن حتى الآن اختبرت فقط على ESP32.
اللوازم
كما قلت من قبل ، آمل أن تعمل هذه الطريقة مع أي متحكم سريع ، لكنها قد لا تعمل. لذلك ، لتكرار نتائجي ، ستحتاج إلى:
- لوحة ESP32
- مجلس الاختراق SD
- بطاقة الذاكرة
- أسلاك العبور
- اللوح
- كابل micro USB (لتحميل الرسم التخطيطي)
- اردوينو IDE
الخطوة 1: وضع اللوح
ضع فاصل بطاقة ESP32 و SD على اللوح.
الخطوة 2: توصيل بطاقة SD
اتصالات بطاقة SD (كسر ESP32 SD) هي كما يلي:
GND GND
3v3 VDD
23 DI (MOSI)
19 هل (MISO)
18 SCLK
5 سي إس
يرجى ملاحظة أن هذه الاتصالات ستكون مختلفة إذا كنت تستخدم متحكمًا مختلفًا.
الخطوة 3: مكتبات البرامج
إذا لم يكن لديك ESP-IDF مثبتًا ، فانتقل إلى موقع الويب الخاص به وقم بتثبيته.
ثم قم بتثبيت مكتبة microdecoder. يمكنك القيام بذلك عن طريق تنزيل المستودع ووضعه في مجلد مكتبات Arduino. تدعم مكتبة microdecoder حاليًا ملفات.wav و. mp3.
بغض النظر عن التنسيق ، هناك بعض الطرق الشائعة المرتبطة بكل فئة ويتم تناولها في الكود أدناه. يتضمن ذلك الحصول على بعض الملفات الوصفية وطباعتها على الشاشة التسلسلية.
# تضمين إدخال "SD.h" //
# تضمين "mp3.h" // وحدة فك الترميز # تضمين "pcm.h" // حاوية بيانات الصوت الخام mp3 MP3 ؛ إعداد باطل () {Serial.begin (115200) ؛ // إعداد المسلسل SD.begin () ؛ // إعداد ملف اتصال SD = SD.open ("/ cc.mp3") ؛ // فتح ملف MP3 MP3.begin (ملف) ؛ // أخبر فئة MP3 بالملف المطلوب معالجة MP3.getMetadata () ؛ // الحصول على البيانات الوصفية Serial.print ("بت لكل عينة:") ؛ Serial.println (MP3.bitsPerSample) ؛ // بتات الطباعة لكل عينة Serial.print ("معدل العينة:") ؛ Serial.println (MP3. Fs) ؛ // ومعدل العينة} حلقة فارغة () {}
الخطوة 4: ارسم بيانات MP3 على جهاز العرض التسلسلي
باستخدام الكود أدناه ، يمكنك رسم بعض البيانات الصوتية على الشاشة التسلسلية. سيكون هذا بطيئًا جدًا ولكنه سيوضح لك كيفية استخدام مكتبة MP3. كما أنه يختزل عينات البيانات بمعامل 16 بحيث يبدو عند رسم البيانات وكأنها شكل موجة صوتية. هذا الرمز مأخوذ من مثال SPI_MP3_Serial.ino الذي يأتي مع مكتبة الترميز الصغير. بالطبع ، للمضي قدمًا ، سترغب في تشغيل هذه البيانات الصوتية بطريقة ما ولكن هذا هو موضوع تعليمات مختلفة.
# تضمين إدخال "SD.h" //
# تضمين "mp3.h" // فك mp3 MP3 ؛ // MP3 فئة pcm الصوت ؛ // إعداد باطل بيانات الصوت الخام () {Serial.begin (115200) ؛ // إعداد المسلسل SD.begin () ؛ // إعداد ملف اتصال SD = SD.open ("/ cc.mp3") ؛ // فتح ملف MP3 MP3.begin (ملف) ؛ // تمرير الملف إلى فئة MP3} حلقة باطلة () {audio = MP3.decode () ؛ // فك تشفير بيانات الصوت إلى فئة pcm / * هناك 32 عينة في audio.interleaved (16 يسارًا و 16 يمينًا) * لكننا سنرسم فقط نقطة البيانات الأولى في كل قناة. * هذا يقلل من دقة البيانات بمعامل 16 (* لعرض شكل الموجة فقط) * / Serial.print (audio.interleaved [0]) ؛ // القناة اليسرى Serial.print ("") ؛ Serial.println (audio.interleaved [1]) ؛ // القناة الصحيحة}
موصى به:
برمجة Arduino باستخدام Arduino آخر لعرض نص متحرك بدون مكتبة: 5 خطوات
برمجة Arduino باستخدام Arduino آخر لعرض نص متحرك بدون مكتبة: Sony Spresense أو Arduino Uno ليست باهظة الثمن ولا تتطلب الكثير من الطاقة. ومع ذلك ، إذا كان لمشروعك قيود على الطاقة أو المساحة أو حتى الميزانية ، فقد ترغب في التفكير في استخدام Arduino Pro Mini. على عكس Arduino Pro Micro ، فإن Arduino Pro Mi
إنشاء مكتبة Arduino لمشاهدتها على YouTube: 7 خطوات
إنشاء مكتبة Arduino لمشاهدتها على YouTube: مرحبًا بالجميع ، لقد أنشأت مؤخرًا خدمة تسمى YouTube Sight يمكنها استخراج بيانات المشتركين من YouTube Analytics API وتمنحك أعدادًا أكثر دقة للمشتركين منذ أن بدأ YouTube في تجميع النتائج. مع ذلك ، أكون قد بنيت مثالا
تخطيط شدة الضوء باستخدام مكتبة Arduino و Python الرئيسية في Arduino: 5 خطوات
تخطيط شدة الضوء باستخدام مكتبة Arduino الرئيسية في Arduino و Python: تعتبر Arduino أداة اقتصادية وفعالة للغاية ، فإن برمجتها في Embedded C تجعل عملية جعل المشاريع مملة! تعمل الوحدة النمطية Arduino_Master في Python على تبسيط هذا الأمر وتتيح لنا إجراء العمليات الحسابية وإزالة قيم القمامة ،
Arduino Text to Speech Converter باستخدام LM386 - مشروع حديث اردوينو - مكتبة Talkie Arduino: 5 خطوات
Arduino Text to Speech Converter باستخدام LM386 | مشروع حديث اردوينو | مكتبة Talkie Arduino: مرحبًا يا رفاق ، في العديد من المشاريع ، نطلب من arduino التحدث بشيء مثل ساعة التحدث أو إخبار بعض البيانات في هذه التعليمات ، سنقوم بتحويل النص إلى كلام باستخدام Arduino
برنامج تشفير / فك تشفير أمان Python: 3 خطوات
برنامج تشفير / فك تشفير أمان Python: في هذا Instructable ، سأوضح لك كيف باستخدام بعض Python البسيطة ، يمكنك الحفاظ على أمان ملفاتك باستخدام معايير الصناعة AES. يمكن التثبيت بسهولة عن طريق