সুচিপত্র:

ATMega1284P গিটার এবং মিউজিক এফেক্টস প্যাডেল: 6 টি ধাপ (ছবি সহ)
ATMega1284P গিটার এবং মিউজিক এফেক্টস প্যাডেল: 6 টি ধাপ (ছবি সহ)

ভিডিও: ATMega1284P গিটার এবং মিউজিক এফেক্টস প্যাডেল: 6 টি ধাপ (ছবি সহ)

ভিডিও: ATMega1284P গিটার এবং মিউজিক এফেক্টস প্যাডেল: 6 টি ধাপ (ছবি সহ)
ভিডিও: Victor Mendoza- Redrum 2024, জুলাই
Anonim
ATMega1284P গিটার এবং সঙ্গীত প্রভাব পেডাল
ATMega1284P গিটার এবং সঙ্গীত প্রভাব পেডাল

আমি Arduino Uno ATMega328 Pedalshield (যেমন ইলেক্ট্রোসম্যাশ দ্বারা বিকশিত এবং কিছু অংশে ওপেন মিউজিক ল্যাবের কাজের উপর ভিত্তি করে) ATMega1284P- এ ইউনোর (16kB বনাম 2kB) তুলনায় আটগুণ বেশি র RAM্যাম আছে। একটি অতিরিক্ত অপ্রত্যাশিত সুবিধা হল যে Mega1284 বিল্ডে অনেক কম শব্দ উপাদান আছে - যখন আমি একই সাপোর্ট সার্কিটরি ব্যবহার করে Uno এবং Mega1284 কে তুলনা করি তখন Uno কে "গোলমাল" এবং Mega1284 হিসাবে বর্ণনা করা অযৌক্তিক নয় শান্ত "। বৃহত্তর RAM এর মানে হল যে অনেক বেশি বিলম্বের প্রভাব পাওয়া যেতে পারে - এবং এটি Arduino স্কেচ উদাহরণ দ্বারা প্রদর্শিত হয় যা আমি অন্তর্ভুক্ত করেছি। Tremelo প্রভাব ব্যবহার করার সময় ব্যাকগ্রাউন্ড শ্বাসের শব্দটিও (প্রায়) ATMega1284 এর সাথে অনুপস্থিত।

তিনটি Atmel AVR মাইক্রোপ্রসেসরের তুলনা 328P অর্থাৎ Uno, 2560P যা Mega2560, এবং Mega1284 পরেরটি দেখায় যে তিনটিটির মধ্যে সবচেয়ে বেশি RAM আছে:

দিক 328P 1284P 2560P RAM 2k 16k 8k ফ্ল্যাশ 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 IO Pins 23 32 86 Interrupts 2 3 8 Analog in 6 8 16

আমি ইলেক্ট্রোসমাশ স্পেসিফিকেশনের মতো ইউনো-ভিত্তিক পেডালশিল্ডের রুটি-বোর্ডিংয়ের মাধ্যমে শুরু করেছিলাম কিন্তু আমার নির্দিষ্ট RRO OpAmp ছিল না। ফলস্বরূপ আমি একটি সার্কিট দিয়ে শেষ করেছি যা আমি গ্রহণযোগ্য ফলাফল দিতে বিবেচনা করেছি। এই ইউনো সংস্করণের বিবরণ পরিশিষ্ট 2 এ দেওয়া আছে।

এই একই সার্কিটটি তখন ATMega1284 এ পোর্ট করা হয়েছিল - বিস্ময়করভাবে অ -অপরিহার্য পরিবর্তনগুলি যেমন সুইচ এবং এলইডি একটি ভিন্ন পোর্টে বরাদ্দ করা ছাড়াও, এবং বিলম্ব বাফারের জন্য 2, 000 কেবি র RAM্যামের পরিবর্তে 12, 000 কেবি বরাদ্দ করা, কেবল সোর্স কোডে একটি অপরিহার্য পরিবর্তন আনতে হয়েছিল, যথা টাইমার 1/পিডব্লিউএম ওসি 1 এ এবং ওসি 1 বি আউটপুটগুলি পোর্ট বি থেকে ইউনোতে পোর্ট ডি (পিডি 5 এবং পিডি 4) থেকে এটিএমইগা 1284 এ পরিবর্তন করা।

আমি পরবর্তীতে পল গ্যালাঘের দ্বারা ইলেক্ট্রোসমাশ সার্কিটের চমৎকার পরিবর্তনগুলি আবিষ্কার করেছি এবং পরীক্ষার পরে, এই সার্কিটটি আমি এখানে উপস্থাপন করব - কিন্তু তারপরেও পরিবর্তনের সাথে: মেগা 1284 এর সাথে ইউনোর প্রতিস্থাপন, টেক্সাস ইন্সট্রুমেন্টস TLC2272 ব্যবহার করে OpAmp, এবং Mega1284 এর চমৎকার শব্দ কর্মক্ষমতার কারণে, আমি কম পাস ফিল্টার ফ্রিকোয়েন্সি স্তরও বাড়াতে পারি।

