সুচিপত্র:

একটি সরাসরি ডিজিটাল সংশ্লেষণ (DDS) চিপ সহ MIDI- নিয়ন্ত্রিত স্টেপার মোটর: 3 টি ধাপ
একটি সরাসরি ডিজিটাল সংশ্লেষণ (DDS) চিপ সহ MIDI- নিয়ন্ত্রিত স্টেপার মোটর: 3 টি ধাপ

ভিডিও: একটি সরাসরি ডিজিটাল সংশ্লেষণ (DDS) চিপ সহ MIDI- নিয়ন্ত্রিত স্টেপার মোটর: 3 টি ধাপ

ভিডিও: একটি সরাসরি ডিজিটাল সংশ্লেষণ (DDS) চিপ সহ MIDI- নিয়ন্ত্রিত স্টেপার মোটর: 3 টি ধাপ
ভিডিও: 24টি ডাবল মাস্টার 2022 খসড়া বুস্টার খোলা হচ্ছে 2024, নভেম্বর
Anonim
একটি সরাসরি ডিজিটাল সংশ্লেষণ (DDS) চিপ সহ MIDI- নিয়ন্ত্রিত স্টেপার মোটর
একটি সরাসরি ডিজিটাল সংশ্লেষণ (DDS) চিপ সহ MIDI- নিয়ন্ত্রিত স্টেপার মোটর
একটি সরাসরি ডিজিটাল সংশ্লেষণ (DDS) চিপ সহ MIDI- নিয়ন্ত্রিত স্টেপার মোটর
একটি সরাসরি ডিজিটাল সংশ্লেষণ (DDS) চিপ সহ MIDI- নিয়ন্ত্রিত স্টেপার মোটর
একটি সরাসরি ডিজিটাল সংশ্লেষণ (DDS) চিপ সহ MIDI- নিয়ন্ত্রিত স্টেপার মোটর
একটি সরাসরি ডিজিটাল সংশ্লেষণ (DDS) চিপ সহ MIDI- নিয়ন্ত্রিত স্টেপার মোটর
একটি সরাসরি ডিজিটাল সংশ্লেষণ (DDS) চিপ সহ MIDI- নিয়ন্ত্রিত স্টেপার মোটর
একটি সরাসরি ডিজিটাল সংশ্লেষণ (DDS) চিপ সহ MIDI- নিয়ন্ত্রিত স্টেপার মোটর

আপনার কি কখনও একটি খারাপ ধারণা ছিল যে আপনাকে কেবল একটি মিনি প্রকল্পে পরিণত করতে হয়েছিল? আচ্ছা, আমি একটি AD9833 ডাইরেক্ট ডিজিটাল সিনথেসিস (DDS) মডিউল দিয়ে সঙ্গীত তৈরির লক্ষ্যে Arduino কারণে আমার তৈরি করা একটি স্কেচ নিয়ে খেলছিলাম… এই . এবং এই ধারণাটিই ঠিক এই ছোট্ট রুটিবোর্ড ভিত্তিক প্রকল্পটিকে উদ্দীপিত করেছে।

এই প্রকল্পে অন্তর্ভুক্ত করা হবে একটি MIDI- ওভার-ইউএসবি ব্যবহার করে একটি Arduino ডিউ নিয়ন্ত্রণ এবং AD9833 মডিউল এবং স্টেপার ড্রাইভারের মধ্যে বর্গ তরঙ্গ পাঠানোর জন্য। এটি একটি Arduino ডিউ এর সাথে সংযুক্ত করার জন্য একটি ডায়াগ্রাম এবং মৌলিক নির্দেশনাও থাকবে।

সরবরাহ:

এই প্রকল্পের জন্য আপনার যা লাগবে:

আরডুইনো ডিউ

দ্রষ্টব্য: কোডটি ডিউ এর জন্য লেখা হয়েছে, তবে এটি কাজ করা উচিত এবং/অথবা শূন্যের জন্য অভিযোজিত হওয়া উচিত। এটি Arduino এর MIDIUSB লাইব্রেরি ব্যবহার করে, যার জন্য একটি স্থানীয় USB পোর্ট প্রয়োজন।

Solderless Breadboard + Jumpers

AD9833 ব্রেকআউট মডিউল

A4988 স্টেপার ড্রাইভার (বা অনুরূপ)

NEMA 17 Stepper মোটর (বা অনুরূপ)

- 24V বিদ্যুত সরবরাহ

ধাপ 1: ব্রেডবোর্ডিং

ব্রেডবোর্ডিং
ব্রেডবোর্ডিং

এর পিছনে মূল ধারণা হল যে সরাসরি ডিজিটাল সংশ্লেষণ আইসি স্টেপার মোটর চালকের "স্টেপ" পিন চালানোর জন্য একটি বর্গাকার তরঙ্গ তৈরি করবে। এই স্টেপার ড্রাইভারটি তখন নির্দিষ্ট শ্রবণযোগ্য ফ্রিকোয়েন্সি তে মোটরটি সরিয়ে নেবে। মোটরের দিকটি কিছুটা নির্বিচারে হয় যতক্ষণ এটি সঠিক ফ্রিকোয়েন্সিতে চলে।

আমি যে পদ্ধতিটি রুটিবোর্ডিংয়ের সাথে নিতে পছন্দ করি তা হল প্রথমে পাওয়ার পিন এবং গ্রাউন্ডগুলি চালানো এবং তারপরে অন্য সমস্ত, বিদ্যুৎবিহীন সংযোগগুলি চালানো শুরু করা।

স্থল:

- AD9833 মডিউলের AGND এবং DGND পিনগুলিকে ব্রেডবোর্ডে GND রেলের সাথে সংযুক্ত করুন।

- স্টেপার ড্রাইভারের দুটি জিএনডি পিনকে জিএনডি রেলের সাথে সংযুক্ত করুন

- এটিকে Arduino Due's GND Pins এর একটিতে নিয়ে আসুন

3.3V শক্তি:

- স্টেপার ড্রাইভারের VDD পিনটি রুটিবোর্ডের V+ Rail এর সাথে সংযুক্ত করুন

- AD9833 মডিউলের VCC পিনটি রুটিবোর্ডের V+ Rail এর সাথে সংযুক্ত করুন

- এটিকে Arduino Due এর 3.3V পিনে নিয়ে আসুন

24V শক্তি:

- ভিএমওটি পিনকে 24V ডিসি পাওয়ার সাপ্লাইতে সংযুক্ত করুন (আপনার মোটরের পছন্দের উপর নির্ভর করে, আপনি উচ্চতর বা নিম্ন সরবরাহের রেল চালাতে চাইতে পারেন)

মডিউল থেকে মডিউল সংযোগ:

- AD9833 মডিউল থেকে মোটর ড্রাইভারের STEP পিনের সাথে OUT পিন সংযুক্ত করুন

স্টেপার ড্রাইভার সংযোগ:

- 2B/2A/1A/1B পিনের সাথে স্টেপার মোটর সংযোগ সংযুক্ত করুন। পোলারিটি ততটা গুরুত্বপূর্ণ নয়, যতক্ষণ চালকের পর্যায়গুলি স্টেপার মোটরের সাথে মিলে যায়।

- রিসেট এবং স্লিপ পিনগুলিকে একসাথে সংযুক্ত করুন এবং সেগুলিকে আরডুইনো ডিউ পিন 8 এ নিয়ে আসুন।

- 3.3V রেলের সাথে ডিআইআর পিন সংযুক্ত করুন

AD9833 মডিউল সংযোগ:

- আরডুইনো ডিউ এর এসকেকে পিনের সাথে এসসিএলকে সংযুক্ত করুন। মনে রাখবেন যে এই পিনটি মাইক্রোকন্ট্রোলারের কাছে 6-পিন পুরুষ ICSP হেডারে আছে, সাধারণ বাইরের মহিলা হেডারে নয়।

- SDATA পিনকে ডিউ এর MOSI পিনের সাথে সংযুক্ত করুন। মনে রাখবেন যে এই পিনটি মাইক্রোকন্ট্রোলারের কাছে 6-পিন পুরুষ ICSP হেডারে আছে, সাধারণ বাইরের মহিলা হেডারে নয়।

- FSYNC কে Arduino ডিউ পিন 6 এর সাথে সংযুক্ত করুন (এটি এই প্রকল্পের জন্য চিপ সিলেক্ট পিন)

এখন যে রুটিবোর্ডটি সম্পূর্ণরূপে একত্রিত হয়েছে, কোডটি একবার দেখে নেওয়ার সময় এসেছে!

ধাপ 2: প্রোগ্রামিং এবং MIDI সেটআপ

প্রোগ্রামিং এবং MIDI সেটআপ
প্রোগ্রামিং এবং MIDI সেটআপ

সংযুক্ত। এই চিপের একটি DAC আছে যা 25MHz w/ 28 বিট ফ্রিকোয়েন্সি রেজোলিউশনে চলে (এখানে যা প্রয়োজন তার জন্য মোট ওভারকিল), এবং এখানে কোডের বেশিরভাগই এটি একটি বর্গাকার তরঙ্গ চালানোর এবং আউটপুট করার জন্য কনফিগার করছে।

দ্রষ্টব্য: দুটি ইউএসবি পোর্ট রয়েছে। একটি বোর্ড প্রোগ্রামিংয়ের জন্য ব্যবহৃত হয়, এবং অন্যটি MIDI- ওভার-ইউএসবি কমের জন্য ব্যবহৃত হতে চলেছে।

মনে রাখবেন যে এই স্কেচটি Arduino Uno- এর মতো কাজ করবে না - এই প্রকল্পটি Arduino ডিউ বা অনুরূপ ডিভাইসে নেটিভ USB এর প্রয়োজনের জন্য নির্দিষ্ট।

কাস্টমাইজেশন বিকল্প:

- 2 টি মোড রয়েছে, যা একটি প্রিপ্রোসেসর ম্যাক্রো সংজ্ঞা দ্বারা সেট করা যেতে পারে। যদি "#define STOPNOTES" অক্ষত থাকে, স্টেপার নোটের মাঝে থেমে যাবে। এটি সর্বদা কাম্য নয় (উদাহরণস্বরূপ, দ্রুত আর্পেগিওস বাজানো), তাই এই আচরণ পরিবর্তন করতে, কেবল মুছে ফেলুন বা মন্তব্য করুন যে #ডিফাইন স্টেটমেন্ট এবং স্টেপার একবার খেলে চলবে।

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

প্লে-নোট ফাংশনে এই লাইন দিয়ে MIDI-to-frequency অনুবাদ সম্পন্ন করা হয়: int f_out = (int) (27.5*pow (2, ((float) midiNote-33)/12)));

- আমি ইউএসবি মিডির উপর ইন্টারফেস করার জন্য আমার পিসি ব্যবহার করতে থাকি - আপনি আপনার প্রিয় ডিজিটাল অডিও ওয়ার্কস্টেশন (DAW) সফটওয়্যার থেকে এটি করতে পারেন। আপনার যদি এটি না থাকে, তবে এলএমএমএস ব্যবহার করে এই সিস্টেমটি সেট করা বেশ সহজ - একটি মুক্ত, মুক্ত উৎস প্ল্যাটফর্ম। একবার এটি ইনস্টল এবং চলার পরে, কেবল আরডুইনো ডিউকে MIDI আউটপুট ডিভাইস হিসাবে সেট করুন এবং যদি আপনি একটি USB MIDI কীবোর্ড ব্যবহার করেন, তাহলে এটি একটি ইনপুট হিসাবে সেট করুন।

ধাপ 3: পরীক্ষা এবং পরীক্ষা

আপনার স্টেপার মোটর চালানোর সময়!

যেমনটি বলা হয়েছে, এর পিছনে পুরো ধারণাটি ছিল অফ-দ্য-কফ পরীক্ষা, তাই সব উপায়ে, আপনার নিজের কিছু পরীক্ষা-নিরীক্ষা করুন!

প্রস্তাবিত: