সুচিপত্র:
- সরবরাহ
- ধাপ 1: ইলেকট্রনিক্স
- ধাপ 2: LED স্ট্রিপ সংযোগ করা
- ধাপ 3: আপনার কীবোর্ডে প্রকল্পটি মানিয়ে নেওয়া
- ধাপ 4: Arduino কোড
- ধাপ 5: সম্ভাব্য উন্নতি …
- ধাপ 6: সম্পন্ন
ভিডিও: MIDI2LED - একটি MIDI নিয়ন্ত্রিত LED স্ট্রিপ লাইট ইফেক্ট: 6 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
এটি আমার প্রথম নির্দেশযোগ্য, তাই আমার সাথে সহ্য করুন।
আমি সঙ্গীত তৈরি করতে পছন্দ করি, এবং লিভিং-রুমের কনসার্টের মতো লাইভ পরিস্থিতিতে, আমি যখন খেলি তার সাথে সিঙ্কে হালকা প্রভাব থাকে। তাই আমি একটি Arduino- ভিত্তিক বাক্স তৈরি করেছি যা একটি LED স্ট্রিপকে এলোমেলো রঙে আলোকিত করে যখন আমি আমার MIDI কীবোর্ডে একটি নোট আঘাত করি এবং যেখানে আমি নোটটি আঘাত করি।
সরবরাহ
- আরডুইনো উনো
- আরডুইনো প্রোটোসিল্ড
- MIDI জ্যাক
- 1N4148 ডায়োড
- 6N138 অপটো কাপলার
- প্রতিরোধক: 2x 220 Ohm, 1x 10kOhm, 1x 470Ohm
- WS2812B LED স্ট্রিপ (60 LEDs)
- কিছু অবশিষ্ট তারের
- তাপ সঙ্কুচিত টিউবিং
- Arduino জন্য উপযুক্ত আবরণ (আমি একটি প্লাস্টিকের জংশন বাক্স ব্যবহার)
আপনারও লাগবে
- সোল্ডারিং লোহা এবং ঝাল
- MIDI কীবোর্ড এবং MIDI কেবল
ধাপ 1: ইলেকট্রনিক্স
সার্কিট বেশ সোজা। এটি একটি স্ট্যান্ডার্ড MIDI ইনপুট (Arduino এর বাম) এবং LED স্ট্রিপ (Arduino এর ডানদিকে) সংযোগ নিয়ে গঠিত। প্রোটোসিল্ডে সমস্ত অংশ রাখুন, প্রচুর জায়গা আছে এটি সাধারণত LED স্ট্রিপকে পাওয়ার জন্য একটি বাহ্যিক বিদ্যুৎ সরবরাহ ব্যবহার করার সুপারিশ করা হয়, কিন্তু আমি দেখেছি যে যখন আপনি খেলেন, তখন একই সময়ে কেবল কয়েকটি LEDই চালু থাকে, তাই সেখানে ছিল Arduino +5V / GND পাওয়ার আউটপুট হিসাবে ব্যবহার করতে কোন সমস্যা নেই। (একই সময়ে, এবং সম্পূর্ণ বেগ সহ সমস্ত কীগুলি এড়ানোর চেষ্টা করুন। কিছু লোক এই দুটি লাইনের মধ্যে 100uF ক্যাপাসিটর (পরিকল্পিতভাবে দেখানো হয়নি) recommendোকানোর পরামর্শ দেয়।
প্রোটোসিল্ডে অংশগুলিকে সোল্ডার করুন এবং পরিকল্পিতভাবে দেখানো হিসাবে LED স্ট্রিপটি সংযুক্ত করুন।
ধাপ 2: LED স্ট্রিপ সংযোগ করা
সার্কিটের সাথে LED স্ট্রিপের ডান প্রান্ত - ইনপুট শেষ - সংযোগ করা গুরুত্বপূর্ণ। আমার স্ট্রিপের একটি ইনপুট হিসাবে একটি মহিলা সংযোগকারী আছে, এবং ইনপুট থেকে দূরে নির্দেশ করার সাথে সাথে সামান্য ত্রিভুজ রয়েছে। আউটপুটে, একটি পুরুষ সংযোগকারী ছিল (এটি অন্য স্ট্রিপের সাথে সংযুক্ত করতে সক্ষম হবে, যা আমাদের প্রয়োজন নেই), তাই আমি এটি কেটে ফেলেছি এবং এটি Arduino থেকে আসা তিনটি তারের কাছে বিক্রি করেছি। তিনটি ক্যাবলকে এলইডি স্ট্রিপে একসঙ্গে বাঁধতে এবং সেগুলি কম দৃশ্যমান করতে তাপ সঙ্কুচিত টিউবিং ব্যবহার করুন।
আমি যে LED স্ট্রিপটি ব্যবহার করেছি তার পিছনে আঠালো টেপ রয়েছে, তাই এটি সহজেই MIDI কীবোর্ডের পিছনে আঠালো করা যায়।
ধাপ 3: আপনার কীবোর্ডে প্রকল্পটি মানিয়ে নেওয়া
আপনাকে আপনার কীবোর্ডে LED স্ট্রিপ এবং Arduino কোডটি মানিয়ে নিতে হতে পারে। খনিতে 76 টি কী রয়েছে এবং স্ট্রিপের দৈর্ঘ্য প্রায় ঠিক কীবোর্ডের প্রস্থ। আপনার যদি থাকে যেমন 61 টি কী, আপনার একটি ছোট স্ট্রিপের প্রয়োজন হতে পারে। এলইডি স্ট্রিপ যে কোন দুটি এলইডি এর মধ্যে কাটা যাবে। শুধু নিশ্চিত করুন যে আপনি সঠিক অংশটি কেটে ফেলছেন, এর একটি ইনপুট শেষ (একটি মহিলা সংযোগকারী সহ) এবং একটি আউটপুট শেষ (একটি পুরুষ সংযোগকারী সহ), আপনাকে ইনপুট শেষ রাখতে হবে। কোডে, #সংজ্ঞা পরিবর্তন করুন জন্য
- NUMBER_OF_LEDS শেষ করার পরে আপনার স্ট্রিপে থাকা LEDs এর সংখ্যা,
- NUMBER_OF_KEYS আপনার কীবোর্ডের কীগুলির সংখ্যায়, এবং
- MIN_KEY থেকে আপনার সর্বনিম্ন কীটির MIDI পিচ নম্বর। আপনি কীবোর্ডের ব্যবহারকারী ম্যানুয়াল এ এটি খুঁজে পেতে পারেন; অথবা একটি টুল ব্যবহার করুন যা MIDI নোট নম্বর প্রদর্শন করে, যেমন লিনাক্সের জন্য KMidiMon, অথবা উইন্ডোজ বা ম্যাকের জন্য পকেট MIDI; অথবা ডিভাইসটি আপনার কীবোর্ডের সমস্ত কীগুলিতে সাড়া না দেওয়া পর্যন্ত বিভিন্ন মান ব্যবহার করে দেখুন
ধাপ 4: Arduino কোড
Arduino কোড MIDI লাইব্রেরি ব্যবহার করে Arduino IDE ব্যবহার করে এই লাইব্রেরিগুলি ইনস্টল করুন। তারপরে কোডটি কম্পাইল করুন এবং theাল সংযুক্ত না করে এটি আরডুইনোতে আপলোড করুন (অপটোকপলার আরএক্স পিনের সাথে সংযুক্ত, যা আপলোডে বাধা দেয়)। ইউএসবি তারের মাধ্যমে আরডুইনোকে শক্তি দিন (আমি একটি ইউএসবি ওয়াল ওয়ার্ট ব্যবহার করি)।
আপনি যদি আপনার পছন্দ অনুযায়ী কোডটি পরিবর্তন করতে চান, তাহলে এটি কীভাবে কাজ করে তার একটি সংক্ষিপ্ত বিবরণ: প্রতিটি লুপে, MIDI ইনপুট পড়া হয়। যদি একটি নোট অন বা নোট অফ ইভেন্ট পাওয়া যায়, তাহলে MyHandleNoteOn বা MyHandleNoteOff ফাংশন বলা হয়। তারা উভয়েই UpdateVelocityArray ফাংশনকে কল করে, যা কী সংখ্যার বেগ (যেমন আপনি কী চাপিয়েছেন) সংরক্ষণ করে। যদি বেগ আগে সঞ্চিত ছিল তার চেয়ে বেশি হয়, তাহলে সংশ্লিষ্ট LED এর রঙ "বর্তমান রঙ" এ সেট করা হয়। MIDI ইভেন্টগুলি পরিচালনা করার পরে, ফাংশন updateLedArray বলা হয়। এটি "বর্তমান রঙ" আপডেট করে (লাল, সবুজ এবং নীল মানগুলি একটি রৈখিক উপায়ে স্বাধীনভাবে পরিবর্তিত হয়, যতক্ষণ না নীচের বা উপরের প্রান্তে পৌঁছানো হয়, সেই সময়ে রৈখিক পরিবর্তনের গতি এলোমেলো সংখ্যায় সেট করা হয়), আস্তে আস্তে চাপা নোটের বেগ কমিয়ে দেয়, এবং প্রতিটি LED এর রঙের মান আপডেট করে যা তার রঙ পরিবর্তন করতে হয় (নতুন নোট আঘাত বা বেগ হ্রাসের কারণে)। ফাংশন showLedArray "পিক্সেল" নামক Adafruit_NeoPixel কাঠামোতে রং স্থানান্তর করে এবং প্রকৃত LEDs পিক্সেল কাঠামোতে রং দেখায়।
ধাপ 5: সম্ভাব্য উন্নতি …
একটি প্রকল্প কখনো শেষ হয় না। এটির উন্নতির জন্য সর্বদা কিছু করা যেতে পারে:
- প্রোটোসিল্ডে এত কম অংশ থাকে যে এটি সত্যিই একটি বর্জ্য; আরডুইনো ন্যানো এবং 15x7 হোল পিসিবি এবং কিছু মহিলা পিন হেডারের সাহায্যে কেউ সহজেই একই প্রভাব অর্জন করতে পারে।
- কিছু MIDI সংকেত হারিয়ে যায়। যদি এটি একটি নোটঅন হয়, তাহলে সংশ্লিষ্ট LED জ্বলবে না; যদি এটি একটি নোটঅফ হয় তবে এটি বের হবে না (এজন্যই আমি বেগ হ্রাসের প্রবর্তন করেছি, যা নিশ্চিত করে যে এলইডি অনির্দিষ্টকালের জন্য থাকবে না)। আমি এখনও কারণ খুঁজে বের করার চেষ্টা করছি। সম্ভবত এটি একটি সময় নির্ধারণের সমস্যা, এবং MIDI.read () আরো প্রায়ই বলা উচিত।
- কিছু MIDI সংকেত ভুলভাবে পড়ে, যেমন ভুল LEDs আলো জ্বলে। উপরের পয়েন্টের সাথে সংযুক্ত হতে পারে। কিছু তদন্ত প্রয়োজন।
- সার্কিটটি খুব বেশি ব্যবহারকারীর মিথস্ক্রিয়া ছাড়াই একটি মনোরম চাক্ষুষ প্রভাব দেওয়ার জন্য ডিজাইন করা হয়েছে (কীবোর্ড বাজানো ছাড়া)। যাইহোক, আমি একটি পটেনশিয়োমিটার যোগ করার কথা কল্পনা করতে পারি যা পড়া হয় (Arduino এর এনালগ ইনপুটগুলির একটি ব্যবহার করে) যার সাহায্যে আপনি সর্বাধিক গতি পরিবর্তন করতে পারেন (বর্তমানে #MAX_COLOR_CHANGE_SPEED = 20 হিসাবে সংজ্ঞায়িত)। অথবা দুটি নোটঅন ইভেন্টের মধ্যে গড় সময় পরিমাপ করুন এবং সেই অনুযায়ী MAX_COLOR_CHANGE_SPEED পরিবর্তন করুন - ধীর গানে, রঙ আরও ধীরে ধীরে পরিবর্তন করা উচিত।
ধাপ 6: সম্পন্ন
USB তারের মাধ্যমে Arduino কে শক্তি দিন (আমি একটি USB ওয়াল ওয়ার্ট ব্যবহার করি)। আপনার MIDI কীবোর্ডটিকে MIDI জ্যাকের সাথে সংযুক্ত করুন এবং রকিং শুরু করুন। আমাকে একটু হালকা মিউজিক বাজানো দেখুন
প্রস্তাবিত:
ওয়াইফাই নিয়ন্ত্রিত LED স্ট্রিপ ম্যাট্রিক্স ডিসপ্লে ক্লক লাইট: 3 টি ধাপ (ছবি সহ)
ওয়াইফাই নিয়ন্ত্রিত LED স্ট্রিপ ম্যাট্রিক্স ডিসপ্লে ক্লক লাইট: প্রোগ্রামযোগ্য LED স্ট্রিপ, যেমন WS2812 এর উপর ভিত্তি করে, আকর্ষণীয়। অ্যাপ্লিকেশনগুলি বহুগুণ এবং আপনি দ্রুত চিত্তাকর্ষক ফলাফল পেতে পারেন। এবং একরকম বিল্ডিং ঘড়িগুলি অন্য ডোমেন বলে মনে হয় যা আমি অনেক কিছু নিয়ে চিন্তা করি। কিছু অভিজ্ঞতা দিয়ে শুরু করে
DIY LED স্ট্রিপ: কিভাবে কাটা, কানেক্ট, সোল্ডার এবং পাওয়ার LED স্ট্রিপ: 3 টি ধাপ (ছবি সহ)
DIY LED স্ট্রিপ: কিভাবে কাটবেন, কানেক্ট করবেন, সোল্ডার এবং পাওয়ার LED স্ট্রিপ: LED স্ট্রিপ ব্যবহার করে আপনার নিজের লাইট প্রজেক্ট তৈরির জন্য নতুনদের নির্দেশিকা। একটি সাধারণ ইনডোর 60 LED/m LED স্ট্রিপ ইনস্টল করার মূল বিষয়গুলি, কিন্তু এতে
সহজ LED স্ট্রিপ ল্যাম্প (আপনার LED স্ট্রিপ আপগ্রেড করুন): 4 টি ধাপ (ছবি সহ)
সহজ LED স্ট্রিপ ল্যাম্প (আপনার LED স্ট্রিপ আপগ্রেড করুন): আমি বেশ কিছুদিন ধরে LED স্ট্রিপ ব্যবহার করছি এবং সবসময় তাদের সরলতা পছন্দ করি। আপনি কেবল একটি ভূমিকা থেকে একটি টুকরো কেটে ফেলুন, এটিতে কিছু তারের সোল্ডার করুন, একটি বিদ্যুৎ সরবরাহ সংযুক্ত করুন এবং আপনি নিজেকে একটি আলোর উৎস পেয়েছেন। বছরের পর বছর ধরে আমি একটি গ খুঁজে পেয়েছি
ডাস্টি ওয়াল Arduino অ্যানিমেটেড LED ল্যাম্প লাইট ইফেক্ট সহ: 11 টি ধাপ (ছবি সহ)
ডাস্টি ওয়াল আরডুইনো অ্যানিমেটেড এলইডি ল্যাম্প লাইট ইফেক্ট সহ: আমার সবেমাত্র একটি বাচ্চা হয়েছিল এবং তার বেডরুম করার পর আমার একটি দেয়ালে আলোর প্রয়োজন ছিল। যেহেতু আমি LED কে খুব ভালোবাসি তাই আমি কিছু তৈরি করার সিদ্ধান্ত নিয়েছি। আমি সাধারণভাবে প্লেন পছন্দ করি, তাহলে কেন কার্টুন থেকে একটি প্লেন দেয়ালে লাগানো হবে না, এখানে শুরু হওয়ার সাথে সাথে আমি কিভাবে করেছি। আশা করি
স্পিল্যাট্রন বা অন্যান্য MIDI সিন্থের জন্য MIDI 5V LED স্ট্রিপ লাইট কন্ট্রোলার: 7 টি ধাপ (ছবি সহ)
স্পিল্যাট্রন বা অন্যান্য MIDI সিন্থের জন্য MIDI 5V LED স্ট্রিপ লাইট কন্ট্রোলার: এই কন্ট্রোলারটি প্রতি নোট 50mS এর জন্য ত্রি-রঙের LED স্ট্রিপ লাইট জ্বালায়। G5 থেকে D#6 এর জন্য নীল, E6 থেকে B6 এর জন্য লাল এবং C7 থেকে G7 এর জন্য সবুজ। কন্ট্রোলারটি একটি ALSA MIDI ডিভাইস তাই MIDI সফটওয়্যার MIDI সিন্থ ডিভাইসের মতো একই সময়ে LEDs তে আউটপুট করতে পারে