এটি লক্ষ্য করা গুরুত্বপূর্ণ যে যদিও ATMega1284 এর জন্য উন্নয়ন বোর্ড পাওয়া যায় (Github: MCUdude MightyCore), এটি বেয়ার (বুটলোডার-মুক্ত) চিপ (PDIP সংস্করণ যা রুটি-বোর্ড এবং স্ট্রিপ-বোর্ড কিনে কেনা) একটি সহজ ব্যায়াম। বন্ধুত্বপূর্ণ), তারপর আইএসপি প্রোগ্রামার হিসাবে ইউনো ব্যবহার করে ম্যানিয়াকবাগ মাইটি -1284 পি কোর অপটিবুট বুটলোডার বা এমসিউডুড মাইটিকোরের মার্ক পেন্ড্রিথ কাঁটাটি লোড করুন, এবং তারপর ইউনোর মাধ্যমে আবার অ্যাটমেগা 1284 এ স্কেচ লোড করুন। এই প্রক্রিয়ার বিবরণ এবং লিঙ্ক পরিশিষ্ট 1 এ দেওয়া আছে।

আমি তিনটি সবচেয়ে গুরুত্বপূর্ণ উৎসকে স্বীকার করতে চাই যেখান থেকে আরও তথ্য পাওয়া যাবে এবং তাদের ওয়েবসাইটের লিঙ্ক দেবে এবং এই প্রবন্ধের শেষে: ইলেক্ট্রোসম্যাশ, ওপেন মিউজিক ল্যাবস, এবং টারডেট/পল গ্যালাঘার

ধাপ 1: অংশ তালিকা

ATMega1284P (PDIP 40 পিন প্যাকেজ ভার্সন) Arduino Uno R3 (ATMega1284 এ বুট লোডার এবং স্কেচ স্থানান্তর করার জন্য একটি ISP হিসেবে ব্যবহৃত হয়) লাল LED 16 মেগাহার্টজ স্ফটিক 2 x 27 pF ক্যাপাসিটার 5 x 6n8 ক্যাপাসিটার 270 pF ক্যাপাসিটর 4 x 100n ক্যাপাসিটার 2 x 10uF 16v ইলেক্ট্রোলাইটিক ক্যাপাসিটার 6 x 4k7 রোধ 100k রোধ 2 x 1 এম প্রতিরোধক 470 ওহম প্রতিরোধক 1 এম 2 প্রতিরোধক 100 কে পোটেন্টিওমিটার 3 এক্স পুশবাটন সুইচ (এক তাদের মধ্যে একটি 3-মেরু 2-উপায় ফুটসুইচ দিয়ে প্রতিস্থাপিত করা উচিত যদি প্রভাব বাক্সটি লাইভ কাজের জন্য ব্যবহার করা হয়)

ধাপ 2: নির্মাণ

নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ

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

OpAmp ইনপুট এবং আউটপুট পর্যায়: এটি গুরুত্বপূর্ণ যে একটি RRO বা বিশেষ করে একটি RRIO OpAmp ব্যবহার করা হয় কারণ OpAmp আউটপুটে ATMega1284 এর ADC- এ বড় ভোল্টেজ সুইং প্রয়োজন। অংশ তালিকায় বিকল্প OpAmp ধরনের একটি সংখ্যা রয়েছে। 100k potentiometer ব্যবহার করা হয় ইনপুট লাভকে কোনো মাত্রার বিকৃতির ঠিক নীচে সামঞ্জস্য করতে, এবং এটি একটি মিউজিক প্লেয়ারের মতো গিটার ছাড়া অন্য একটি ইনপুট উৎসের জন্য ইনপুট সংবেদনশীলতা সামঞ্জস্য করতেও ব্যবহার করা যেতে পারে। OpAmp আউটপুট পর্যায়ে অডিও স্ট্রিম থেকে ডিজিটালি উৎপন্ন MCU গোলমাল অপসারণের জন্য একটি উচ্চতর অর্ডার RC ফিল্টার রয়েছে।

এডিসি পর্যায়: এডিসি কনফিগার করা হয়েছে পুরোটা সময় একটি বিরতির মাধ্যমে পড়ার জন্য। লক্ষ্য করুন যে একটি 100nF ক্যাপাসিটর ATMega1284 এর AREF পিনের সাথে সংযুক্ত করা উচিত এবং আওয়াজ কমাতে একটি অভ্যন্তরীণ Vcc উৎস একটি রেফারেন্স ভোল্টেজ হিসাবে ব্যবহৃত হয় - AREF পিনকে সরাসরি +5 ভোল্টের সাথে সংযুক্ত করবেন না!

DAC PWM পর্যায়: ATMega1284 এর নিজস্ব DAC না থাকায়, একটি RC ফিল্টারের পালস প্রস্থ মডুলেশন ব্যবহার করে আউটপুট অডিও তরঙ্গাকৃতি তৈরি হয়। PD4 এবং PD5 এ দুটি PWM আউটপুট অডিও আউটপুটের উচ্চ এবং নিম্ন বাইট হিসাবে সেট করা হয় এবং 1: 256 অনুপাতে (কম বাইট এবং উচ্চ বাইট) দুটি প্রতিরোধক (4k7 এবং 1M2) এর সাথে মিশ্রিত হয় - যা অডিও আউটপুট তৈরি করে । এটি অন্যান্য স্ট্রিপবক্সগুলিতে ওপেন মিউজিক ল্যাবস দ্বারা ব্যবহৃত 3k9 1M ওহম পেয়ারের মতো অন্যান্য রোধকারী জোড়াগুলির সাথে পরীক্ষা করা সার্থক হতে পারে।

ধাপ 3: সফটওয়্যার

সফটওয়্যারটি ইলেক্ট্রোসম্যাশ স্কেচের উপর ভিত্তি করে তৈরি করা হয়েছে, এবং অন্তর্ভুক্ত উদাহরণ (pedalshield1284delay.ino), তাদের Uno বিলম্ব স্কেচ থেকে অভিযোজিত হয়েছে। কিছু সুইচ এবং LED ISP প্রোগ্রামার (SCLK, MISO, MOSI এবং রিসেট) দ্বারা ব্যবহৃত পোর্ট থেকে দূরে অন্য বন্দরে সরানো হয়েছে, বিলম্ব বাফার 2000 বাইট থেকে বাড়িয়ে 12000 বাইট করা হয়েছে, এবং PortD সেট করা হয়েছে দুটি PWM সংকেতের জন্য আউটপুট। বিলম্ব বাফার বৃদ্ধির সাথেও স্কেচটি এখনও উপলব্ধ 1284 RAM এর প্রায় 70% ব্যবহার করে।

পেডেলের জন্য ইলেক্ট্রোসমাশ ওয়েবসাইট থেকে অক্টাভার বা ট্রেমোলোর মতো অন্যান্য উদাহরণ, শিল্ড ইউনো কোডের তিনটি বিভাগ পরিবর্তন করে মেগা ১২8 দ্বারা ব্যবহারের জন্য অভিযোজিত হতে পারে:

(1) DDRB পরিবর্তন করুন | = ((PWM_QTY << 1) | 0x02); DDRD- এর জন্য

(2) পরিবর্তন করুন #LED সংজ্ঞায়িত করুন 13

প্রতি

#LED PB0 নির্ধারণ করুন #ফুটসুইচ PB1 ডিফাইন করুন #PUSHBUTTON_1 A5 #ডিফাইন PUSHBUTTON_2 A4

(3) পিনমোড পরিবর্তন করুন (FOOTSWITCH, INPUT_PULLUP); pinMode (টগল, INPUT_PULLUP); পিনমোড (PUSHBUTTON_1, INPUT_PULLUP); পিনমোড (PUSHBUTTON_2, INPUT_PULLUP); পিনমোড (LED, আউটপুট)

প্রতি

pinMode (FOOTSWITCH, INPUT_PULLUP); পিনমোড (PUSHBUTTON_1, INPUT_PULLUP); পিনমোড (PUSHBUTTON_2, INPUT_PULLUP); পিনমোড (LED, আউটপুট);

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

বিলম্বকে ইকো এফেক্টে (পুনরাবৃত্তি যোগ করুন) লাইন পরিবর্তন করুন:

DelayBuffer [DelayCounter] = ADC_high;

প্রতি

DelayBuffer [DelayCounter] = (ADC_high + (DelayBuffer [DelayCounter])) >> 1;

ফুটসুইচ একটি তিন মেরু দ্বি -পথ সুইচ হওয়া উচিত এবং ইলেক্ট্রোসমাশ ওয়েবসাইটে বর্ণিত হিসাবে সংযুক্ত হওয়া আবশ্যক।

ধাপ 4: লিঙ্ক

লিঙ্ক
লিঙ্ক

(1) ইলেক্ট্রোসমাশ:

(2) সঙ্গীত ল্যাব খুলুন:

(3) পল গ্যালাঘার:

(4) 1284 বুটলোডার:

(5) ATmega1284 8bit AVR মাইক্রোকন্ট্রোলার:

ইলেক্ট্রোসম্যাশ ওপেনল্যাবস মিউজিক পল গলাঘর 1288 বুটলোডার 11284 বুটলোডার 2ATmega1284 8bit AVR মাইক্রোকন্ট্রোলার

ধাপ 5: পরিশিষ্ট 1 ATMega1284P প্রোগ্রামিং

পরিশিষ্ট 1 ATMega1284P প্রোগ্রামিং
পরিশিষ্ট 1 ATMega1284P প্রোগ্রামিং
পরিশিষ্ট 1 ATMega1284P প্রোগ্রামিং
পরিশিষ্ট 1 ATMega1284P প্রোগ্রামিং
পরিশিষ্ট 1 ATMega1284P প্রোগ্রামিং
পরিশিষ্ট 1 ATMega1284P প্রোগ্রামিং

Arduino IDE- এর সাথে ব্যবহারের জন্য খালি ATMega1284 চিপ কিভাবে প্রোগ্রাম করা যায় তার একটি ভাল ব্যাখ্যা দেয় এমন কয়েকটি ওয়েবসাইট রয়েছে। প্রক্রিয়াটি নিম্নরূপ: (2) ATMega1284 একটি ব্রেডবোর্ডে তার ন্যূনতম কনফিগারেশন সহ একটি 16 মেগাহার্টজ স্ফটিক, 2 x 22 pF ক্যাপাসিটার যা স্ফটিকের দুই প্রান্তকে ভিত্তি করে, দুটি গ্রাউন্ড পিন একসাথে সংযুক্ত করুন (পিন 11 এবং 31), এবং তারপর আরডুইনো ইউনো গ্রাউন্ডে, Vcc এবং AVcc একসাথে সংযুক্ত করুন (10 এবং 30 পিন), এবং তারপর Uno +5v, তারপর রিসেট পিন 9 কে Uno D10 পিন, MISO পিন 7 কে UNO D12, The MOSI এর সাথে সংযুক্ত করুন। Uno D11 এ 8 পিন, এবং SCLK পিন 7 থেকে Uno D13 পিন। (3) ইউনোকে আরডুইনো আইডিই -তে সংযুক্ত করুন এবং ইউএনও -তে আইএসপি হিসেবে স্কেচ উদাহরণ আরডুইনো লোড করুন। (4) এখন 1284 "পাগল" শক্তিশালী অপটিবুট বোর্ড নির্বাচন করুন, এবং বার্ন বুটলোডার বিকল্পটি নির্বাচন করুন। (5) তারপর একটি উদাহরণ হিসাবে এখানে দেওয়া 1284 বিলম্ব স্কেচ নির্বাচন করুন এবং স্কেচ মেনুতে ইউনো হিসাবে প্রোগ্রামার বিকল্প ব্যবহার করে এটি আপলোড করুন।

লিঙ্কগুলি যা প্রক্রিয়াটিকে আরও বিশদে ব্যাখ্যা করে:

Arduino IDE এর সাথে ATmega1284 ব্যবহার করা

ধাপ 6: পরিশিষ্ট 2 Arduino Uno PedalSHIELD বৈচিত্র

পরিশিষ্ট 2 Arduino Uno PedalSHIELD বৈচিত্র
পরিশিষ্ট 2 Arduino Uno PedalSHIELD বৈচিত্র
পরিশিষ্ট 2 Arduino Uno PedalSHIELD বৈচিত্র
পরিশিষ্ট 2 Arduino Uno PedalSHIELD বৈচিত্র
পরিশিষ্ট 2 Arduino Uno PedalSHIELD বৈচিত্র
পরিশিষ্ট 2 Arduino Uno PedalSHIELD বৈচিত্র

স্কিম্যাটিক 3, ব্রেডবোর্ড 3, এবং ফটো 3 ইউনো-ভিত্তিক সার্কিটের বিবরণ দেয় যা AtMega1284 বিল্ডের আগে ছিল।

শুষ্ক (ইনপুটের সমান) এবং ভিজা (MCU দ্বারা প্রক্রিয়াকরণের পরে) সংকেত এবং স্কিম্যাটিক 2, ব্রেডবোর্ড 2 এবং ফটো 2 এর জন্য একটি মিশ্রণকারী হিসাবে একটি পোটেন্টিওমিটার থাকা সুবিধাজনক হতে পারে যা পূর্বে নির্মিত সার্কিটের সার্কিটের বিবরণ দেয় যা আউটপুট মিক্সারে এমন একটি ইনপুট অন্তর্ভুক্ত করে। এছাড়াও চারটি OpAmps ব্যবহার করে আরেকটি মিক্সার বাস্তবায়নের জন্য Open Music Labs StompBox দেখুন

প্রস্তাবিত: