विषयसूची:

डांसिंग फाउंटेन: Arduino MSGEQ7 स्पेक्ट्रम विश्लेषक के साथ: 8 कदम
डांसिंग फाउंटेन: Arduino MSGEQ7 स्पेक्ट्रम विश्लेषक के साथ: 8 कदम

वीडियो: डांसिंग फाउंटेन: Arduino MSGEQ7 स्पेक्ट्रम विश्लेषक के साथ: 8 कदम

वीडियो: डांसिंग फाउंटेन: Arduino MSGEQ7 स्पेक्ट्रम विश्लेषक के साथ: 8 कदम
वीडियो: High Density 2022 2024, नवंबर
Anonim
डांसिंग फाउंटेन: MSGEQ7 स्पेक्ट्रम एनालाइजर के साथ Arduino
डांसिंग फाउंटेन: MSGEQ7 स्पेक्ट्रम एनालाइजर के साथ Arduino

एक श्रव्य संकेत को ग्रहण करना और उसे दृश्य या यांत्रिक प्रतिक्रिया में परिवर्तित करना बहुत दिलचस्प है। इस परियोजना में हम एक स्पेक्ट्रम विश्लेषक MSGEQ7 से जुड़ने के लिए एक Arduino मेगा का उपयोग करेंगे जो इनपुट ऑडियो सिग्नल लेता है और इसे 7 मुख्य आवृत्ति बैंड में विभाजित करने के लिए उस पर बैंड पास फ़िल्टरिंग करता है। Arduino तब प्रत्येक आवृत्ति बैंड के एनालॉग सिग्नल का विश्लेषण करेगा और एक क्रिया तैयार करेगा।

चरण 1: परियोजना के उद्देश्य

यह परियोजना संचालन के 3 तरीकों पर चर्चा करेगी:

  1. आवृत्ति बैंड पर प्रतिक्रिया करने के लिए एल ई डी पीडब्लूएम डिजिटल पिन से जुड़े होते हैं
  2. आवृत्ति बैंड पर प्रतिक्रिया करने के लिए एलईडी डिजिटल पिन से जुड़े होते हैं
  3. पंप मोटर चालकों के माध्यम से Arduino मेगा से जुड़े होते हैं और आवृत्ति बैंड पर प्रतिक्रिया करते हैं

चरण 2: सिद्धांत

सिद्धांत
सिद्धांत
सिद्धांत
सिद्धांत

अगर हम MSGEQ7 स्पेक्ट्रम विश्लेषक IC के बारे में बात करते हैं, तो हम कह सकते हैं कि इसमें आंतरिक 7 बैंड पास फिल्टर हैं जो इनपुट ऑडियो सिग्नल को 7 मुख्य बैंड में विभाजित करते हैं: 63 हर्ट्ज, 160 हर्ट्ज, 400 हर्ट्ज, 1 किलोहर्ट्ज़, 2.5 किलोहर्ट्ज़, 6.25 किलोहर्ट्ज़ और 16 किलोहर्ट्ज़

मल्टीप्लेक्सर का उपयोग करके प्रत्येक फ़िल्टर के आउटपुट को IC के आउटपुट के रूप में चुना जाता है। उस मल्टीप्लेक्सर में आंतरिक बाइनरी काउंटर द्वारा नियंत्रित चयनकर्ता रेखाएं होती हैं। तो हम कह सकते हैं कि एक समय में एक बैंड को पास करने की अनुमति देने के लिए काउंटर को 0 से 6 (बाइनरी में 000 से 110) तक गिनना चाहिए। यह स्पष्ट करता है कि Arduino का कोड गिनती 7 तक पहुंचने के बाद काउंटर को रीसेट करने में सक्षम होना चाहिए।

यदि हम MSGEQ7 के सर्किट आरेख पर एक नज़र डालें तो हम देख सकते हैं कि हम थरथरानवाला की आंतरिक घड़ी को नियंत्रित करने के लिए RC आवृत्ति ट्यूनर का उपयोग करते हैं। तब हम इनपुट ऑडियो सिग्नल पोर्ट पर RC तत्वों को फ़िल्टर करने का उपयोग करते हैं।

चरण 3: प्रक्रियाएं

प्रक्रियाओं
प्रक्रियाओं

स्रोत पृष्ठ (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) के अनुसार हम देख सकते हैं कि स्रोत कोड आउटपुट के साथ PWM सिग्नल के रूप में संबंधित है जो दोहराव है। हम अपने लक्ष्यों के अनुरूप कुछ कोड लाइनों को बदल सकते हैं।

हम देख सकते हैं कि अगर हमारे पास स्टीरियो जैक है, तो हम इनपुट रेसिस्टर और कैपेसिटर को दूसरे चैनल से दोगुना कर सकते हैं। हम MSGEQ7 को Arduino VCC (5 वोल्ट) और GND से पावर देते हैं। हम MSGEQ7 को Arduino बोर्ड से जोड़ेंगे। मैं Arduino मेगा का उपयोग करना पसंद करता हूं क्योंकि इसमें परियोजना के लिए उपयुक्त PWM पिन हैं। MSGEQ7 IC का आउटपुट एनालॉग पिन A0 से जुड़ा है, STROBE Arduino मेगा के पिन 2 से जुड़ा है और RESET पिन 3 से जुड़ा है।

चरण 4: संचालन के तरीके: 1- पीडब्लूएम डिजिटल आउटपुट के रूप में एल ई डी

ऑपरेशन के तरीके: 1- पीडब्लूएम डिजिटल आउटपुट के रूप में एल ई डी
ऑपरेशन के तरीके: 1- पीडब्लूएम डिजिटल आउटपुट के रूप में एल ई डी

स्रोत कोड के अनुसार, हम आउटपुट एल ई डी को 4 से 10. पिन से कनेक्ट कर सकते हैं

const int LED_pins[7] ={4, 5, 6, 7, 8, 9, 10};

तब हम प्रत्येक आवृत्ति बैंड के बल पर एल ई डी नृत्यों को देख सकते हैं।

चरण 5: संचालन के तरीके: 2- डिजिटल आउटपुट के रूप में एलईडी

Image
Image
संचालन के तरीके: 3- डिजिटल आउटपुट के रूप में पंप
संचालन के तरीके: 3- डिजिटल आउटपुट के रूप में पंप

हम आउटपुट एलईडी को किसी भी डिजिटल पिन से जोड़ सकते हैं।

const int LED_pins[7] ={४०, ४२, ४४, ४६, ४८, ५०, ५२};

तब हम प्रत्येक आवृत्ति बैंड की ताकत पर एल ई डी चमकते देख सकते हैं।

चरण 6: संचालन के तरीके: 3- डिजिटल आउटपुट के रूप में पंप

संचालन के तरीके: 3- डिजिटल आउटपुट के रूप में पंप
संचालन के तरीके: 3- डिजिटल आउटपुट के रूप में पंप

इस अंतिम मोड में हम L298N मोटर ड्राइवर मॉड्यूल को Arduino के आउटपुट से कनेक्ट करेंगे। यह हमें MSGEQ7 स्पेक्ट्रम विश्लेषक के आउटपुट के आधार पर पंप के संचालन को नियंत्रित करने में सक्षम बनाता है।

जैसा कि ज्ञात है, मोटर चालक हमें Arduino से उत्पन्न सिग्नल के आधार पर कनेक्टेड मोटर्स या पंपों के संचालन को नियंत्रित करने में सक्षम बनाते हैं, बिना Arduino से किसी भी करंट को डुबोए, इसके बजाय वे कनेक्टेड पावर स्रोत से सीधे मोटर्स को पावर देते हैं।

यदि हम कोड को कच्चे स्रोत के रूप में चलाते हैं, तो पंप ठीक से काम नहीं कर सकते हैं। ऐसा इसलिए है क्योंकि पीडब्लूएम सिग्नल कम है और मोटर चालक के लिए मोटर या पंप चलाने और उपयुक्त करंट देने के लिए उपयुक्त नहीं होगा। इसलिए मैं A0 से एनालॉग रीडिंग को 1.3 से बड़े कारक से गुणा करके PWM मान बढ़ाने की सलाह देता हूं। यह मैपिंग को मोटर चालक के लिए उपयुक्त होने में मदद करता है। मैं 1.4 से 1.6 की अनुशंसा करता हूं। साथ ही हम यह सुनिश्चित करने के लिए PWM को 50 से 255 तक रीमैप कर सकते हैं कि PWM मान उपयुक्त होगा।

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

चरण 7: संपर्क

आपसे प्रतिक्रियाएँ सुनकर बहुत खुशी हुई। कृपया मेरे चैनलों से जुड़ने में संकोच न करें:

यूट्यूब:

इंस्टाग्राम: @simplydigital010

ट्विटर: @simply01Digital

सिफारिश की: