সুচিপত্র:
ভিডিও: Wii Nunchuck Synthesizer: 4 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
ওয়াই মিউজিকের বিশ্ব:
আমি শেষ পর্যন্ত আমার সংগীতের প্রতি ভালোবাসাটাকে গত কয়েক বছর ধরে অর্জিত প্রোগ্রামিং অভিজ্ঞতার সাথে একত্রিত করার সিদ্ধান্ত নিয়েছি। আমি আমার স্কুলে টড ম্যাকওভারের একটি বক্তৃতা দেখার পর থেকেই আমার নিজের একটি যন্ত্র তৈরি করতে আগ্রহী। আপনি যদি তার কাজের সাথে অপরিচিত হন তবে তাকে একটি গুগল দিন, কারণ তিনি বহু বছর ধরে সঙ্গীত, প্রযুক্তির সীমানা এবং সেই সাথে তাদের ছেদ করে চলেছেন (এমআইটি মিডিয়া ল্যাব, রক ব্যান্ড, গিটার হিরো ইত্যাদি)।)।
আমি আমার নানচাককে একটি Arduino Uno- এর সাথে সংযুক্ত করেছি যা Mozzi সাউন্ড সিনথেসিস লাইব্রেরিতে চলছে এবং অনলাইনে উভয়ের ভালভাবে নথিভুক্ত ব্যবহারের কারণে। স্বাচ্ছন্দ্যের জন্য, আমি একটি WiiChuck ব্রেডবোর্ড অ্যাডাপ্টার ব্যবহার করছি যা সরাসরি Arduino এ প্লাগ করে। এই অপেক্ষাকৃত সহজ প্রকল্পটি নানচাকের অ্যাকসিলরোমিটার থেকে মাপা পিচ (YZ-Plane) এর উপর নির্ভর করে একটি পিচ সিরিজ খেলে। পিচকে জোরে বা নরম করার জন্য জয়স্টিকের Y মান লাভের জন্য ম্যাপ করা হয়। এটি Z-Button এর উপর নির্ভর করে chords পরিবর্তন করে এবং C-Button টিপে একটি ফেজ মডুলেশন খাম চালু করে। খামের ফ্রিকোয়েন্সি তারপর নানচাক থেকে মাপা রোল দিয়ে পরিবর্তন করা হয় (ছবিটি একটি গাঁট বাঁকানো)।
সম্পদ:
- 1 x Arduino Uno
- 1 x Wii Nunchuck
- 1 x WiiChuck অ্যাডাপ্টার
- 1 x ব্রেডবোর্ড সামঞ্জস্যপূর্ণ 3.5 মিমি মহিলা স্টেরিও জ্যাক
- 1 x 3.5 মিমি অডিও কেবল
- এক ধরণের স্পিকার
- 4-5 বিভিন্ন রঙের তার
Ptionচ্ছিক কিন্তু প্রস্তাবিত:
- 1 x 330 ওহম প্রতিরোধক
- 1 x.1 uF ক্যাপাসিটর
ধাপ 1: আপনার NunChuck মধ্যে প্লাগিং
Arduino খেলার মাঠ থেকে WiiChuck ক্লাস কপি/আটকান। আমাদের PWR এবং GND পিনের ঘোষণার সাথে সংস্করণের প্রয়োজন হবে। এটি WiiChuck.h হিসাবে সংরক্ষণ করুন এবং আপনার প্রকল্পের মতো একই ডিরেক্টরিতে রাখুন।
এখন Arduino IDE তে নিচের কপি/পেস্ট করুন এবং আপলোড করুন।
#"Wire.h" অন্তর্ভুক্ত করুন //#"WiiChuckClass.h" // সম্ভবত আমাদের বাকিদের জন্য WiiChuck.h অন্তর্ভুক্ত করুন। #অন্তর্ভুক্ত "WiiChuck.h" WiiChuck চাক = WiiChuck ();
অকার্যকর সেটআপ() {
// nunchuck_init (); Serial.begin (115200); chuck.begin (); chuck.update (); //chuck.calibrateJoy (); }
অকার্যকর লুপ () {
বিলম্ব (20); chuck.update ();
Serial.print (chuck.readPitch ());
সিরিয়াল.প্রিন্ট (","); Serial.print (chuck.readRoll ()); সিরিয়াল.প্রিন্ট (",");
Serial.print (chuck.readJoyX ());
সিরিয়াল.প্রিন্ট (","); Serial.print (chuck.readJoyY ()); সিরিয়াল.প্রিন্ট (",");
যদি (chuck.buttonZ) {
Serial.print ("Z"); } অন্য {সিরিয়াল.প্রিন্ট ("-"); }
সিরিয়াল.প্রিন্ট (",");
// একটি ফাংশন নয় // যদি (chuck.buttonC ()) {
যদি (chuck.buttonC) {Serial.print ("C"); } অন্য {সিরিয়াল.প্রিন্ট ("-"); }
Serial.println ();
}
আপনার Arduino কে বিদ্যুৎ থেকে সংযোগ বিচ্ছিন্ন করুন এবং আপনার WiiChuck অ্যাডাপ্টারটিকে আপনার Arduino এ এনালগ পিন 2-5 এর সাথে সংযুক্ত করুন।
আবার ক্ষমতার সাথে সংযোগ করুন এবং নিশ্চিত করুন যে নানচাকের মানগুলি আপনার আরডুইনোতে পাঠানো হচ্ছে এবং সিরিয়াল মনিটরে মুদ্রিত হচ্ছে। যদি আপনি সংখ্যার কোন পরিবর্তন দেখতে না পান তবে নিশ্চিত করুন যে আপনার সংযোগগুলি ভাল, এবং আপনি নানচাক কাজ করছেন। আমি কিছু দিন কাটিয়েছি সফটওয়্যার ঠিক করার চেষ্টা করার আগে যে আমার নানচাকের তারটি অভ্যন্তরীণভাবে ভেঙে গেছে!
পরবর্তীতে, আমরা সবকিছুকে মোজির সাথে সংযুক্ত করব। । ।
ধাপ 2: মোজিকে জানা
প্রথমে, আপনাকে মোজির সর্বশেষ সংস্করণটি ডাউনলোড করতে হবে। তারা অনুদানের দ্বারা ইন্ধনপ্রাপ্ত হয় তাই অনুগ্রহ করে অনুদান দিন এবং লাইব্রেরি ডাউনলোড করুন। আপনি Arduino IDE থেকে স্কেচ> লাইব্রেরি>. ZIP লাইব্রেরি যোগ করুন নির্বাচন করে আপনার লাইব্রেরিতে সহজেই এটি যুক্ত করতে পারেন।
এখন আমরা 3.5 মিমি হেডফোন জ্যাককে রুটিবোর্ড এবং আরডুইনোতে সংযুক্ত করব যাতে আমরা সহজেই এটির সাথে পরবর্তীতে সংযুক্ত হতে পারি (আপনি আপাতত নানচাক এবং অ্যাডাপ্টার আনপ্লাগ করতে পারেন)।
- বোর্ডের নিচের ডান কোণে আপনার জ্যাকটি প্লাগ করুন যাতে বাকিদের জন্য জায়গা তৈরি হয়। জ্যাকটি 5 পিন প্রশস্ত হওয়া উচিত।
- একটি জাম্পার তার দিয়ে মাটির মাঝের সারিটি সংযুক্ত করুন।
- জ্যাকের উপরের সারিকে উপরের একটি খালি সারিতে সংযুক্ত করুন (ছবিতে সারি 10)। এটি অডিও সংকেত বহনকারী তারের।
- সারি 10 এর সাথে ডিজিটাল পিন ~ 9 সংযুক্ত করুন।
- আপনার আরডুইনোতে গ্রাউন্ডকে ব্রেডবোর্ডের গ্রাউন্ড রেলের সাথে সংযুক্ত করুন।
- আপনার অগত্যা রোধকারী এবং ক্যাপাসিটর ব্যবহার করার প্রয়োজন নেই তবে আপনি যদি না করেন তবে আপনি একটি উচ্চ পিচযুক্ত চিৎকার লক্ষ্য করতে পারেন। এটি pass 15 kHz এর উপরে ফ্রিকোয়েন্সি দূর করতে লো পাস ফিল্টার হিসাবে কাজ করে।
ফাইল> উদাহরণ> মোজি> বেসিক> সাইনওয়েভ নির্বাচন করে Arduino IDE তে মোজির সাইনওয়েভ স্কেচ খুলুন। এটি মূলত মোজির "হ্যালো ওয়ার্ল্ড" এর সমতুল্য।
স্কেচ আপলোড করুন এবং রুটিবোর্ডে একটি স্পিকারে প্লাগ করুন। আপনি যদি ব্রেডবোর্ডটি এখনও অডিও জ্যাকের সাথে সংযুক্ত না করেন তবে আপনি একটি বুজার ব্যবহার করতে পারেন।
আপনি যদি আপনার স্পিকার থেকে ধ্রুবক A4 (440Hz) না শুনতে পান তবে নিশ্চিত করুন যে আপনার সমস্ত সংযোগ ভাল এবং আবার চেষ্টা করুন।
এরপরে, আমরা নানচাককে আরডুইনোতে সংযুক্ত করব!
ধাপ 3: সব একসাথে রাখা
এখন আমরা সাইনওয়েভের ফ্রিকোয়েন্সি পরিবর্তন করতে নানচুক থেকে রোল মান ব্যবহার করতে যাচ্ছি।
Arduino IDE থেকে File> Examples> Mozzi> Sensors> Piezo Frequency নির্বাচন করুন
Nunchuck এর সাথে কাজ করার জন্য আমাদের এই কোডে কয়েকটি লাইন যোগ করতে হবে। WiiChuck লাইব্রেরিতে একটি অন্তর্ভুক্ত করুন এবং চক নামে একটি WiiChuck অবজেক্ট ইনস্ট্যান্ট করুন। আপনি PIEZO_PIN এর ঘোষণাপত্রটিও মন্তব্য করতে পারেন অথবা এটি মুছে ফেলুন কারণ আমরা এটি ব্যবহার করব না।
#অন্তর্ভুক্ত "WiiChuck. H"
WiiChuck chuck = WiiChuck (); // const int PIEZO_PIN = 3; // পাইজোর জন্য এনালগ ইনপুট পিন সেট করুন
এখন সেটআপে, আমাদের নিম্নলিখিতগুলি যুক্ত করতে হবে:
chuck.begin (); chuck.update ();
এবং অবশেষে আপডেট কন্ট্রোল () এ আমাদের কিছু জিনিস পরিবর্তন করতে হবে:
void updateControl () {
chuck.update (); // সর্বশেষ নুনচাক ডেটা পান // পাইজো পড়ুন // int piezo_value = mozziAnalogRead (PIEZO_PIN); // মান 0-1023 int piezo_value = মানচিত্র (লাইনটি মন্তব্য করুন যা পাইজো_ভ্যালু সেট করে এবং নীচেরটি যোগ করুন:
অকার্যকর updateControl () {chuck.update (); // সর্বশেষ নুনচাক ডেটা পান // পাইজো পড়ুন // int piezo_value = mozziAnalogRead (PIEZO_PIN); // মান হল 0-1023 // আমাদের উপরের লাইনের দরকার নেই কিন্তু কেন একই পরিসরে রোল ম্যাপ করবেন না? int piezo_value = মানচিত্র (chuck.readRoll (), -180, 180, 0 1023);
কোড আপলোড করুন এবং ফ্রিকোয়েন্সিটি আপনার নানচাকের রোল এর সাথে সামঞ্জস্যপূর্ণ হওয়া উচিত। বিভিন্ন ফ্রিকোয়েন্সি রেঞ্জে এটি ম্যাপ করার চেষ্টা করুন। যদি আপনি স্কেচে আরও নীচে লক্ষ্য না করেন তবে সেন্সর থেকে মান 3 দ্বারা গুণিত হয় তাই আমরা বর্তমানে 0 Hz থেকে প্রায় 3000 Hz পর্যন্ত টোন খেলছি।
ধাপ 4: চূড়ান্ত স্পর্শ
এখন আপনি কোডের চূড়ান্ত সংস্করণটি আপলোড করতে প্রস্তুত যা আমি আগের ধাপ থেকে এবং মোজির আরও কয়েকটি উদাহরণ (Phase_Mod_Envelope, এবং Control_Gain সঠিক হতে) থেকে একত্রিত করেছি। আমার জীবনকে সহজ করার জন্য আমি পিচ.এইচ নামে একটি ফাইলও অন্তর্ভুক্ত করেছি যা কেবল পরিচিত নোটের নাম (যেমন NOTE_A4) দিয়ে ফ্রিকোয়েন্সি মান নির্ধারণ করে।
আমি মোজ্জি ডকুমেন্টেশন পড়ার পরামর্শ দিচ্ছি কারণ নানচাকের কোড ব্যতীত কোডের বেশিরভাগ উদাহরণ থেকে সরাসরি।
এখানে আমার গিট সংগ্রহস্থলের একটি লিঙ্ক। মোজি লাইব্রেরি বাদে সমস্ত গুরুত্বপূর্ণ ফাইল অন্তর্ভুক্ত করা হয়েছে যা আপনাকে তাদের ওয়েবসাইট থেকে পাওয়া উচিত যাতে এটি আপ টু ডেট থাকে। WiiMusic.ino ডাউনলোড করুন এবং এটি আপনার ডিভাইসে আপলোড করুন এটি কেমন লাগে তা শুনতে। আমি পরামর্শ দিচ্ছি যে আপনি যে প্যারামিটারগুলি আমি পরিবর্তন করছি তার সাথে খেলুন (মানচিত্রের রেঞ্জ পরিবর্তন করুন, সংখ্যা ভাগ করুন/সংখ্যাবৃদ্ধি করুন, ইত্যাদি।) যেভাবে আমি যে বিশেষ শব্দটি খুঁজছিলাম তা খুঁজে পেয়েছি।
প্রতিফলন
আমার মনে হয় না যে আমি বেশ শেষ হয়ে গেছি। এটা বলার অপেক্ষা রাখে না যে আমি প্রকল্প বা এটি যে শব্দ করে তা নিয়ে সন্তুষ্ট নই, কিন্তু আমি মনে করি আমি আমার পায়ের আঙ্গুলগুলিকে একটি নতুন জগতে ডুবিয়ে দিয়েছি যা আমি অন্বেষণ করতে চাই তাই আমি এই প্রকল্প থেকে একটি নতুন শাখা যুক্ত করব যেমন আমি চালিয়ে যাচ্ছি কাজ করতে.
তবুও, বলা হচ্ছে যে এটি মাইক্রোকন্ট্রোলারের জগতে আমার প্রথম সত্য যাত্রা ছিল তাই আমি শেখার অভিজ্ঞতার জন্য খুব কৃতজ্ঞ। আমি যে বিশ বা এত ঘন্টা কাজ করেছি তাতে আমাকে নিজের এবং কার্যত আমার পরিবারের প্রতিটি সদস্যের জন্য ক্রিসমাসের ধারণা দেওয়া হয়েছিল। আমি অন্য কারো সাথে এই প্রকল্পে কাজ না করার জন্য কিছুটা দু regretখিত কারণ আমি পথে প্রচুর পরামর্শ এবং নির্দেশনা ব্যবহার করতে পারতাম। যাইহোক, আমি ব্যক্তিগতভাবে আমার ট্রায়ালের মাধ্যমে অনেক কিছু শিখেছি যার মধ্যে একটি সফটওয়্যার সমস্যা ডিবাগ করার চেষ্টা করে আমার চুল টেনে বের করার চেষ্টা ছিল যা কখনও ছিল না (নানচাকের একটি অভ্যন্তরীণ তার ভেঙে গিয়েছিল)।
এখনো এগিয়ে যাওয়ার অনেক সম্ভাবনা রয়েছে। উদাহরণস্বরূপ, আমি MIDI কন্ট্রোলার এবং হেডফোনের মধ্যে MIDI নোটের প্যারামিটার পরিবর্তন করার জন্য Arduino কে MIDI ইন্টারফেসের একটি ধরন হিসাবে ব্যবহার করতে পছন্দ করব কারণ এখানে অনেকগুলি (ভলিউম, কাটঅফ, খাম ফ্রিকোয়েন্সি, পিচ বেন্ড, মডুলেশন, ভাইব্রেটো, আপনি এটির নাম দিন)। এটি বোতামগুলির সাথে প্যারামিটারগুলি স্যুইচিং সহ আরও অনেক নমনীয়তার অনুমতি দেবে এবং কেবল একটি কর্ড বাজাবে যা C ++ অ্যারেতে হার্ডকোড করা হয় না।
প্রস্তাবিত:
কিভাবে একটি মহাকাব্য Wii বন্দুক তৈরি করবেন ($ 10 এর নিচে): 4 টি ধাপ
কিভাবে একটি মহাকাব্য Wii বন্দুক তৈরি করবেন ($ 10 এর নিচে): স্বাগতম, আমার নির্দেশযোগ্য চেষ্টা করার জন্য ধন্যবাদ !!! :) আজ আমরা Wii কনসোলে বন্দুক গেমগুলির জন্য একটি Wii বন্দুক তৈরি করব। চল শুরু করা যাক
Como Usar Un WII Pro Controller Con Una Switch -hackeada: 4 ধাপ
Como Usar Un WII Pro Controller Con Una Switch -hackeada .: Como usar un WII Pro Controller con una switch -hackeada। কনটেক্সটো: estoy en cuarentena, no tengo 8bitdo y no puedo hacer el gasto en este momento y queríamos jugar Mario kart con más jugadores.Andecedentes: sabía que había una opción para jugar con
কীটার হিরো (একটি সিনথেসাইজার হিসাবে একটি Wii গিটার কন্ট্রোলার ব্যবহার করে): 7 টি ধাপ (ছবি সহ)
কীটার হিরো (একটি সিনথেসাইজার হিসাবে একটি Wii গিটার কন্ট্রোলার ব্যবহার করে): গিটার হিরো গেমগুলি এক ডজন বছর আগে সমস্ত রাগ ছিল, তাই ধুলো সংগ্রহের চারপাশে প্রচুর পুরানো গিটার কন্ট্রোলার থাকতে বাধ্য। তাদের অনেকগুলি বোতাম, গিঁট এবং লিভার রয়েছে, তাই কেন সেগুলি আবার ভাল ব্যবহার করা হবে না? গিটার নিয়ন্ত্রণ
একটি Wii রিমোট ক্যামেরা (ওয়ার থান্ডার) দিয়ে হেড ট্র্যাকিং: 6 টি ধাপ (ছবি সহ)
একটি Wii রিমোট ক্যামেরা (ওয়ার থান্ডার) দিয়ে হেড ট্র্যাকিং: হ্যালো সবাই! আমি আপনার সাথে আমার প্রথম বাস্তব সমাপ্ত Arduino প্রকল্প শেয়ার করতে চাই। আমি একধরনের ঘরে তৈরি বর্ধিত বাস্তবতা তৈরির চেষ্টা করেছি। আমি আপনাকে এটি ব্যাখ্যা করতে দেই: এটি মূলত একটি সিস্টেম যা একটি ক্যামেরা ব্যবহার করে আপনার মাথার গতিবিধি ট্র্যাক করে যাতে এটিকে মানিয়ে নিতে পারে
ওয়্যারলেস Wii Nunchuck নিয়ন্ত্রিত Arduino: 7 টি ধাপ
Wireless Wii Nunchuck Controlled Arduino: Arduino ভিত্তিক কোন প্রজেক্টের জন্য কন্ট্রোল সিস্টেম হিসেবে সম্পূর্ণরূপে সংশোধিত ওয়্যারলেস Wii & nbsuck ব্যবহার করুন। কোন যোগ রেডিও ট্রান্সমিটার/রিসিভার জোড়া ইত্যাদি এই নির্দেশযোগ্য Arduino মাইক্রোকন্ট্রোলারের সাথে কিছু অভিজ্ঞতা অনুমান করে। রেডি