विषयसूची:
- चरण 1: भागों की सूची
- चरण 2: निर्माण
- चरण 3: सॉफ्टवेयर
- चरण 4: लिंक
- चरण 5: परिशिष्ट 1 ATMega1284P की प्रोग्रामिंग
- चरण 6: परिशिष्ट 2 Arduino Uno PedalSHIELD भिन्नता
वीडियो: ATMega1284P गिटार और संगीत प्रभाव पेडल: 6 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:23
मैंने Arduino Uno ATMega328 Pedalshield (जैसा कि Electrosmash द्वारा विकसित किया गया है और ओपन म्यूजिक लैब में काम के आधार पर) को ATMega1284P में पोर्ट किया है, जिसमें Uno (16kB बनाम 2kB) की तुलना में आठ गुना अधिक RAM है। एक अतिरिक्त अप्रत्याशित लाभ यह है कि मेगा1284 बिल्ड में बहुत कम शोर घटक है - इस हद तक कि जब मैं एक ही समर्थन सर्किटरी का उपयोग करके यूनो और मेगा1284 की तुलना करता हूं तो यूनो को "शोर" और मेगा 1284 को "के रूप में वर्णित करना अनुचित नहीं है। शांत"। बड़ी रैम का मतलब है कि बहुत अधिक विलंब प्रभाव प्राप्त किया जा सकता है - और यह Arduino स्केच उदाहरण द्वारा प्रदर्शित किया गया है जिसे मैंने शामिल किया है। ट्रेमेलो प्रभाव का उपयोग करते समय पृष्ठभूमि श्वास शोर भी (लगभग) 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 पिन 23 32 86 इंटरप्ट 2 3 8 एनालॉग 6 8 16 में
मैंने इलेक्ट्रोस्मैश विनिर्देश के अनुसार ऊनो-आधारित पेडलशील्ड को ब्रेड-बोर्डिंग करके शुरू किया था, लेकिन मेरे पास निर्दिष्ट के अनुसार समान RRO OpAmp नहीं था। परिणामस्वरूप मैं एक सर्किट के साथ समाप्त हुआ जिसे मैंने स्वीकार्य परिणाम देने के लिए माना। इस ऊनो संस्करण का विवरण परिशिष्ट 2 में दिया गया है।
इसी सर्किट को तब ATMega1284 में पोर्ट किया गया था - आश्चर्यजनक रूप से गैर-आवश्यक परिवर्तनों के अलावा, जैसे कि स्विच और एलईडी को एक अलग पोर्ट पर असाइन करना, और देरी बफर के लिए 2, 000 kB RAM के बजाय 12,000 kB आवंटित करना, केवल स्रोत कोड में एक आवश्यक परिवर्तन किया जाना था, अर्थात् टाइमर1/पीडब्लूएम ओसी1ए और ओसी1बी आउटपुट को पोर्ट बी से यूनो पर पोर्ट डी (पीडी5 और पीडी4) ATMega1284 पर बदलना।
मैंने बाद में पॉल गैलाघर द्वारा इलेक्ट्रोस्मैश सर्किट में उत्कृष्ट संशोधनों की खोज की और परीक्षण के बाद, यह वह सर्किट है जिसे मैं यहां प्रस्तुत करूंगा - लेकिन फिर संशोधनों के साथ: मेगा1284 के साथ ऊनो का प्रतिस्थापन, टेक्सास इंस्ट्रूमेंट्स TLC2272 को OpAmp के रूप में उपयोग करना, और मेगा1284 के उत्कृष्ट शोर प्रदर्शन के कारण, मैं कम-पास फ़िल्टर आवृत्ति स्तर भी बढ़ा सकता था।
यह ध्यान रखना महत्वपूर्ण है कि यद्यपि ATMega1284 के लिए विकास बोर्ड उपलब्ध हैं (Github: MCUdude MightyCore), यह बेयर (बूटलोडर-मुक्त) चिप खरीदने के लिए एक आसान अभ्यास है (PDIP संस्करण खरीदें जो ब्रेड-बोर्ड और स्ट्रिप-बोर्ड है) फ्रेंडली), फिर Maniacbug Mighty-1284p Core Optiboot बूटलोडर या MCUdude Mightycore के मार्क पेंड्रिथ फोर्क को ISP प्रोग्रामर के रूप में Uno का उपयोग करके लोड करें, और फिर Uno के माध्यम से AtMega1284 पर फिर से स्केच लोड करें। इस प्रक्रिया के लिए विवरण और लिंक परिशिष्ट 1 में दिए गए हैं।
मैं उन तीन सबसे महत्वपूर्ण स्रोतों को स्वीकार करना चाहता हूं जिनसे आगे की जानकारी प्राप्त की जा सकती है और मैं उनकी वेबसाइटों और इस लेख के अंत के लिंक दूंगा: इलेक्ट्रोस्मैश, ओपन म्यूजिक लैब्स, और टार्डेट / पॉल गैलाघेर
चरण 1: भागों की सूची
ATMega1284P (PDIP 40 पिन पैकेज संस्करण) Arduino Uno R3 (बूट लोडर और स्केच को ATMega1284 में स्थानांतरित करने के लिए ISP के रूप में प्रयुक्त) OpAmp TLC2272 (या समान RRIO (रेल से रेल इनपुट और आउटपुट) OpAmp जैसे MCP6002, LMC6482, TL972) लाल एलईडी 16 मेगाहर्ट्ज क्रिस्टल 2 x 27 pF कैपेसिटर 5 x 6n8 कैपेसिटर 270 pF कैपेसिटर 4 x 100n कैपेसिटर 2 x 10uF 16v इलेक्ट्रोलाइटिक कैपेसिटर 6 x 4k7 रेसिस्टर्स 100k रेसिस्टर 2 x 1M रेसिस्टर्स 470 ओम रेसिस्टर 1M2 रेसिस्टर 100k पोटेंशियोमीटर 3 x पुशबटन स्विच (एक उनमें से एक 3-पोल 2-वे फुटस्विच के साथ प्रतिस्थापित किया जाना चाहिए यदि प्रभाव बॉक्स का उपयोग लाइव कार्य के लिए किया जा रहा है)
चरण 2: निर्माण
योजनाबद्ध 1 उपयोग किए गए सर्किट को देता है और ब्रेडबोर्ड 1 इसका भौतिक प्रतिनिधित्व (फ्रिट्ज़िंग 1) है जिसमें फोटो 1 ऑपरेशन में वास्तविक ब्रेड-बोर्डेड सर्किट है। सूखे (इनपुट के बराबर) और गीले (एमसीयू द्वारा प्रसंस्करण के बाद) सिग्नल के लिए मिक्सर के रूप में एक पोटेंशियोमीटर होना फायदेमंद हो सकता है, और योजनाबद्ध 2, ब्रेडबोर्ड 2 और फोटो 2 (परिशिष्ट 2 में सूचीबद्ध), देता है पहले से निर्मित सर्किट का सर्किट विवरण जो आउटपुट मिक्सर में इस तरह के इनपुट को शामिल करता है। चार OpAmps का उपयोग करके एक और मिक्सर कार्यान्वयन के लिए ओपन म्यूजिक लैब्स स्टॉम्पबॉक्स को भी देखें।
OpAmp इनपुट और आउटपुट चरण: यह महत्वपूर्ण है कि एक RRO या अधिमानतः एक RRIO OpAmp का उपयोग किया जाता है क्योंकि OpAmp आउटपुट में ATMega1284 के ADC के लिए आवश्यक बड़े वोल्टेज स्विंग की आवश्यकता होती है। भागों की सूची में कई वैकल्पिक OpAmp प्रकार हैं। 100k पोटेंशियोमीटर का उपयोग किसी भी विकृति के ठीक नीचे इनपुट लाभ को समायोजित करने के लिए किया जाता है, और इसका उपयोग गिटार के अलावा किसी अन्य इनपुट स्रोत के लिए इनपुट संवेदनशीलता को समायोजित करने के लिए भी किया जा सकता है जैसे कि म्यूजिक प्लेयर। 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) को उनके ऊनो विलंब स्केच से अनुकूलित किया गया है। कुछ स्विच और LED को ISP प्रोग्रामर (SCLK, MISO, MOSI और रीसेट) द्वारा उपयोग किए जाने वाले पोर्ट से दूर अन्य पोर्ट में ले जाया गया था, विलंब बफर को 2000 बाइट्स से बढ़ाकर 12000 बाइट्स कर दिया गया है, और PortD को सेट किया गया है। दो PWM संकेतों के लिए आउटपुट। विलंब बफर में वृद्धि के साथ भी स्केच अभी भी उपलब्ध १२८४ रैम के लगभग ७०% का उपयोग करता है।
पेडलशील्ड यूनो के लिए इलेक्ट्रोस्मैश वेबसाइट से ऑक्टेवर या ट्रेमोलो जैसे अन्य उदाहरण कोड में तीन खंडों को बदलकर मेगा1284 द्वारा उपयोग के लिए अनुकूलित किए जा सकते हैं:
(1) डीडीआरबी बदलें |= ((PWM_QTY << 1) | 0x02); DDRD के लिए |= 0x30;// उपरोक्त परिवर्तन केवल आवश्यक कोड परिवर्तन है // जब AtMega328 से ATMega1284 पर पोर्ट किया जाता है
(2) #define LED 13 #define FOOTSWITCH 12 #define TOGGLE 2 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4 बदलें
प्रति
#define LED PB0 #define FOOTSWITCH PB1 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4
(3) पिनमोड बदलें (FOOTSWITCH, INPUT_PULLUP); पिनमोड (TOGGLE, INPUT_PULLUP); पिनमोड (PUSHBUTTON_1, INPUT_PULLUP); पिनमोड (PUSHBUTTON_2, INPUT_PULLUP); पिनमोड (एलईडी, आउटपुट)
प्रति
पिनमोड (FOOTSWITCH, INPUT_PULLUP); पिनमोड (PUSHBUTTON_1, INPUT_PULLUP); पिनमोड (PUSHBUTTON_2, INPUT_PULLUP); पिनमोड (एलईडी, आउटपुट);
किसी प्रभाव को बढ़ाने या घटाने के लिए कुछ रेखाचित्रों में पुशबटन 1 और 2 का उपयोग किया जाता है। देरी के उदाहरण में यह देरी के समय को बढ़ाता या घटाता है। जब स्केच को पहली बार लोड किया जाता है तो यह अधिकतम विलंब प्रभाव से शुरू होता है। डाउन बटन दबाएं - विलंब-बंद स्थिति में सभी तरह से काउंट डाउन करने में लगभग 20 सेकंड का समय लगता है - और फिर अप बटन को दबाकर रखें। सुनें कि कैसे बटन को होल्ड करने का स्वीप इफेक्ट फेजर, कोरस और फ्लैंगिंग के प्रभाव को बदल देता है, साथ ही बटन के रिलीज होने में देरी भी।
देरी को इको इफेक्ट में बदलने के लिए (पुनरावृत्ति जोड़ें) लाइन बदलें:
DelayBuffer [DelayCounter] = ADC_high;
प्रति
DelayBuffer[DelayCounter] = (ADC_high + (DelayBuffer[DelayCounter]))>>1;
फ़ुटस्विच तीन पोल टू वे स्विच होना चाहिए और इलेक्ट्रोस्मैश वेबसाइट पर बताए अनुसार जुड़ा होना चाहिए।
चरण 4: लिंक
(1) इलेक्ट्रोस्मैश:
(2) ओपन म्यूजिक लैब्स:
(३) पॉल गैलाघर:
(४) १२८४ बूटलोडर:
(५) ATmega१२८४ ८बिट AVR माइक्रोकंट्रोलर:
ElectrosmashOpenlabs MusicPaul Gallagher1284 बूटलोडर 11284 बूटलोडर 2ATmega1284 8bit AVR माइक्रोकंट्रोलर
चरण 5: परिशिष्ट 1 ATMega1284P की प्रोग्रामिंग
कुछ वेबसाइटें हैं जो Arduino IDE के साथ उपयोग के लिए नंगे ATMega1284 चिप को प्रोग्राम करने के तरीके के बारे में एक अच्छी व्याख्या देती हैं। प्रक्रिया अनिवार्य रूप से इस प्रकार है: (1) मैनियाकबग माइटी-1284p कोर ऑप्टिबूट बूटलोडर के मार्क पेंड्रिथ फोर्क को Arduino IDE में स्थापित करें। (२) ATMega१२८४ को ब्रेडबोर्ड पर इसके न्यूनतम विन्यास के साथ तार करें जो कि १६ मेगाहर्ट्ज क्रिस्टल, २ x २२ पीएफ कैपेसिटर है जो क्रिस्टल के दो सिरों को आधार बनाता है, दो ग्राउंड पिन को एक साथ जोड़ता है (पिन ११ और ३१), और फिर Arduino Uno ग्राउंड में, Vcc और AVcc को एक साथ (पिन 10 और 30), और फिर Uno +5v से कनेक्ट करें, फिर रीसेट पिन 9 को Uno D10 पिन, MISO पिन 7 को UNO D12, MOSI से कनेक्ट करें। Uno D11 पर 8 पिन करें, और SCLK पिन 7 को Uno D13 पिन पर पिन करें। (३) Uno को Arduino IDE से कनेक्ट करें और स्केच उदाहरण Arduino को ISP के रूप में Uno पर लोड करें। (४) अब १२८४ "मैनियाक" शक्तिशाली ऑप्टिबूट बोर्ड का चयन करें, और बर्न बूटलोडर विकल्प चुनें। (५) फिर उदाहरण के रूप में यहां दिए गए १२८४ विलंब स्केच का चयन करें और स्केच मेनू में यूनो प्रोग्रामर विकल्प के रूप में उपयोग करके इसे अपलोड करें।
प्रक्रिया को अधिक विस्तार से समझाने वाले लिंक हैं:
बड़े ब्रेडबोर्ड अनुकूल AVRs के लिए Arduino IDEArduino Mightycore के साथ ATmega1284 का उपयोग करना ATMega1284p प्रोटोटाइप का निर्माणArduino ATmega1284p बूटलोडर
चरण 6: परिशिष्ट 2 Arduino Uno PedalSHIELD भिन्नता
Schematic3, Breadboard3, और Photo3 Uno-आधारित सर्किट का विवरण देता है जो AtMega1284 बिल्ड से पहले था।
सूखे (इनपुट के बराबर) और गीले (एमसीयू द्वारा प्रसंस्करण के बाद) सिग्नल के लिए मिक्सर के रूप में एक पोटेंशियोमीटर होना फायदेमंद हो सकता है, और योजनाबद्ध 2, ब्रेडबोर्ड 2 और फोटो 2 पहले से निर्मित सर्किट का सर्किट विवरण देता है। जो आउटपुट मिक्सर में इस तरह के इनपुट को शामिल करता है। चार OpAmps का उपयोग करके एक और मिक्सर कार्यान्वयन के लिए Open Music Labs StompBox को भी देखें
सिफारिश की:
गिटार प्रभाव के लिए DIY बैटरी चालित ओवरड्राइव पेडल: 5 कदम
गिटार इफेक्ट्स के लिए DIY बैटरी चालित ओवरड्राइव पेडल: संगीत के प्यार के लिए या इलेक्ट्रॉनिक्स के प्यार के लिए, इस निर्देश का उद्देश्य यह दिखाना है कि SLG88104V रेल टू रेल I / O 375nA क्वाड OpAmp अपनी कम शक्ति और कम वोल्टेज प्रगति के साथ कितना महत्वपूर्ण है। ओवरड्राइव सर्किट में क्रांति लाने के लिए हो सकता है। टाई
DIY गिटार प्रभाव के लिए प्रोटो पेडल: 5 कदम (चित्रों के साथ)
DIY गिटार प्रभावों के लिए प्रोटो पेडल: इलेक्ट्रॉनिक्स और गिटार के लिए एक जुनून को संयोजित करने के लिए अपने स्वयं के गिटार प्रभावों को डिजाइन और निर्माण करना एक शानदार तरीका है। हालांकि, नए डिजाइनों का परीक्षण करते समय, मैंने पाया कि सोल्डरलेस ब्रेडबोर्ड पर नाजुक सर्किट पैच सी से कनेक्ट करना मुश्किल था
कैसे मैं अपनी लाइन 6 पॉड गिटार प्रभाव प्रोसेसर को रैक-माउंट करता हूं: 10 कदम (चित्रों के साथ)
मैं माई लाइन 6 पॉड गिटार इफेक्ट्स प्रोसेसर को कैसे रैक-माउंट करता हूं: मैंने मूल लाइन 6 पीओडी इकाइयों में से एक खरीदा था जब वे पहली बार 1998 में वापस आए थे। यह तब अभूतपूर्व लग रहा था और आज भी बहुत अच्छा लगता है - एकमात्र समस्या इसका आकार था - सीधे शब्दों में कहें तो यह मूर्खतापूर्ण लगता है। अधिक महत्वपूर्ण, जब तक कि आपके पास
DIY चूहा क्लोन विरूपण गिटार प्रभाव पेडल - मृत चूहा: 5 कदम (चित्रों के साथ)
DIY चूहा क्लोन विरूपण गिटार प्रभाव पेडल - मृत चूहा: यह कोई मिकी माउस विरूपण पेडल नहीं है! यह पेडल 80 के दशक से मेरे पसंदीदा प्रभाव पेडल पर एक का क्लोन है … प्रोको का आरएटी विरूपण। यह क्लासिक LM308N IC चिप का उपयोग करके एक मूल OpAmp विरूपण पेडल है जो कि टी के लिए काफी सरल निर्माण है
वालाबोट एफएक्स - गिटार प्रभाव नियंत्रण: 28 कदम (चित्रों के साथ)
Walabot FX - गिटार इफेक्ट कंट्रोल: कमाल के गिटार पोज़ के अलावा कुछ नहीं का उपयोग करके अपने पसंदीदा गिटार प्रभाव को नियंत्रित करें