विषयसूची:

Arduino टॉकिंग टॉम बन जाता है: 6 कदम
Arduino टॉकिंग टॉम बन जाता है: 6 कदम

वीडियो: Arduino टॉकिंग टॉम बन जाता है: 6 कदम

वीडियो: Arduino टॉकिंग टॉम बन जाता है: 6 कदम
वीडियो: Arduino project how to make a laser electronic alarm, an amazing invention DIY 2024, दिसंबर
Anonim
Arduino टॉकिंग टॉम बन जाता है
Arduino टॉकिंग टॉम बन जाता है
Arduino टॉकिंग टॉम बन जाता है
Arduino टॉकिंग टॉम बन जाता है

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

हालांकि यह सरल लगता है, इस पूरी प्रक्रिया के लिए कई जटिल चरणों की आवश्यकता होती है जैसे कि डिजिटल रूप में माइक एनालॉग इनपुट का नमूना लेना, टॉम को अपनी अनूठी आवाज देने के लिए ऑडियो में हेरफेर करना और फिर उन सभी डिजिटल मूल्यों से सिग्नल को स्पीकर के माध्यम से वापस चलाने के लिए फिर से संगठित करना।. ये सभी जटिल कदम, लेकिन स्मार्टफोन ने 9 से 10 साल पहले भी इसे एक आकर्षण की तरह संभाला!

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

यह निर्देश दिल्ली में हैचनहैक मेकर्सस्पेस के सहयोग से लिखा गया था

नोट: यह निर्देशयोग्य प्रोजेक्ट का पहला संस्करण है जो टॉकिंग टॉम के 'टॉकिंग' फीचर को पूरा करता है, जहां आर्डिनो आप जो कुछ भी कहते हैं उसे दोहराने में सक्षम होंगे। आवाज बदलने वाले हिस्से को भविष्य के संस्करण में शामिल किया जाएगा, हालांकि, निर्मित एडीसी में अरुडिनो के कम रिज़ॉल्यूशन के कारण रिकॉर्ड किया गया ऑडियो पहले से ही थोड़ा अलग लगता है: पी (यह प्रोजेक्ट वीडियो में स्पष्ट रूप से देखा जा सकता है)।

चलिए, शुरू करते हैं!

चरण 1: प्रयुक्त सामग्री

उपयोग किया गया सामन
उपयोग किया गया सामन
उपयोग किया गया सामन
उपयोग किया गया सामन
उपयोग किया गया सामन
उपयोग किया गया सामन

हार्डवेयर:

  • एक Arduino UNO
  • एडजस्टेबल गेन के साथ MAX4466 माइक्रोफोन मॉड्यूल
  • एसपीआई आधारित एसडी कार्ड रीडर मॉड्यूल
  • एसडी कार्ड
  • ऑडियो एम्पलीफायर जैसे पीसी स्पीकर, PAM8403 एम्पलीफायर मॉड्यूल, आदि।
  • एम्पलीफायर से कनेक्ट करने के लिए स्पीकर
  • महिला ऑडियो जैक
  • 1 x 1k ओम रोकनेवाला
  • 2 x 10k ओम रोकनेवाला
  • 1 x 10uF संधारित्र
  • 2 एक्स पुश बटन
  • जम्पर तार

सॉफ्टवेयर:

  • अरुडिनो आईडीई
  • दुस्साहस (वैकल्पिक)
  • Arduino के लिए TMRpcm और SD लाइब्रेरी

चरण 2: परियोजना का एक मूल अवलोकन

परियोजना में मुख्य रूप से 2 विशेषताएं हैं:

  • यह ध्वनि प्रभाव आदि के लिए एसडी कार्ड में पहले से स्थापित ऑडियो फाइलों के एक सेट से बेतरतीब ढंग से चुने गए ऑडियो को चला सकता है।
  • यह माइक्रोफ़ोन से ध्वनि इनपुट रिकॉर्ड कर सकता है और रिकॉर्डिंग बंद होते ही इसे वापस चला सकता है। यह arduino को माइक के माध्यम से जो कुछ भी सुना है उसे दोहराने की अनुमति देता है।

प्रोजेक्ट के यूजर इंटरफेस में मुख्य रूप से 2 पुश बटन होते हैं, जिनमें से प्रत्येक उपरोक्त फीचर में से एक के अनुरूप होता है।

एसडी कार्ड से ऑडियो फाइलों को रिकॉर्ड करने और चलाने की मुख्य कड़ी मेहनत टीएमआरपीसीएम लाइब्रेरी द्वारा नियंत्रित की जाती है।

ऑडियो रिकॉर्डिंग ऑडियो का नमूना लेने के लिए MAX4466 mic मॉड्यूल, arduino के आंतरिक ADC और TMRpcm लाइब्रेरी का उपयोग करती है और फिर इसे प्लेबैक के लिए अस्थायी रूप से SD कार्ड में '.wav' फ़ाइल के रूप में संग्रहीत करती है। '.wav' ऑडियो फ़ाइलें ऑडियो डेटा को डिजिटल प्रारूप में संग्रहीत करने के लिए पीसीएम (पल्स कोड मॉड्यूलेशन) का उपयोग करती हैं ताकि इसे आसानी से फिर से चलाया जा सके। आम तौर पर, ऑडियो आधारित परियोजनाओं के लिए बाहरी एडीसी का उपयोग करना बेहतर होता है क्योंकि अरुडिनो के एडीसी का संकल्प इतना अधिक नहीं है लेकिन यह इस परियोजना के लिए काम करता है।

ऑडियो फाइलों को चलाना (पूर्व-स्थापित और रिकॉर्ड किया गया) भी TMRpcm लाइब्रेरी की मदद से किया जाता है जो ऑडियो को arduino के PWM सक्षम पिन से PWM सिग्नल के रूप में आउटपुट करता है। इस सिग्नल को फिर एनालॉग सिग्नल प्राप्त करने के लिए आरसी फिल्टर में फीड किया जाता है जिसे स्पीकर के माध्यम से ऑडियो चलाने के लिए एम्पलीफायर में फीड किया जाता है। इस भाग के लिए आप बाहरी DAC का भी उपयोग कर सकते हैं क्योंकि arduino में आंतरिक रूप से एक नहीं होता है। DAC का उपयोग करना एक बेहतर विकल्प हो सकता है क्योंकि इससे ऑडियो गुणवत्ता में उल्लेखनीय सुधार होगा।

एसडी कार्ड मॉड्यूल और आर्डिनो के बीच संचार एसपीआई (सीरियल पेरीफेरल इंटरफेस) के माध्यम से किया जाता है। कोड, एसडी कार्ड की सामग्री को आसानी से एक्सेस करने के लिए एसडी और एसपीआई लाइब्रेरी का उपयोग करता है।

चरण 3: एसडी कार्ड तैयार करें और एसडी कार्ड मॉड्यूल कनेक्ट करें

एसडी कार्ड तैयार करें और एसडी कार्ड मॉड्यूल कनेक्ट करें
एसडी कार्ड तैयार करें और एसडी कार्ड मॉड्यूल कनेक्ट करें
एसडी कार्ड तैयार करें और एसडी कार्ड मॉड्यूल कनेक्ट करें
एसडी कार्ड तैयार करें और एसडी कार्ड मॉड्यूल कनेक्ट करें
एसडी कार्ड तैयार करें और एसडी कार्ड मॉड्यूल कनेक्ट करें
एसडी कार्ड तैयार करें और एसडी कार्ड मॉड्यूल कनेक्ट करें
एसडी कार्ड तैयार करें और एसडी कार्ड मॉड्यूल कनेक्ट करें
एसडी कार्ड तैयार करें और एसडी कार्ड मॉड्यूल कनेक्ट करें
  • सबसे पहले आपको FAT16 या FAT32 फाइल सिस्टम के साथ एसडी कार्ड के रूप में प्रारूपित करना होगा (आप एसडी कार्ड को प्रारूपित करने के लिए अपने स्मार्टफोन का उपयोग कर सकते हैं)।
  • अब एसडी कार्ड में कुछ.wav ऑडियो फाइलों को प्री-इंस्टॉल करें। आप ऑडेसिटी के साथ.wav फाइलें जेनरेट कर सकते हैं (नीचे दिए गए निर्देश देखें)। फ़ाइलों का नाम audio_1.wav, audio_2.wav, audio_3.wav इत्यादि के रूप में याद रखें।

एसडी कार्ड मॉड्यूल डेटा को आर्डिनो के साथ संचार करने के लिए एसपीआई का उपयोग करता है। इसलिए, यह केवल उन पिनों से जुड़ता है जिनमें SPI सक्षम है। ये कनेक्शन इस प्रकार हैं:

  • वीसीसी - 5वी
  • जीएनडी - जीएनडी
  • MOSI (मास्टर आउट स्लेव इन) - पिन 11
  • MISO (मास्टर इन स्लेव आउट) - पिन 12
  • सीएलके (घड़ी) - पिन 13
  • एसएस/सीएस (स्लेव सेलेक्ट/चिप सेलेक्ट) - पिन 10

ऑडेसिटी सॉफ़्टवेयर के साथ '.wav' फ़ाइल बनाना:

  • ऑडेसिटी में वह ऑडियो फ़ाइल खोलें जिसे आप.wav में बदलना चाहते हैं।
  • फ़ाइल नाम पर क्लिक करें और फिर 'स्प्लिट स्टीरियो टू मोनो' चुनें। यह विकल्प स्टीरियो ऑडियो को दो मोनो चैनलों में विभाजित करता है। अब आप किसी एक चैनल को बंद कर सकते हैं।
  • नीचे 'प्रोजेक्ट रेट' मान को 16000 हर्ट्ज में बदलें। यह मान arduino के आंतरिक ADC की अधिकतम नमूना आवृत्ति से मेल खाता है।
  • अब फ़ाइल-> WAV के रूप में निर्यात/निर्यात करें।
  • फ़ाइल का उपयुक्त स्थान और नाम चुनें। एन्कोडिंग मेनू से 'अहस्ताक्षरित 8-बिट पीसीएम' चुनें क्योंकि हम ऑडियो को डिजिटल प्रारूप में संग्रहीत करने के लिए पीसीएम प्रारूप का उपयोग कर रहे हैं।

चरण 4: ऑडियो आउटपुट और माइक्रोफ़ोन कनेक्ट करें

ऑडियो आउटपुट और माइक्रोफ़ोन कनेक्ट करें
ऑडियो आउटपुट और माइक्रोफ़ोन कनेक्ट करें
ऑडियो आउटपुट और माइक्रोफ़ोन कनेक्ट करें
ऑडियो आउटपुट और माइक्रोफ़ोन कनेक्ट करें
ऑडियो आउटपुट और माइक्रोफ़ोन कनेक्ट करें
ऑडियो आउटपुट और माइक्रोफ़ोन कनेक्ट करें
ऑडियो आउटपुट और माइक्रोफ़ोन कनेक्ट करें
ऑडियो आउटपुट और माइक्रोफ़ोन कनेक्ट करें

माइक्रोफ़ोन कनेक्ट करना:

  • वीसीसी - 3.3v
  • जीएनडी - जीएनडी
  • आउट - A0 पिन

ध्यान दें:

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

ऑडियो आउटपुट कनेक्ट करना:

  • ब्रेडबोर्ड पर 10 uF कैपेसिटर और 1k ओम रेसिस्टर को सीरीज़ में रखें, जिसमें रेसिस्टर से जुड़े कैपेसिटर का धनात्मक हो। ये एक साथ एक RC फ़िल्टर बनाते हैं जो PWM आउटपुट को एनालॉग सिग्नल में परिवर्तित करता है जिसे एम्पलीफायर में फीड किया जा सकता है।
  • Arduino के पिन 9 को रोकनेवाला के दूसरे छोर से कनेक्ट करें।
  • कैपेसिटर का नेगेटिव टर्मिनल फीमेल ऑडियो जैक के लेफ्ट और राइट चैनल से जुड़ जाता है।
  • ऑडियो जैक का GND GND से जुड़ जाता है।
  • ऑडियो जैक एक औक्स केबल के साथ एम्पलीफायर से जुड़ा है। मेरे मामले में मैंने अपने पीसी के स्पीकर सिस्टम का इस्तेमाल किया।

ध्यान दें:

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

चरण 5: बटन को तार दें

बटन ऊपर तार
बटन ऊपर तार
बटन ऊपर तार
बटन ऊपर तार
बटन ऊपर तार
बटन ऊपर तार

प्रोजेक्ट उपयोगकर्ता इंटरफ़ेस के रूप में बटन पुश करने के लिए उपयोग करता है। दोनों अलग-अलग कार्य करते हैं और अलग-अलग उपयोग किए जाते हैं लेकिन एक ही वायरिंग होती है। उनका कनेक्शन इस प्रकार है:

  • ब्रेडबोर्ड पर बटन रखें।
  • 10k ओम पुल डाउन रेसिस्टर के साथ arduino के 2 को पिन करने के लिए बटन में से एक के एक टर्मिनल को संलग्न करें। बटन का दूसरा टर्मिनल 5v से जुड़ जाता है। इसलिए, जब बटन दबाया जाता है तो पिन 2 उच्च हो जाता है और हम कोड में इसका पता लगा सकते हैं।
  • दूसरा बटन 2 के बजाय arduino के पिन 3 के साथ जुड़ा हुआ है।

पिन 2 से जुड़ा बटन एसडी कार्ड पर पूर्व-स्थापित ऑडियो फाइलों के सेट से एक यादृच्छिक ऑडियो फ़ाइल चलाता है जब इसे एक बार दबाया जाता है।

पिन 3 से जुड़ा बटन रिकॉर्डिंग के लिए है। रिकॉर्डिंग के लिए आपको इस बटन को दबाकर रखना होगा। इस बटन को दबाते ही arduino रिकॉर्डिंग शुरू कर देता है और इस बटन के रिलीज होने पर रिकॉर्डिंग बंद कर देता है। रिकॉर्डिंग को रोकने के बाद, यह तुरंत उस रिकॉर्डिंग को फिर से चला देता है।

चरण 6: कोड अपलोड करें

कोड अपलोड करें
कोड अपलोड करें
कोड अपलोड करें
कोड अपलोड करें
कोड अपलोड करें
कोड अपलोड करें

कोड अपलोड करने से पहले, सुनिश्चित करें कि आपने सभी आवश्यक लाइब्रेरी जैसे TMRpcm, SD आदि स्थापित कर लिए हैं।

Arduino क्या कर रहा है, इसकी प्रतिक्रिया प्राप्त करने के लिए आप कोड अपलोड करने के बाद सीरियल मॉनिटर भी खोल सकते हैं।

वर्तमान में कोड रिकॉर्ड किए गए ऑडियो को अलग ध्वनि बनाने के लिए हेरफेर नहीं कर रहा है, लेकिन मैं इस सुविधा को अगले संस्करण में शामिल करने की योजना बना रहा हूं जहां आप पॉट की मदद से ऑडियो सिग्नल की आउटपुट आवृत्ति सेट करने और विभिन्न प्रकार की ध्वनियां प्राप्त करने में सक्षम हो सकते हैं।.

और आप कर चुके हैं !!

सिफारिश की: