সুচিপত্র:

MIDI নিয়ন্ত্রিত LED কাঠামো: 7 টি ধাপ
MIDI নিয়ন্ত্রিত LED কাঠামো: 7 টি ধাপ

ভিডিও: MIDI নিয়ন্ত্রিত LED কাঠামো: 7 টি ধাপ

ভিডিও: MIDI নিয়ন্ত্রিত LED কাঠামো: 7 টি ধাপ
ভিডিও: পরীক্ষায় ফুল মার্কস পাওয়ার A To Z গোপন টেকনিক | Exam Preparation Bangla | Bangla Motivational Speech 2024, জুলাই
Anonim
Image
Image

একজন সত্যিকারের সঙ্গীত প্রেমী এবং একটি ইলেকট্রনিক এবং কম্পিউটার বিজ্ঞানের ছাত্র হিসাবে, আমি সবসময় MIDI ডিভাইস তৈরি করতে চেয়েছিলাম, যা আমি ইলেকট্রনিক সঙ্গীত সৃষ্টির জন্য ব্যবহার করতে পারতাম।

অনেক শো এবং মিউজিক ফেস্টিভ্যালে অংশ নেওয়ার পর, আমি পারফরম্যান্সের সময় হালকা শোতে সত্যিই আগ্রহী হতে শুরু করি।

অনেক গবেষণার পরে, আমি বেশিরভাগই এমন ডিভাইস খুঁজে পেয়েছি যা মাইক্রোফোন ব্যবহার করে এবং আপনি যেভাবে চান সেভাবে এলইডি নিয়ন্ত্রণ করতে দেয়নি।

DAW এবং MIDI সংকেতগুলির সাথে আরও বেশি পরিচিত হয়ে, আমি এই প্রকল্পটি শুরু করার সিদ্ধান্ত নিয়েছি!

এটি ইনপোরেটেড এলইডি সহ একটি 3D কাঠামো নিয়ে গঠিত, যা আসলে MIDI সংকেত দ্বারা নিয়ন্ত্রিত হয় (নোটঅন, নোটঅফ এবং সিসি বার্তা)।

যাতে, সঙ্গীতশিল্পী শুধুমাত্র যেকোনো DAW দ্বারা উৎপন্ন MIDI সংকেত ব্যবহার করে প্রতিটি LED এর রঙ এবং তীব্রতা নিয়ন্ত্রণ করতে পারে।

এই ধারণার সাথে, আমি লাইট শো এর মাধ্যমে সৃজনশীলতা বৃদ্ধি করতে চেয়েছিলাম এবং প্রত্যেককে তার নিজস্ব নির্মাণের অনুমতি দিতে চেয়েছিলাম, প্রতিটি ভিজ্যুয়াল পারফরম্যান্সকে অনন্য করে তুলতে।

ধাপ 1: উপকরণ

মূলত, এই প্রকল্পটি দুটি অংশে গঠিত: একটি MIDI রিসেপশন সার্কিট এবং LED কাঠামো; এবং একটি মাইক্রোকন্ট্রোলার সেই অংশগুলিকে সংযুক্ত করতে এবং DAW থেকে LED স্ট্রিপগুলিতে আসা MIDI সংকেতগুলিকে "অনুবাদ" করে। এখানে প্রতিটি অংশের জন্য প্রয়োজনীয় উপকরণগুলির একটি তালিকা রয়েছে।

MIDI রিসেপশন সার্কিট:

  • 1 x 6N138 Optocoupler
  • 1 x 1N914 ডায়োড
  • 1 x 5-Pin Din Jack (MIDI Jack)
  • 2 x 220 ওহম প্রতিরোধক
  • 1 x 4.7K ওহম রেসিসর
  • 1 USB/MIDI জ্যাক

LED গঠন:

আমি WS2812B LEDs এর উপর ভিত্তি করে RGB LEDs স্ট্রিপ ব্যবহার করেছি যা শুধুমাত্র 1 ডিজিটাল পোর্ট দিয়ে নিয়ন্ত্রণ করা যায়। যদি আপনি একটি উচ্চ সংখ্যক LED ব্যবহার করার পরিকল্পনা করেন, তাহলে আপনাকে সর্বাধিক প্রয়োজনীয় বর্তমানের (1 LED সর্বাধিক 60mA ব্যবহার করতে পারে) যত্ন নিতে হতে পারে। যদি মাইক্রোকন্ট্রোলার এই সর্বোচ্চ মানটি পরিচালনা করতে না পারে, তাহলে আপনার আরও 5V পাওয়ার সাপ্লাই প্রয়োজন হবে যা পর্যাপ্ত কারেন্ট সরবরাহ করতে পারে। আমি ডেডিকেটেড আউটপুট অ্যাডাপ্টার এবং একটি সুইচ সহ একটি 5V - 8A AC/DC অ্যাডাপ্টার ব্যবহার করেছি।

দ্রষ্টব্য: মনে হচ্ছে আপনি একটি কম্পিউটার পাওয়ার সাপ্লাই ইউনিট ব্যবহার করতে পারেন, যেহেতু তারা সত্যিই উচ্চতর কারেন্ট সরবরাহ করতে সক্ষম হওয়ার জন্য জানেন, কিন্তু আপনাকে নিশ্চিত করতে হবে যে এটি একটি স্থিতিশীল 5V ডিসি ভোল্টেজ সরবরাহ করে, সম্ভবত একটি ব্যবহার করে 36 ওহম 5 ওয়াট শক্তি প্রতিরোধক স্থল (কালো) এবং 5V আউটপুট (লাল) এর মধ্যে যাতে প্রতিরোধকের মধ্য দিয়ে পর্যাপ্ত বিদ্যুৎ চলে যায় এবং এইভাবে একটি স্থিতিশীল 5V প্রদান করে।

অবশেষে, আমি MIDI সংকেত এবং LED স্ট্রিপের মধ্যে সংযোগ তৈরি করতে একটি স্ক্রু ieldাল সহ একটি সহজ Arduino Uno ব্যবহার করেছি।

ধাপ 2: MIDI ইনপুট সার্কিট নির্মাণ

MIDI ইনপুট সার্কিট নির্মাণ
MIDI ইনপুট সার্কিট নির্মাণ
MIDI ইনপুট সার্কিট নির্মাণ
MIDI ইনপুট সার্কিট নির্মাণ

আপনি যদি MIDI প্রোটোকলটি ঠিক কী এবং এটি কীভাবে কাজ করে সে সম্পর্কে আগ্রহী হন, আমি আপনাকে নোটস এবং ভোল্টস ইউটিউব চ্যানেলটি দেখার জন্য সুপারিশ করছি যেখানে প্রচুর আকর্ষণীয় এবং উদ্ভাবনী টিউটোরিয়াল এবং MIDI Arduino প্রকল্প রয়েছে।

এই অংশে, আমি শুধুমাত্র MIDI ইনপুট সার্কিটের উপর ফোকাস করব। একটি প্রোটোবোর্ডে একটি প্রোটোটাইপ তৈরি করা এবং ডিএডব্লিউ থেকে আসা MIDI সংকেতগুলি উপাদানগুলি সোল্ডারিংয়ের আগে মাইক্রোকন্ট্রোলার দ্বারা ভালভাবে গ্রহণ করা হয়েছে কিনা তা পরীক্ষা করা ভাল ধারণা হতে পারে।

নিচের দুটি ভিডিও বর্ণনা করে কিভাবে সার্কিট তৈরি এবং পরীক্ষা করা যায়:

  • সার্কিট নির্মাণ
  • সার্কিট পরীক্ষা করা হচ্ছে

পরিশেষে, সিসি বার্তাগুলি বুঝতে এবং এই উদাহরণের জন্য LED উজ্জ্বলতা নিয়ন্ত্রণ করতে আপনার মাইক্রোকন্ট্রোলার কীভাবে অটোমেশন ক্লিপগুলি ব্যাখ্যা করতে পারে তা বোঝার জন্য এই ভিডিওটি পরীক্ষা করাও একটি ভাল ধারণা হতে পারে।

ধাপ 3: FL স্টুডিও কনফিগার করা (nalচ্ছিক)

FL স্টুডিও কনফিগার করা (nalচ্ছিক)
FL স্টুডিও কনফিগার করা (nalচ্ছিক)
FL স্টুডিও কনফিগার করা (nalচ্ছিক)
FL স্টুডিও কনফিগার করা (nalচ্ছিক)
FL স্টুডিও কনফিগার করা (nalচ্ছিক)
FL স্টুডিও কনফিগার করা (nalচ্ছিক)

যেহেতু আমি FL স্টুডিও ব্যবহার করে স্বাচ্ছন্দ্যবোধ করছি, আমি তার MIDI ইন্টারফেসকে যথাযথভাবে কনফিগার করার ব্যাখ্যা করব, কিন্তু আমি নিশ্চিত যে আপনি যদি অন্য ডিজিটাল অডিও ওয়ার্কস্টেশন ব্যবহার করেন তবে এই পদ্ধতিটি একেবারে আলাদা হওয়া উচিত নয়।

প্রথমে আপনাকে কেবল আপনার কম্পিউটারে USB/MIDI জ্যাক লাগাতে হবে। সাধারণত, এই ধরনের ডিভাইসগুলি একটি এমবেডেড ফার্মওয়্যারের সাথে আসে এবং MIDI ডিভাইস হিসাবে স্বীকৃত হয় এমনকি তারা অপ্রীতিকর। তারপরে "সেটিংস" উইন্ডোটি খুলুন (F10 টিপে)। যদি সবকিছু সঠিকভাবে কাজ করে, আপনি আউটপুট বিভাগে কিছু আউটপুট MIDI ডিভাইস লক্ষ্য করবেন। আপনার ডিভাইস নির্বাচন করুন এবং নিশ্চিত করুন যে এটি চালু আছে।

তারপরে আপনাকে আপনার পোর্ট নম্বরটি সংজ্ঞায়িত করতে হবে এবং এটি মনে রাখতে হবে (উদাহরণস্বরূপ 0)। শুধু এই উইন্ডোটি বন্ধ করুন (পরামিতিগুলি স্বয়ংক্রিয়ভাবে সংরক্ষিত হয়) এবং তারপরে একটি নতুন চ্যানেল যুক্ত করুন: MIDI আউট।

তারপরে, আপনাকে যা করতে হবে তা হল এই নতুন চ্যানেলের পোর্ট সংজ্ঞায়িত করা: "সেটিংস" বিভাগে আপনি যে পোর্ট নম্বরটি সংজ্ঞায়িত করেছেন তা চয়ন করতে ভুলবেন না: এটি করার মাধ্যমে, আপনার চ্যানেল থেকে আসা MIDI বার্তাগুলি এখন MIDI আউটপুটের সাথে সংযুক্ত।

এখন, যখন একটি নোট MIDI আউট চ্যানেল দ্বারা বাজানো হয়, একটি "NoteOn" বার্তা MIDI ইন্টারফেসের মাধ্যমে পাঠানো হবে। একইভাবে, নোট প্রকাশের সময় একটি "নোটঅফ" বার্তা প্রেরণ করা হবে।

আরেকটি আকর্ষণীয় বৈশিষ্ট্য, যেটি MIDI আউট চ্যানেলের সাথে আসে তা হল potentiometers দিয়ে বিভিন্ন পরামিতি নিয়ন্ত্রণ করার ক্ষমতা। তাদের একটিতে ডান ক্লিক করে এবং "কনফিগার করুন …" নির্বাচন করে, আপনি তাদের CCMessages পাঠাতে পারেন (0 থেকে 127 পর্যন্ত একটি মান) যা LEDs উজ্জ্বলতা নিয়ন্ত্রণ করতে ব্যবহৃত হবে: CC নির্বাচন করুন এবং তারপর স্বীকার করুন।

সাধারণত FL স্টুডিও এখন আপনার MIDI ইন্টারফেসে ডেটা পাঠানোর জন্য প্রস্তুত! পরেরটি হল আরডুইনোতে ফ্ল্যাশ করার জন্য কোডটি লিখুন এবং এটি আপনার LED কাঠামোর সাথে খাপ খাইয়ে নিন।

ধাপ 4: LEDs সংযোগ করা

এলইডি সংযোগ করা হচ্ছে
এলইডি সংযোগ করা হচ্ছে

এলইডি স্ট্রিপগুলি সংযুক্ত করা বেশ সহজ, কারণ তাদের কেবল +5 ভি, জিএনডি এবং ডেটা প্রয়োজন। যাইহোক, যেহেতু আমি তাদের মধ্যে 20 টিরও বেশি সংযোগ করার পরিকল্পনা করেছি, আমি সিদ্ধান্ত নিয়েছিলাম যে কোনও Arduino PWM পিন ব্যবহার করব এবং কোনও ধরনের অনিচ্ছাকৃত বিলম্ব এড়াতে Adafruit_NeoPixel (coe তে) এর বেশ কয়েকটি উদাহরণ ঘোষণা করব।

সংযুক্ত ছবিটি ইলেকট্রনিক্স কীভাবে কাজ করে তা ব্যাখ্যা করতে চায়:

  • LEDs স্ট্রিপ সরাসরি বিদ্যুৎ সরবরাহ দ্বারা চালিত হয়।
  • আরডুইনোকে পাওয়ার জন্য একটি পাওয়ার সুইচ ব্যবহার করা হয়
  • সুইচ চালু করার সময় MIDI ইনপুট সার্কিটটি Arduino দ্বারা চালিত হয়

ধাপ 5: 3D স্ট্রাকচারকে অস্বীকার করা

3D স্ট্রাকচারকে অপমান করা
3D স্ট্রাকচারকে অপমান করা
3D স্ট্রাকচারকে অপমান করা
3D স্ট্রাকচারকে অপমান করা
3D স্ট্রাকচারকে অপমান করা
3D স্ট্রাকচারকে অপমান করা
3D স্ট্রাকচারকে অপমান করা
3D স্ট্রাকচারকে অপমান করা

এখন পর্যন্ত, এই অংশটি দীর্ঘতম ছিল কারণ আমি 3D- প্রিন্টিং (এবং মডেলিং) এর সাথে সম্পূর্ণ নতুন ছিলাম। আমি একটি কাঠামো ডিজাইন করতে চেয়েছিলাম যা অর্ধ বিস্ফোরিত কাটা আইকোসেড্রনের মতো দেখতে (হ্যাঁ, আকৃতির সঠিক নাম খুঁজে পেতে আমার কিছুটা সময় লেগেছিল)।

অবশ্যই আপনি আপনার আকৃতি দিয়ে আপনার নিজের মডেল ডিজাইন করতে স্বাধীন! আমি মডেলিং প্রক্রিয়া বিস্তারিত করব না কিন্তু আপনি যদি এই কাঠামোটি ডিজাইন করতে চান তবে আপনি STL ফাইলগুলি পাবেন।

বিভিন্ন অংশের সমাবেশে কিছু সময় লেগেছিল, কারণ আমাকে প্রতিটি মুখে একটি LED লাগাতে হয়েছিল এবং কোরটির ভিতরে প্রচুর সংখ্যক তারের সোল্ডারিং করে তাদের সবাইকে সংযুক্ত করতে হয়েছিল যা বর্তমানে বেশ নোংরা!

দ্রষ্টব্য: যদি আপনি এই ধরনের কাঠামো ডিজাইন করতে চান, তাহলে আপনার 10 টি ষড়ভুজাকার টুকরা (PP3DP UP মিনি প্রিন্টার ব্যবহার করে প্রায় 3 ঘন্টা) এবং 6 পঞ্চভুজ টুকরা (2 ঘন্টা) লাগবে।

একবার প্রতিটি অংশে একটি LED থাকলে, আপনাকে প্রতি 5V এবং GND টার্মিনালগুলিকে একসাথে সংযুক্ত করতে হবে এবং প্রতিটি LED এর বিভিন্ন ইনপুট এবং আউটপুট টার্মিনালগুলিকে যেভাবে আপনি তাদের সাথে সংযুক্ত করতে হবে।

অবশেষে, আমি প্রতিটি মুখ coverাকতে এবং তাদের ধারাবাহিকভাবে হালকা করার জন্য LED ডিফিউসিভ এক্রাইলিক ব্যবহার করেছি।

এর পরে যা বাকি আছে তা হল কোড, যা প্রকাশ করে যে জটিল নয়!

ধাপ 6: কোড

কোড
কোড

আমি আগের অংশে এটি উল্লেখ করেছি, কোডটি বেশ সহজ বলে প্রকাশ করে!

প্রকৃতপক্ষে, এটি শুধুমাত্র একটি MIDI দৃষ্টান্ত এবং বেশ কয়েকটি Adafruit_NeoPixel দৃষ্টান্ত (যতটা আলাদা স্ট্রিপ আছে) নিয়ে গঠিত।

মূলত, একবার এটি ঘোষিত হলে, MIDI শ্রেণী "বিরতি" ধরনের কাজ করে: NoteOn, NoteOff এবং CCMessage। যখন MIDI ইনপুট সিক্রুট সেই নির্দিষ্ট সংকেতগুলির মধ্যে একটি Arduino তে প্রেরণ করে, তখন সহযোগী সাবরুটিন বলা হয়। তারপরে, কোডটি যা করছে তা হল নোটঅন সিগন্যালে একটি নির্দিষ্ট এলইডি চালু করা, সহযোগী নোটঅফ সিগন্যালে এটি বন্ধ করা এবং CCMessage এ একটি স্ট্রিপের উজ্জ্বলতা আপডেট করা।

এছাড়াও, আমি একটি সাধারণ ফাংশন সংজ্ঞায়িত করেছি যা নোটঅন সিগন্যালের সাথে আসা বেগ পড়ার মাধ্যমে LEDs এর রঙ নির্বাচন করার সম্ভাবনা দেয় এবং প্রতিটি LED তখন লাল, বেগুনি, নীল, ফিরোজা, সবুজ, হলুদ, কমলা বা সাদা হতে পারে, বেগ মান 0 থেকে 127 যাচ্ছে উপর নির্ভর করে।

লক্ষ্য করার মতো একটি গুরুত্বপূর্ণ বিষয় হল যে আপনার স্কেচ আপলোড করার সময় আপনাকে RX পিন (MIDI ইনপুট সার্কিট থেকে আসা) সংযোগ বিচ্ছিন্ন করতে হবে কারণ সিরিয়াল পোর্ট (এই প্রক্রিয়ার সময় ব্যবহৃত) সেই পিনের সাথে সংযুক্ত!

ধাপ 7: এখন কি?

আমি বর্তমানে সমস্ত ইলেকট্রনিক্স এম্বেড করার জন্য একটি কাস্টম ঘেরের উপর কাজ করছি এবং আমি কাঠামোর জন্য একটি নামও ভাবছি! আপনি যদি এই প্রজেক্টটি উপভোগ করেন তবে দয়া করে আমাকে জানান, এবং আমি বিভিন্ন শোতে কাজ করছি কারণ আমি আরও ভিডিও সহ এই নির্দেশনাটি আপডেট করার পরিকল্পনা করছি!

প্রস্তাবিত: