विषयसूची:

आइए Arduino नैनो के साथ एक SN76489 USB MIDI Synth बनाएँ: 7 चरण
आइए Arduino नैनो के साथ एक SN76489 USB MIDI Synth बनाएँ: 7 चरण

वीडियो: आइए Arduino नैनो के साथ एक SN76489 USB MIDI Synth बनाएँ: 7 चरण

वीडियो: आइए Arduino नैनो के साथ एक SN76489 USB MIDI Synth बनाएँ: 7 चरण
वीडियो: Mega Drive 30th Anniversary Project - MegaDrive++ Arduino MOD 2024, नवंबर
Anonim
Image
Image
आइए Arduino नैनो के साथ एक SN76489 USB MIDI सिंथ बनाएं
आइए Arduino नैनो के साथ एक SN76489 USB MIDI सिंथ बनाएं
आइए Arduino नैनो के साथ एक SN76489 USB MIDI सिंथ बनाएं
आइए Arduino नैनो के साथ एक SN76489 USB MIDI सिंथ बनाएं

कभी 80 के दशक के पुराने चिप-ट्यून्स पर आधारित अपना सिंथेसाइज़र बनाना चाहते हैं? साधारण पॉलीफोनिक धुनें बजाएं जो इन पुराने सेगा मास्टर सिस्टम और मेगाड्राइव वीडियो गेम की तरह लगती हैं?

मेरे पास है, इसलिए, मैंने eBay और एक मिडी होस्ट इंटरफ़ेस से कुछ SN76489 चिप्स मंगवाए और इसे एक शॉट दिया। खैर, यह मेरे लिए पार्क में टहलना नहीं था, लेकिन, मैंने हर पल का आनंद लिया।

पहले मैंने सीखा कि कैसे SN76489 को सीधे इंटरफ़ेस करना है और इसके साथ कुछ शोर करना है। इसमें कुछ भ्रमित करने वाले तत्व थे, लेकिन, द ओडब्लोक गीक ब्लॉग और कुछ अन्य उदाहरणों की मदद से, चिप विनिर्देश दस्तावेज़ के साथ मैं एक साधारण आर्डिनो लाइब्रेरी विकसित करने में सक्षम था।

इसके बाद, मुझे सीखना था कि यूएसबी मिनी होस्ट शील्ड के साथ मिडी कीबोर्ड को कैसे इंटरफ़ेस किया जाए। यह इतना कठिन नहीं था, क्योंकि कुछ दस्तावेज उपलब्ध हैं, और स्पष्ट उदाहरणों के साथ अच्छे पुस्तकालय मौजूद हैं।

एक बार जब मुझे समझ में आ गया कि चिप को कैसे नियंत्रित किया जाए और मेरे यूएसबी मिडी कीबोर्ड को कैसे इंटरफ़ेस किया जाए, तो केवल कुछ कोड लिखना बाकी था जो इस सब को एक साथ लपेट देगा और मुझे चिप को नियंत्रित करने के लिए कीबोर्ड का उपयोग करने की अनुमति देगा।

रास्ते में, मुझे पता चला कि 0x2f मिडी नोट्स के लिए उत्पन्न करने की कोशिश की तुलना में कम आवृत्ति के साथ ध्वनि सही नहीं थी, इसलिए, मैंने 0x28 और 0x2f के बीच किसी भी मिडी नोट के लिए शोर जनरेटर को शोर भेजने की अनुमति देने के लिए इसका उपयोग करने का निर्णय लिया। और मिडी 0x28 से कम किसी भी चीज़ के लिए प्राच्य अरब स्पर्श के साथ प्ले नोट्स की अनुमति दें।

पीछे की ओर देखने पर, यह बहुत मज़ेदार और बनाने में बहुत दिलचस्प था।

मुझे आशा है कि आपको यह उतना ही मजेदार और दिलचस्प लगेगा जितना मैंने किया और यदि आप इसे स्वयं बनाते हैं, तो आप इसकी कुछ तस्वीरें साझा करने के लिए पर्याप्त होंगे।

अगर आपको यह प्रोजेक्ट पसंद आया है, तो कृपया नीचे दिए गए वोट के लिए वोट करें ताकि वह उस प्रतियोगिता को जीतने में मदद कर सके जिसमें वह भाग लेता है।

आपूर्ति

मैंने इस परियोजना के लिए आपके द्वारा खरीदी जा सकने वाली सामग्री के लिंक जोड़े हैं, हालाँकि, आपको कई उपलब्ध आइटम मिल सकते हैं जिन्हें आप पुराने इलेक्ट्रॉनिक्स से परिमार्जन कर सकते हैं।

ये लिंक सहबद्ध लिंक हैं, इसलिए, यदि आप उन्हें क्लिक करने के बाद खरीदते हैं, तो मुझे एक छोटा सा हिस्सा मिलता है (भाग्य नहीं) और आपको एक उत्पाद मिलता है जो इस परियोजना के लिए सही है। इनका उपयोग करने में कोई शुल्क या अतिरिक्त लागत नहीं है, हालांकि, आप ऐसी कोई भी वस्तु पा सकते हैं जो इन्हें बहुत आसानी से बदल सकती है।

ebay.us/svA4z4 | 1 एक्स प्रदर्शन बोर्ड

ebay.us/ZyEFNp | 1 एक्स आर्डिनो नैनो

ebay.us/t1zy0v | 1 एक्स यूएसबी मिनी शील्ड

ebay.to/2QrHl1C | 1 x SN76489 साउंड चिप

ebay.us/aaaj8p | 1 एक्स शिफ्ट रजिस्टर 595

ebay.us/DSvTHO | 4 मेगाहर्ट्ज का 1 एक्स क्रिस्टल ऑसीलेटर

ebay.us/XQeM0Q | 1 एक्स 5 वी वोल्टेज नियामक 7805

ebay.us/6R6Fpf | वोल्टेज नियामक के लिए 1 x हीट सिंक

ebay.us/xkLbn4 | 3 x 10uF कैपेसिटर

ebay.us/pnm2BH | तारों

ebay.us/PMbUfY | शक्ति के लिए 1 एक्स लाल एलईडी

ebay.us/zokHtc | एलईडी करंट प्रवाह को सीमित करने के लिए 1 x 220 ओम अवरोधक

ebay.us/qjbesJ | 12 वी बिजली की आपूर्ति के लिए 1 एक्स पावर कनेक्टर

ebay.us/cS0wwv |1 x ऑन/ऑफ स्विच

एक उपयुक्त बॉक्स (मैंने एक पुराने दराज से मेरा निर्माण किया था जो वर्षों से मेरे भंडारण में आराम कर रहा था)

चरण 1: 5V मिडी डिवाइस को चलाने के लिए USB मिनी होस्ट शील्ड तैयार करना

5V मिडी डिवाइस को चलाने के लिए USB मिनी होस्ट शील्ड तैयार करना
5V मिडी डिवाइस को चलाने के लिए USB मिनी होस्ट शील्ड तैयार करना

चूंकि USB मिनी होस्ट शील्ड 3.3V पर काम करता है और मेरे द्वारा उपयोग किए जाने वाले USB मिडी कीबोर्ड के लिए 5V की आवश्यकता होती है, इसलिए USB आउट Vcc में जाने वाली 3.3V लाइन को काटकर शील्ड के आउटपुट वोल्टेज को समायोजित करना आवश्यक है, इसलिए, हम बाद में इसे कनेक्ट कर सकते हैं 5वी तक।

ऐसा करने के तरीके पर बहुत सारे ट्यूटोरियल हैं और यह काफी सरल साबित हुआ है:

बस 2k2 रोकनेवाला और Vcc लाइन के बीच की रेखा को काटें (संलग्न छवि देखें)। मैंने इस लाइन को खरोंचने के लिए एक स्क्रू ड्राइवर का उपयोग किया और परीक्षण किया कि क्या यह निरंतरता मीटर के साथ काम करता है।

चरण 2: USB मिनी शील्ड को अपने Arduino नैनो से कनेक्ट करें

USB मिनी शील्ड को अपने Arduino Nano से कनेक्ट करें
USB मिनी शील्ड को अपने Arduino Nano से कनेक्ट करें
USB मिनी शील्ड को अपने Arduino Nano से कनेक्ट करें
USB मिनी शील्ड को अपने Arduino Nano से कनेक्ट करें

सौभाग्य से, ऐसा करने के बारे में बहुत सारी जानकारी है, इसलिए, "Arduino नैनो और मिनी USB होस्ट शील्ड" के लिए गुगल करके मैं इस धागे पर उतरा

इसमें बताया गया है कि USB मिनी v2.0 शील्ड को कैसे जोड़ा जाए और इसका अनुसरण करने के बाद मैं कुछ USB मिडी उदाहरणों का परीक्षण करने के लिए सीधे आगे बढ़ा।

तारों:

Arduino होस्ट शील्ड

10--------------5

11--------------6

12--------------7

13--------------8

2----------------2

5वी -------------- 1

3.3V------------9

जीएनडी-----------3

आरएसटी------------4

इस धागे में, यह भी उल्लेख किया गया था कि उन्होंने 3.3V लीड को काट दिया ताकि USB VBUS से 5V प्राप्त कर सके।

यह विवरण और संलग्न चित्र इस सूत्र से प्राप्त हुए हैं।

BTW, इस बोर्ड पर प्रिंट में एक गलती है, इसलिए यह थोड़ा भ्रमित करने वाला था, हालाँकि, आप उस (टायरकेल्को) पर मेरी प्रतिक्रिया देख सकते हैं और मैंने इसे कहाँ से सीखा है।

चरण 3: चिप्स कोई भी? SN76489 को 4MHz Osc के साथ जोड़ना। और 595 शिफ्ट रजिस्टर

चिप्स कोई? SN76489 को 4MHz Osc के साथ जोड़ना। और 595 शिफ्ट रजिस्टर
चिप्स कोई? SN76489 को 4MHz Osc के साथ जोड़ना। और 595 शिफ्ट रजिस्टर

अब उस चिप को जोड़ने का समय था जो इस अद्भुत ध्वनि को बनाती है।

मैंने पहले से ही इस चिप के साथ arduino को इंटरफ़ेस करने के लिए एक पुस्तकालय विकसित किया है और केवल मेरे निर्देशों का पालन करना है।

पुस्तकालय जीपीएलवी 3 (मेरी पहली ओपन सोर्स रिलीज) के तहत जीथब में जारी किया गया है।

github.com/tyrkelko/sn76489

७६४८९ और ५९५ का कनेक्शन संलग्न छवि के रूप में था जो पुस्तकालय readme.txt फ़ाइल से कैप्चर किया गया है

76489 का राइट इनेबल ऑन लो (NotWE) नैनो के पिन 3 से जुड़ा था और इसे कोड में बदला जा सकता है।

#पिन परिभाषित करें_NotWE 3

595 को नैनो से इस प्रकार जोड़ा गया था और इसे पिन नंबरों को संपादित करके भी समायोजित किया जा सकता है:

#परिभाषित पिन_एसईआर 7

#पिन परिभाषित करें_LATCH 6

#पिन परिभाषित करें_सीएलके 5

मैंने जो थरथरानवाला इस्तेमाल किया वह 4 पैरों वाला 4MHz क्रिस्टल ऑसिलेटर था।

इसे कोड में निम्नानुसार कॉन्फ़िगर किया गया था और आप इसके मान को 500kHz और 4MHz के बीच किसी भी थरथरानवाला आवृत्ति में समायोजित कर सकते हैं:

#डिफाइन फ्रीक्वेंसी 4000000.0

मेरे द्वारा उपयोग किए जाने वाले थरथरानवाला को जोड़ना इस प्रकार था:

पिन 1 - जुड़ा नहीं

पिन 7 - जमीन

पिन ८ - ७६४८९ पिन १४ से जुड़ा है - घड़ी osc

चरण 4: बस कोड जोड़ें - पुस्तकालयों को जोड़ना, कोड को संकलित करना और अपलोड करना

इस परियोजना में प्रयुक्त पुस्तकालयों को निम्नानुसार Arduino IDE में जोड़ने की आवश्यकता है:

Arduino IDE खोलें

निम्नलिखित पुस्तकालयों को अपने आईडीई के पुस्तकालय फ़ोल्डर में डाउनलोड करें (आशा है कि इन्हें आईडीई "टूल्स" मेनू में "पुस्तकालयों को प्रबंधित करें …" मेनू के तहत जल्द ही देखें):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

निम्नलिखित जीथब परियोजना से कोड का प्रयोग करें:

github.com/tyrkelko/usb_midi_tone

Usb_midi_tone.ino डाउनलोड करें, संकलित करें और अपने Arduino नैनो पर अपलोड करें।

चरण 5: एक एम्पलीफायर और स्पीकर कनेक्ट करें, अपना यूएसबी मिडी कीबोर्ड कनेक्ट करें और टेस्ट करें

अब यह परीक्षण करने का समय है कि सब कुछ काम करता है।

ऐसा करने के लिए हमें चाहिए:

1. एक एम्पलीफायर और स्पीकर

2. एक यूएसबी मिडी कीबोर्ड

एम्पलीफायर ऑडियो में SN76489 पिन 7, ऑडियो आउट कनेक्ट करें।

एम्पलीफायर को पावर दें और फिर आर्डिनो नैनो को पावर दें। अब आपको एक सेकंड के विभाजन के लिए पावर अप टेस्ट ध्वनि सुननी चाहिए।

USB मिडी कीबोर्ड कनेक्ट करें और परीक्षण करें।

अगर सब कुछ सही काम करता है, तो आपको एक साथ 3 टोन बजाने में सक्षम होना चाहिए, और 8 प्रकार के शोर और यहां तक कि 24 ईडीओ-स्केल के कुछ क्वार्टर टोन भी बजाना चाहिए।

यदि यह काम नहीं करता है, तो यह देखने के लिए चरणों पर जाएं कि क्या गलत हो सकता है।

यदि आपको लगता है कि यह अस्पष्ट निर्देशों का परिणाम है तो कृपया मुझे एक नोट दें ताकि मैं इसे ठीक करने के लिए निर्देशों को अपडेट कर दूं।

चरण 6: सर्किट को 5V वोल्टेज रेगुलेटर, 12V कनेक्टर, पावर ऑन/ऑफ स्विच और पावर एलईडी के साथ पूरा करें

इस चरण में आपको परिपथ के सही कार्य करने के परीक्षण के बाद उसे लपेटने में सक्षम होना चाहिए।

1. LM7805 और दो 10uF कैपेसिटर और 0.1uF के साथ एक पावर रेगुलेटर जोड़ें। इस पर बहुत सारे ट्यूटोरियल हैं, आप इसे पूरा करने के लिए निम्नलिखित निर्देश का उपयोग कर सकते हैं -

2. एक चालू/बंद स्विच के माध्यम से जाने वाले वीसीसी के साथ एक 12 वी पावर कनेक्टर जोड़ें

3. बिजली चालू होने पर इंगित करने के लिए एक सीमित वर्तमान रोकनेवाला के साथ एक एलईडी जोड़ें।

चरण 7: एक बॉक्स में संलग्न करें, पेंट करें और अपने नए संश्लेषण का आनंद लें

एक बार जब सर्किटरी का परीक्षण किया जाता है और आपकी पसंद के अनुसार काम करता है, तो एक अच्छा बाड़े के निर्माण के अलावा बहुत कुछ नहीं बचा है, इसे भयानक रंगों से पेंट करें और कुछ संगीत बजाएं।

मुझे आशा है कि आपको यह निर्देश पढ़ने में मज़ा आया होगा, और इसने आपको अपना स्वयं का संश्लेषण बनाने या किसी अन्य प्रोजेक्ट के साथ काम करने के लिए प्रेरित किया, जिस पर आप काम कर रहे हैं।

कृपया किसी भी प्रश्न के लिए नीचे टिप्पणी करें और यदि आपने इस ट्यूटोरियल के आधार पर कुछ भी ऐसा ही बनाया है तो यह बहुत अच्छा होगा यदि आप "मैंने इसे बनाया है!" क्षेत्र या प्रतिक्रिया अनुभाग में।

सिफारिश की: