সুচিপত্র:

Arduino MIDI ফুট কন্ট্রোলার: 12 টি ধাপ
Arduino MIDI ফুট কন্ট্রোলার: 12 টি ধাপ

ভিডিও: Arduino MIDI ফুট কন্ট্রোলার: 12 টি ধাপ

ভিডিও: Arduino MIDI ফুট কন্ট্রোলার: 12 টি ধাপ
ভিডিও: Setting up a 3d Printer with MKS sGen L v1.0 2024, নভেম্বর
Anonim
Arduino MIDI ফুট কন্ট্রোলার
Arduino MIDI ফুট কন্ট্রোলার

আমি সম্প্রতি এই MIDI কন্ট্রোলারটিকে ফ্রেজ লুপার চালানোর জন্য ডিজাইন করেছি যা বস DD500 বিলম্ব প্যাডেলের মধ্যে নির্মিত। আমি একটি বেহারিংগার FCB MIDI বোর্ড ব্যবহার করে আমার পুরো গিটার রিগ নিয়ন্ত্রণ করি, এবং এটি আমাকে প্রভাব লুপে বিলম্বের প্যাডেলের প্যাচগুলি পরিবর্তন করতে দেয়, যখন একই সময়ে amp চ্যানেলগুলি স্যুইচ করে।

DD500- এর একটি খুব মৌলিক লুপার ফাংশন রয়েছে কিন্তু এর একটি অসুবিধা হল যে যখন লুপারটি সক্রিয় থাকে, তখন এটি প্যাডেলের ফুটসুইচ দ্বারা নিয়ন্ত্রিত হয়। এর অর্থ হল লুপ সক্রিয় থাকাকালীন আপনি প্যাডেলের প্যাচগুলি পরিবর্তন করতে পারবেন না, কারণ এটি মূলত ফুটসুইচগুলির কার্যকারিতা ক্যাপচার করেছে। যেহেতু আমি MIDI ব্যবহার করছি, এই সীমাবদ্ধতা বিদ্যমান নেই, যেহেতু এটি কেবল একটি শারীরিক সমস্যা। এর অর্থ আমার প্রধান MIDI কন্ট্রোলারে লুপারের জন্য 5 টি ফুটসুইচ সংরক্ষণ করা, এবং তাই আমি তাদের জন্য একটি পৃথক নিয়ামক তৈরি করার সিদ্ধান্ত নিয়েছি।

এর জন্য আমার প্রাথমিক পরিকল্পনা ছিল একটি ছোট হ্যামন্ড ঘের নেওয়া এবং 5 টি ফুটসুইচ রাখা এবং নিজেকে কিছু মৌলিক Arduino কোডিং শেখানো। যেহেতু আমি আরও শিখতে শুরু করেছি এবং আমার কোড কাজ করছে, এটি আমাকে আরও জিনিস চেষ্টা করার জন্য অনুপ্রাণিত করে এবং তারপর এটি মূলত বড় কিছুতে তুষারপাত করে।

ধাপ 1: ধারণা

ধারণা
ধারণা
ধারণা
ধারণা

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

উপরের 2 টি ছবি আমি কাগজে প্রতিশ্রুতিবদ্ধ প্রথম অঙ্কনটি দেখায়, যা প্রথম ধারণাটি বন্ধ করে দেয়, তারপরে শারীরিক এবং পিসিবি লেআউটকে আকার দেওয়ার পরে এক মাসের নোট তৈরি করা হয়।

ধাপ 2: ব্রেডবোর্ড প্রোটাইপিং

ব্রেডবোর্ড প্রোটাইপিং
ব্রেডবোর্ড প্রোটাইপিং
ব্রেডবোর্ড প্রোটাইপিং
ব্রেডবোর্ড প্রোটাইপিং

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

প্যাডেলটিতে 5 টি ফুটসুইচ, 4 টি স্ট্যাটাস এলইডি, 5 টি আই 2 সি এলসিডি স্ক্রিন রয়েছে এবং এটি একটি আরডুইনো ন্যানো এভরি দ্বারা নিয়ন্ত্রিত। এটি একটি পৃথক ব্রেকআউট বক্সের মাধ্যমে 9V গিটার প্যাডেল PSU থেকে শক্তি পায় যা MIDI তারের উপর 2 পিন ব্যবহার করে যা সাধারণত MIDI সংযোগকারীতে ব্যবহৃত হয় না।

ধাপ 3: ফ্যাব্রিকেশন

বুনন
বুনন
বুনন
বুনন
বুনন
বুনন

আমি প্রকল্পটির আবাসনের জন্য অনেক সম্ভাব্য ক্ষেত্রে দেখেছি, এবং অ্যালুমিনিয়ামের চাদর থেকে নিজের কেস বাঁকানোর চেষ্টা করার ধারণাটিও বিবেচনা করেছি। অবশেষে আমি একটি হ্যামন্ড ঘেরে বসতি স্থাপন করলাম যা আমার বেছে নেওয়া 5 16X2 LCD স্ক্রিন রাখার জন্য যথেষ্ট প্রশস্ত ছিল।

ফুটসুইচগুলি ছিল সাধারণ ক্ষণস্থায়ী নরম-স্পর্শ সুইচ।

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

ধাপ 4: CAD মক-আপ এবং লেআউট

CAD মক-আপ এবং লেআউট
CAD মক-আপ এবং লেআউট
CAD মক-আপ এবং লেআউট
CAD মক-আপ এবং লেআউট

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

ধাপ 5: পিসিবি ডিজাইন

পিসিবি ডিজাইন
পিসিবি ডিজাইন
পিসিবি ডিজাইন
পিসিবি ডিজাইন
পিসিবি ডিজাইন
পিসিবি ডিজাইন
পিসিবি ডিজাইন
পিসিবি ডিজাইন

PCB তৈরির জন্য, আমি EasyEDA নামে একটি ওয়েবসাইট ব্যবহার করেছি। এটিতে একটি সম্পাদক পরিবেশ রয়েছে যেখানে আপনি আপনার উপাদানগুলির একটি পরিকল্পিত অঙ্কন করতে পারেন, এটি একটি PCB বিন্যাসে পরিণত করতে পারেন, এবং তারপর এটি বোর্ডে তৈরি করতে সরাসরি JLCPCB- এ রপ্তানি করতে পারেন। আমি এর আগে কখনো এমন কিছু করিনি, কিন্তু তাদের সাইটে একটি চমৎকার গাইড আছে যা ব্যাখ্যা করে কিভাবে সম্পাদক কাজ করে, এবং এক ঘন্টার মধ্যে আমি বোর্ডটি ডিজাইন করে অর্ডার করেছিলাম।

বোর্ডের কিছু এলাকা অনভিজ্ঞতার কারণে সেই সময়ে খারাপভাবে ডিজাইন করা হয়েছিল, যেমন স্ক্রিন পাওয়ারের জন্য একক 5V রেল ব্যবহার করা, উদাহরণস্বরূপ, প্রত্যেককে আলাদা ফিড দেওয়ার পরিবর্তে। সৌভাগ্যক্রমে যে কোনও ভোল্টেজ ড্রপ ঘটেছে তা স্ক্রিনগুলির সাথে সমস্যা সৃষ্টি করার জন্য যথেষ্ট ছিল না।

বোর্ডগুলি প্রায় 2 সপ্তাহ পরে এসেছিল এবং ধন্যবাদ যে কোনও সমস্যা ছাড়াই কাজ করেছে।

ধাপ 6: স্ক্রিন মাউন্ট

স্ক্রিন মাউন্ট
স্ক্রিন মাউন্ট
স্ক্রিন মাউন্ট
স্ক্রিন মাউন্ট
স্ক্রিন মাউন্ট
স্ক্রিন মাউন্ট

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

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

ধাপ 7: ঘের

ঘের
ঘের
ঘের
ঘের
ঘের
ঘের

পরবর্তী আপ কেস পরিবর্তন করা হয়েছিল। ফুটসুইচ এবং এলইডি সোজা ছিল কারণ তাদের প্রত্যেকের যথাক্রমে 12 মিমি এবং 5 মিমি গর্তের প্রয়োজন ছিল।

শারীরিক কাজের প্রধান অংশটি স্ক্রিনের ছিদ্র কাটার সময় এসেছিল। আমি একটি ড্রেমেল ব্যবহার করেছি কিছু ভারী দায়িত্ব কাটার ডিস্ক, এবং বিভিন্ন ফাইল পরে গর্ত পরিষ্কার করার জন্য। এই অংশটি প্রায় 2 ঘন্টা সময় নিয়েছিল।

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

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

ধাপ 8: উহ-ওহ

আহ ওহ
আহ ওহ
আহ ওহ
আহ ওহ
আহ ওহ
আহ ওহ

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

ধাপ 9: পেইন্ট

পেইন্ট
পেইন্ট
পেইন্ট
পেইন্ট
পেইন্ট
পেইন্ট

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

এই সময়ের মধ্যে, আমি একটি 3D প্রিন্টার কিনেছিলাম, এবং ফুটসুইচগুলির জন্য কিছু ওয়াশার তৈরির জন্য এটি ব্যবহার করার সিদ্ধান্ত নিয়েছিলাম, কারণ আমি যে নাইলন কিনেছিলাম সেগুলি তাদের কাছে একটি ভয়ঙ্কর হলুদ রঙের ছিল এবং সেগুলি খুব খারাপ আকারের ছিল।

ধাপ 10: তারের

তারের
তারের
তারের
তারের
তারের
তারের
তারের
তারের

দৈহিক সমাবেশের শেষ অংশটি ছিল সবকিছুকে তারে সংযুক্ত করা। আবার, কেস ডিজাইন/পিসিবি ডিজাইনের সমস্যাগুলি আবার উঠে আসে এবং পিসিবিতে কিছু হেডার পজিশন মানে একে অপরের উপর অনেকগুলি তারের অতিক্রম করা, যা আমি আশা করার চেয়ে কিছুটা নোংরা করে তুলি।

স্ক্রিনের জন্য তারগুলি 4 টি সেটে একত্রিত হয়েছিল এবং হিটশ্রিঙ্ক এবং ব্রেইড মোড়ানো ব্যবহার করে একক টুকরো তৈরি করা হয়েছিল।

ধাপ 11: Arduino কোড

Image
Image

আরডুইনো কোডিং -এর মোট শিক্ষানবিশ হিসেবে, আমি নিজে যাওয়ার সাথে সাথে নিজেকে শেখাচ্ছিলাম। কোডটি সম্ভবত একটি 'দীর্ঘ পথ' এর সমতুল্য প্রোগ্রামিং সমতুল্য কিন্তু আমি সন্তুষ্ট যে এটি উদ্দেশ্য অনুযায়ী কাজ করেছে।

DD500 এর লুপারের 5 টি মৌলিক কাজ রয়েছে:

  • লুপার চালু/বন্ধ
  • রেকর্ড/ওভারডাব/প্লে
  • রেকর্ড করা লুপ খেলুন
  • প্লেব্যাক বন্ধ করুন
  • রেকর্ড করা লুপ সাফ করুন

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

আমার যোগ করা আরেকটি বৈশিষ্ট্য ছিল রেকর্ড/ওভারডাব ফিচারটি কতবার সক্রিয় হয়েছিল তার উপর নজর রাখা। এটি একটি পূর্ণসংখ্যা বাড়িয়ে কোডে ট্র্যাক রাখা হয়, যা 'বাফার' স্ক্রিনে প্রদর্শিত হয়, কতগুলি ট্র্যাক রেকর্ড করা হয় তা তালিকাভুক্ত করে। যদিও DD500 পৃথক ট্র্যাকগুলি মুছে ফেলতে পারে না, আমি এটি কেবল একটি কোডিং ব্যায়াম হিসাবে যোগ করেছি যাতে আমি এটি কাজ করতে পারি কিনা।

Instructables এ ফাইল আপলোড করার সমস্যা আছে বলে মনে হচ্ছে, এবং তাই আমি কোডের একটি অনুলিপি Pastebin এ রেখেছি:

কোডে 2 টি লাইব্রেরি ব্যবহার করা হয়েছিল:

LiquidCrystal_I2C

FortySevenEffects MIDI লাইব্রেরি

ধাপ 12: উপসংহার

উপসংহার
উপসংহার

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

প্রস্তাবিত: