সুচিপত্র:

মাইক্রো মিডি সিনথেসাইজার: 5 টি ধাপ (ছবি সহ)
মাইক্রো মিডি সিনথেসাইজার: 5 টি ধাপ (ছবি সহ)

ভিডিও: মাইক্রো মিডি সিনথেসাইজার: 5 টি ধাপ (ছবি সহ)

ভিডিও: মাইক্রো মিডি সিনথেসাইজার: 5 টি ধাপ (ছবি সহ)
ভিডিও: How to connect midi keyboard with mobile | কিভাবে মিডি কিবোর্ড কানেক্ট করবেন মোবাইলের সাথে | GSB 2024, নভেম্বর
Anonim
মাইক্রো মিডি সিনথেসাইজার
মাইক্রো মিডি সিনথেসাইজার
মাইক্রো মিডি সিনথেসাইজার
মাইক্রো মিডি সিনথেসাইজার
মাইক্রো মিডি সিনথেসাইজার
মাইক্রো মিডি সিনথেসাইজার

এই নির্দেশযোগ্যটি VLSI VS1053b অডিও এবং মিডি ডিএসপি চিপ এর রিয়েল-টাইম মিডি মোডে ব্যবহার প্রদর্শন করে। এই মোডে এটি একটি 64 ভয়েস পলিফোনিক জিএম (জেনারেল মিডি) মিডি সিনথেসাইজার হিসাবে কাজ করে। একটি Arduino Uno স্বতন্ত্র মাইক্রো একটি OLED ডিসপ্লে নিয়ন্ত্রণ করে, তিনটি বোতাম (ফাংশন সিলেক্ট এবং আপ বা ডাউন, এবং মিডি ডেটা স্ট্রিম অডিও ডিএসপি -তে দিয়ে যায়। নির্বাচিত মিউজিক বোর্ড ছিল Adafruit VS1053 কোডেক ব্রেকআউট বোর্ড, কিন্তু স্পার্কফুন মিউজিক ব্রেকআউট বোর্ড এছাড়াও সফলভাবে পরীক্ষা করা হয়েছিল। অ্যাডাফ্রুট VS1053b লাইব্রেরিগুলি অনেক বড় SFEMP3 লাইব্রেরির পরিবর্তে ব্যবহার করা হয়েছিল (স্পার্কফুন দ্বারা প্রস্তাবিত যদিও তাদের নিজস্ব লাইব্রেরি রয়েছে), কারণ আমি এডাফ্রুট কোডটি বুঝতে সহজ পেয়েছি।

অডিও/মিডি ডিএসপি নিয়ন্ত্রণের জন্য ব্যবহৃত বেশিরভাগ কোড একটি ব্রেডবোর্ডের মাধ্যমে অডিও/মিডি ব্রেকআউট বোর্ডের সাথে সংযুক্ত আরডুইনো ইউনো ব্যবহার করে তৈরি করা হয়েছিল। ফাংশনগুলি সন্তোষজনকভাবে কাজ করার পর ইউনোকে একটি স্বতন্ত্র ATmega 328 এর জন্য প্রোগ্রামার হিসাবে ব্যবহার করা হয়েছিল যা পরে 30x20 সাইজের একটি ছোট ভেরোবোর্ডে 6N139 অপ্টো-আইসোলেটার আইসি সহ মিদি ইনপুট সকেটে (একটি 5 পিন DIN) লাগানো হয়েছিল। । এছাড়াও একটি ছোট (64x48) OLED ieldাল, তিনটি বোতাম, একটি মিডি অ্যাক্টিভিটি LED এবং পাওয়ারের জন্য একটি +5 ভোল্ট ব্যারেল সংযোগকারী এবং অডিও স্টিরিও আউটপুট সংযোগকারী যুক্ত ছিল। বিদ্যুতের প্রয়োজনীয়তা খুবই বিনয়ী - 5 ভোল্টে প্রায় 20 এমএ।

ধাপ 1: অংশ তালিকা

ATmega328 Micro 28 pin DIP + 28 pin DIP socket6N138 or 6N139 optoisolator + 4 pin DIP socketWemos 64x48 I2C OLED Display or similar Adafruit VS1053b Codec breakout board3 miniature pushbuttons5 pin DIN Midi socket PCB মাউন্ট পছন্দের। একটি এম্প্লিফায়ার বা হেডফোনের সাথে সংযোগ করার জন্য সকেট প্রতিরোধক: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm ক্যাপাসিটার: 0.1uF 50v প্লাস্টিক, 10uf 25v ইলেক্ট্রোলাইটিক, 2 x 27 pF সিরামিক ভেরোবোর্ডের ছোট টুকরা (20 টি কলাম দ্বারা 30 টি স্ট্রিপ এবং 4 টি স্ট্রিপ 16 কলাম দ্বারা), ABS প্লাস্টিকের ঘের প্রায় 85x55x25 মিমি, তারের এবং কয়েকটি স্ক্রু বাদাম এবং ওয়াশার।

ধাপ 2: নির্মাণ

নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ

ঘেরের idাকনাতে OLED ডিসপ্লে রয়েছে, তিনটি বোতাম যা ভেরোবোর্ডের আরেকটি ছোট টুকরোতে লাগানো হয়েছে এবং ব্যারেল পাওয়ার সংযোগকারী। ATmega328 এর উপরে মিউজিক ব্রেকআউট বোর্ড ঠিক করার জন্য প্রধান ভেরো সার্কিট বোর্ডে দুটি ছিদ্র রয়েছে। সংযোগের বিশদ বিবরণের জন্য দয়া করে ফ্রিজিং স্ট্রিপ বোর্ড ডায়াগ্রাম দেখুন।

প্রোগ্রাম করা ATmega328 (অনুগ্রহ করে কোডের জন্য পরবর্তী বিভাগটি পড়ুন) তারপর তার সকেটে 6N139 এর পরে everythingোকানো হয় এবং সবকিছু সংযুক্ত থাকে।

LED একটি Midi কার্যকলাপ সূচক হিসাবে ব্যবহৃত হয় এবং ঘেরের সামনের দিকে মাউন্ট করা হয়েছিল। এটি 470 ওহম প্রতিরোধকের মাধ্যমে এটিমেগা 328 এর D2 আউটপুটের সাথে সংযুক্ত।

OLED ডিসপ্লে বিদ্যুতের জন্য Adafruit বোর্ড থেকে 3.3 ভোল্ট আউটপুট ব্যবহার করে - এর জন্য 20 mA এর কম প্রয়োজন।

আপনি যখন প্রথম সিন্থ ব্যবহার করেন তখন কোন অডিও না শুনলে দুটি মিদি দিন সংযোগ অদলবদল করার চেষ্টা করুন।

ধাপ 3: সফটওয়্যার

ATmega328 এ আপলোড করা স্কেচের বিবরণ MidA.ino এ দেওয়া আছে। সাতটি ফাংশন পাওয়া যায়:

বিকল্প পি: প্রোগ্রাম পরিবর্তন করুন - জিএম মিডি যন্ত্রটি 1 থেকে 128 (আমি 0 থেকে 127 ব্যবহার করেছি) যেমন একটি পিয়ানো বা সিন্থ শব্দ পরিবর্তন করুন বিকল্প বি: মেলোডিক (ব্যাংক 0) এবং পারকিউশন (ব্যাংক 1) এর মধ্যে যন্ত্রের ব্যাংক পরিবর্তন করুন। বিকল্প V: ভলিউম 1 থেকে 10 পর্যন্ত সামঞ্জস্য করুন বিকল্প C: মিডি চ্যানেলটি পরিবর্তন করুন যা সিন্থ সাড়া দেবে। পছন্দগুলি হল চ্যানেল 0, চ্যানেল 1, চ্যানেল 9 (পারকিউশন), চ্যানেল 0 এবং 9, এবং চ্যানেল 1 এবং 9. অপশন আর: রিভার্ব ইফেক্ট চালু বা বন্ধ করুন। অথবা Eeprom মেমরি থেকে এটি (নিচে) পড়ুন। এর কারণ হল, পাওয়ারিং ডাউন করার সময় সেটিংস অন্যথায় সংরক্ষিত হয় না। অপশন X: সব নোট অফ মেসেজ পাঠান (মিডি রিসেট)।

অষ্টম বিকল্পটি এখনও বাস্তবায়িত হয়নি - এটি এটিমেগাকে মিডি ফিল্টার হিসাবে বাইপাস করবে এবং অপটিওসোলারেটরের আউটপুটটি সরাসরি ডিএসপি বোর্ডের আরএক্স পিনের সাথে সংযুক্ত করবে।

মনে রাখবেন যে VS1053b বুট করার সময় 1039 বাইট কম্প্রেসড প্যাচ লোড করে রিয়েল -টাইম মিডি মোডে বুট করে - এটি মিডি বাফার এবং ফিল্টার সিস্টেমের এক্সক্লুসিভ মিডি ডেটা বাইটের আকারও বাড়ায়। এই প্যাচের বিবরণ ভিএলএসআই ওয়েবসাইটে পাওয়া যাবে।

অ্যাডাফ্রুট গ্রাফিক্স লাইব্রেরির সামান্য পরিবর্তিত সংস্করণটি ওএলইডি ডিসপ্লের 64x48 পিক্সেল রেজোলিউশনের জন্য ব্যবহার করা হয়েছিল - দয়া করে মিস্টার ম্যাকাউসারের জন্য শেষে দেওয়া লিঙ্কগুলি পড়ুন। প্রয়োজনীয় লাইব্রেরির একটি তালিকা স্কেচ কোডে দেওয়া আছে।

গুরুত্বপূর্ণভাবে যখন ATmega328- এ প্রথমবারের মতো স্কেচ কার্যকর করা হয় তা ইউনো বা স্ট্যান্ডঅ্যালোনেই হোক, কোডটি ATmega328 Eeprom থেকে প্যারামিটার প্রিসেট লোড করবে যা বৈধ নাও হতে পারে। সেক্ষেত্রে আপনি ডাউন বোতামের সাহায্যে X অপশন ব্যবহার করে Eeprom- এ সমস্ত শূন্য লিখতে পারেন, অথবা অকার্যকর সেটআপ ফাংশনে লাইনটি মন্তব্য করতে পারেন যা Eeprom থেকে মানগুলি লোড করে যখন এটি প্রথম শুরু হয়, আপনার যন্ত্রগুলি ইত্যাদি আপনার সাথে সামঞ্জস্য করুন পছন্দ করে, এবং তারপর S অপশন আপ বাটন দিয়ে আপনার প্রিসেট সংরক্ষণ করুন।

ক্রেডিট সমস্ত ব্যক্তি এবং সত্তাকে তাদের কোড এবং লাইব্রেরির জন্য উল্লেখ করা হয়েছে।

ধাপ 4: লিঙ্ক

ভিএলএসআই:

Adafruit:

Github VS1053b: https://github.com/adafruit/Adafruit_VS1053_ লাইব্রেরি

Github গ্রাফিক্স:

ওলেড:

স্পার্কফুন:

পদক্ষেপ 5: অ্যাডাফ্রুট লাইব্রেরির সাথে স্পার্কফুন বোর্ড ব্যবহার করা

অ্যাডাফ্রুট লাইব্রেরির সাথে স্পার্কফুন বোর্ড ব্যবহার করা
অ্যাডাফ্রুট লাইব্রেরির সাথে স্পার্কফুন বোর্ড ব্যবহার করা

ছবির টেবিলটি ব্যাখ্যা করে কিভাবে অন্য লাইব্রেরি ব্যবহার করার জন্য অ্যাডাফ্রুট বা স্পার্কফুন মিউজিক বোর্ডকে সংযুক্ত করতে হয়।

প্রস্তাবিত: