নিজে বানানো অডিও

পুরোনো স্পিকারের জন্য ESP32 ও PCM5102 DAC দিয়ে বানানো ব্লুটুথ প্লেয়ার

একটি নির্মাণ-বিবরণ পেয়েছি যা ভালোভাবে দেখায় কীভাবে অকেজো যন্ত্রাংশ থেকেই একটি কার্যকর অডিও সিস্টেম বানানো যায়। Habr-এ লেখা এই লেখকের বাড়িতে কয়েক বছর ধরে একটি তাকের ওপর দুটি ৫০-ওয়াটের Yamaha স্পিকার পড়ে ছিল, আর একটি ড্রয়ারে ছিল ESP32 সহ একটি বোর্ড। তিনি দুটিকে একত্র করে নিজের একটি ব্লুটুথ প্লেয়ার বানানোর সিদ্ধান্ত নেন।

যন্ত্রটির মূল অংশ একটি ESP32 WROOM-32 মডিউল, যা ব্লুটুথ ও পেরিফেরাল নিয়ন্ত্রণ করে, এবং একটি GY-PCM5102 DAC, যা I2S ইন্টারফেসের মাধ্যমে শব্দ গ্রহণ করে। ভলিউম ও পজ একটি রোটারি এনকোডার দিয়ে নিয়ন্ত্রিত হয়, আর OLED পর্দায় স্পেকট্রামের দৃশ্য দেখা যায়। XH-A232 অ্যামপ্লিফায়ারটি তিনি বেছে নিয়েছেন কারণ সেটি আগে থেকেই ছিল। প্রতি চ্যানেলে এর সর্বোচ্চ ক্ষমতা ৩০ ওয়াট, স্পিকারের ৫০ ওয়াট রেটিংয়ের তুলনায় কম, কিন্তু তাঁর মতে একটি ঘরের জন্য আওয়াজ যথেষ্ট।

আমার কাছে সবচেয়ে আকর্ষণীয় হলো যে ছোট ছোট বিষয়গুলো নিয়ে খুব কমই লেখা হয়। ESP32 ও DAC-এর মাঝখানে একটি ভোল্টেজ ডিভাইডার বসানো আছে, যা DAC-এর আউটপুট ২.১ V থেকে ০.২৭ V (RMS) পর্যন্ত কমায়, না হলে অ্যামপ্লিফায়ার ওভারলোড হয়ে গুঞ্জন করে। অনুপাতটি তিনি পরীক্ষা করে খুঁজে পেয়েছেন, এবং সতর্ক করেছেন যে অন্য অ্যামপ্লিফায়ারে এটি ভিন্ন হতে পারে।

আরেকটি সমস্যা ছিল DAC ও ESP32 একই বিদ্যুৎ উৎস থেকে চালানোর ফলে সৃষ্ট ডিজিটাল শব্দ। সমাধান ছিল দুটিকে আলাদা কনভার্টার থেকে বিদ্যুৎ দেওয়া। DAC ও অ্যামপ্লিফায়ারের মধ্যে ছোট ও পাকানো তার, এবং DAC-এর পরে দুটি ০.১ µF সিরামিক ক্যাপাসিটরও সাহায্য করেছে।

সফটওয়্যারটি PlatformIO-তে arduino-audio-tools ও ESP32-A2DP লাইব্রেরি দিয়ে তৈরি, তাই নিম্নস্তরের A2DP শব্দ স্থানান্তর তাঁকে নিজে লিখতে হয়নি। কোডটি তিনি GitHub-এ প্রকাশ করেছেন। সস্তা মডিউল দিয়েও কাজের কিছু বানানো যায়, আর পথের মধ্যে শব্দ কোথা থেকে আসে তা শেখা যায়, এর একটি ভালো উদাহরণ।

সূত্র: Habr

মন্তব্য 0

যেকোনো ভাষায় প্রথম মন্তব্যটি করুন।

মন্তব্য করতে লগ ইন করুন