विषयसूची:
- चरण 1: इस परियोजना के लिए हमें जिन चीजों की आवश्यकता है (आवश्यकताएं)
- चरण 2: एडीसी से पीडब्लूएम का सिद्धांत
- चरण 3: योजनाबद्ध
- चरण 4: अंतिम परीक्षण
वीडियो: फ्लाईबैक ट्रांसफॉर्मर या स्पीकर पर एडीसी से पीडब्लूएम का उपयोग करके Arduino के साथ गाने चलाएं: 4 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
हैलो दोस्तों, यह मेरे एक और निर्देश का दूसरा भाग है (जो बहुत कठिन था), मूल रूप से, इस परियोजना में, मैंने ऑडियो सिग्नल को PWM सिग्नल में बदलने के लिए अपने Arduino पर ADC और TIMERS का उपयोग किया है।
यह मेरे पिछले इंस्ट्रक्शनल की तुलना में बहुत आसान है, अगर आप देखना चाहते हैं तो मेरे पहले इंस्ट्रक्शनल का लिंक यहां दिया गया है। संपर्क
ऑडियो सिग्नल, बिटरेट, बिट डेप्थ, सैंपलिंग रेट के थ्योरी को समझने के लिए, आप इंस्ट्रक्शनल पर मेरे आखिरी ट्यूटोरियल में थ्योरी पढ़ सकते हैं। लिंक ऊपर है।
चरण 1: इस परियोजना के लिए हमें जिन चीजों की आवश्यकता है (आवश्यकताएं)
1. Arduino Board (हम किसी भी बोर्ड (328, 2560) यानी मेगा, ऊनो, मिनी, आदि का उपयोग कर सकते हैं लेकिन विशिष्ट विभिन्न पिनों के साथ)
2. Arduino स्टूडियो के साथ पीसी।
3. ब्रेडबोर्ड या परफ़बोर्ड
4. कनेक्टिंग वायर
5. TC4420 (Mosfet ड्राइवर या ऐसी बात)
6. पावर मोसफेट (एन या पी चैनल, कृपया तदनुसार तार करें) (मैंने एन-चैनल का उपयोग किया है)
7. स्पीकर या फ्लाईबैक ट्रांसफॉर्मर (हाँ, आपने इसे सही पढ़ा !!)
8. उपयुक्त बिजली आपूर्ति (0-12 वी) (मैंने अपनी एटीएक्स बिजली आपूर्ति का उपयोग किया है)
9. हीट सिंक (मैंने अपने पुराने पीसी से उबार लिया है)।
10. एक एम्पलीफायर (सामान्य संगीत एम्पलीफायर) या एम्पलीफायर सर्किट।
चरण 2: एडीसी से पीडब्लूएम का सिद्धांत
इसलिए इस प्रोजेक्ट में, मैंने ऑडियो सिग्नल का डेटा सैंपलिंग करने के लिए Arduino के निर्मित ADC में उपयोग किया है।
एडीसी (एनालॉग-टू-डिजिटल कन्वर्टर) जैसा कि नाम परिभाषित करता है, एडीसी एनालॉग सिग्नल को डिजिटल नमूनों में परिवर्तित करता है। और Arduino के लिए अधिकतम 10-बिट गहराई के साथ। लेकिन इस प्रोजेक्ट के लिए, हम 8-बिट सैम्पलिंग का उपयोग करेंगे।
Arduino के ADC का उपयोग करते समय, हमें ADC_reference Voltage को ध्यान में रखना होगा।
Arduino Uno 1.1V, 5V (आंतरिक संदर्भ, जिसे कोड में परिभाषित किया जा सकता है) या एक बाहरी संदर्भ (जिसे हमें बाहरी रूप से AREF पिन पर लागू करना है) प्रदान करता है।
मेरे अनुभव के अनुसार, ADC से अच्छा परिणाम प्राप्त करने के लिए न्यूनतम 2.0V को संदर्भ वोल्टेज के रूप में उपयोग किया जाना चाहिए। जैसा कि 1.1V कम से कम मेरे लिए अच्छा नहीं रहा। (निजी अनुभव)
*महत्वपूर्ण* *महत्वपूर्ण**महत्वपूर्ण**महत्वपूर्ण**महत्वपूर्ण*
हमें 5V के पीक वोल्टेज (अधिकतम वोल्टेज) के साथ एक एम्पलीफायर या एम्पलीफायर सर्किट से एक प्रवर्धित ऑडियो सिग्नल का उपयोग करने की आवश्यकता है।
क्योंकि मैंने अपने प्रोजेक्ट के लिए 5V का आंतरिक वोल्टेज संदर्भ निर्धारित किया था। और मैं एक सामान्य एम्पलीफायर (म्यूजिक एम्पलीफायर) का उपयोग करके एक एम्प्लीफाइड सिग्नल का उपयोग कर रहा हूं, जो ज्यादातर हमारे घर में उपलब्ध है या आप अपने लिए एक बना सकते हैं।
तो अब मुख्य भाग। नमूनाकरण दर, जो कि हमारे एडीसी प्रति सेकंड कितने नमूने लेता है, रूपांतरण दर अधिक है, आउटपुट परिणाम बेहतर होगा, इनपुट की तुलना में आउटपुट तरंग अधिक समान होगी।
इसलिए, हम एडीसी घड़ी को 500 किलोहर्ट्ज़ पर सेट करके, इस परियोजना में 33.33 किलोहर्ट्ज़ की नमूना दर का उपयोग करेंगे। यह समझने के लिए कि ऐसा कैसे है, हमें एटमेगा (328 पी) चिप की डेटाशीट में एडीसी टाइमिंग पेज देखना होगा।
हम देख सकते हैं कि, ऑटो सैंपलिंग के साथ एक सैंपल को पूरा करने के लिए हमें 13.5 ADC क्लॉक साइकिल की जरूरत है। 500Khz की आवृत्ति के साथ, इसका मतलब है कि एक ADC चक्र के लिए 1/500Khz=2uS, जिसका अर्थ है कि 13.5*2uS=27uS एक नमूना को पूरा करने के लिए आवश्यक है जब ऑटो नमूनाकरण का उपयोग किया जाता है। माइक्रोकंट्रोलर (सुरक्षित पक्ष के लिए) को 3uS अधिक देकर, एक नमूने के लिए कुल 30uS बनाना।
तो 30uS पर 1 नमूना का अर्थ है 1/30uS=33.33 KSनमूने/एस।
नमूनाकरण दर निर्धारित करने के लिए, जो Arduino के TIMER0 पर निर्भर है, क्योंकि ADC ऑटो सैंपलिंग ट्रिगर हमारे मामले में उस पर निर्भर है, जैसा कि आप कोड और डेटाशीट में भी देख सकते हैं, हमने OCR0A = 60 का मान बनाया है (ऐसा क्यों है) ???)
क्योंकि डेटशीट में दिए गए फॉर्मूले के मुताबिक।
आवृत्ति (या यहां नमूना दर) = Arduino/Prescaler की घड़ी आवृत्ति * OCR0A का मान (हमारे मामले में)
आवृत्ति या नमूना दर हम चाहते हैं=33.33KHz
घड़ी की आवृत्ति = 16 मेगाहर्ट्ज
प्रीस्केलर वैल्यू = 8 (हमारे मामले में)
OCR0A का मान = हम खोजना चाहते हैं ??
जो हमारे Arduino कोड में भी OCR0A=60 देता है।
TIMER1 का उपयोग ऑडियो सिग्नल के कैरियर वेव के लिए किया जाता है, और मैं इसके बारे में अधिक जानकारी नहीं दूंगा।
तो, यह Arduino के साथ ADC से PWM की अवधारणा का संक्षिप्त सिद्धांत था।
चरण 3: योजनाबद्ध
सभी घटकों को कनेक्ट करें जैसा कि योजनाबद्ध में दिखाया गया है। तो आपके पास यहां दो विकल्प हैं:-
1. एक स्पीकर कनेक्ट करें (5V से जुड़ा)
2. फ्लाईबैक ट्रांसफॉर्मर कनेक्ट करें (12V से कनेक्टेड)
मैंने दोनों की कोशिश की है। और दोनों बहुत अच्छा काम करते हैं।
*महत्वपूर्ण* *महत्वपूर्ण**महत्वपूर्ण**महत्वपूर्ण**महत्वपूर्ण* हमें 5V के पीक वोल्टेज (अधिकतम वोल्टेज) के साथ एम्पलीफायर या एम्पलीफायर सर्किट से एम्पलीफाइड ऑडियो सिग्नल का उपयोग करने की आवश्यकता है।
अस्वीकरण:-
*मैं सावधानी के साथ फ्लाईबैक ट्रांसफार्मर का उपयोग करने की सलाह देता हूं क्योंकि यह खतरनाक हो सकता है क्योंकि यह उच्च वोल्टेज उत्पन्न करता है। और मैं किसी भी क्षति के लिए उत्तरदायी नहीं हूँ।*
चरण 4: अंतिम परीक्षण
तो दिए गए कोड को अपने Arduino पर अपलोड करें, और एम्प्लीफाइड सिग्नल को A0 पिन से कनेक्ट करें।
और सभी ग्राउंड पिन को एक कॉमन ग्राउंड से जोड़ना न भूलें।
और बस संगीत सुनने का आनंद लें।
सिफारिश की:
मोटो का उपयोग करके सर्वो मोटर्स को कैसे चलाएं: माइक्रो के साथ बिट: बिट: 7 कदम (चित्रों के साथ)
मोटो का उपयोग करके सर्वो मोटर्स को कैसे चलाएं: माइक्रो के साथ बिट: माइक्रो: बिट की कार्यक्षमता को बढ़ाने का एक तरीका है मोटो: बिट नामक बोर्ड का उपयोग स्पार्कफुन इलेक्ट्रॉनिक्स (लगभग $ 15-20) द्वारा। यह जटिल दिखता है और इसमें कई विशेषताएं हैं, लेकिन इससे सर्वो मोटर्स को चलाना मुश्किल नहीं है। मोटो: बिट आपको
पुश बटन, रास्पबेरी पाई और स्क्रैच का उपयोग करके चमक नियंत्रण पीडब्लूएम आधारित एलईडी नियंत्रण: 8 कदम (चित्रों के साथ)
पुश बटन, रास्पबेरी पाई और स्क्रैच का उपयोग करके चमक नियंत्रण पीडब्लूएम आधारित एलईडी नियंत्रण: मैं यह समझाने का एक तरीका खोजने की कोशिश कर रहा था कि पीडब्लूएम मेरे छात्रों के लिए कैसे काम करता है, इसलिए मैंने खुद को 2 पुश बटन का उपयोग करके एक एलईडी की चमक को नियंत्रित करने की कोशिश करने का कार्य निर्धारित किया। - एक बटन एलईडी की चमक बढ़ाता है और दूसरा इसे कम करता है। कार्यक्रम के लिए
स्पीकर या फ्लाईबैक ट्रांसफॉर्मर पर PWM का उपयोग करके Arduino के साथ गाने (MP3) चलाएं: 6 कदम (चित्रों के साथ)
स्पीकर या फ्लाईबैक ट्रांसफॉर्मर पर PWM का उपयोग करके Arduino के साथ गाने (MP3) चलाएं: हैलो दोस्तों, यह मेरा पहला निर्देश है, मुझे आशा है कि आप इसे पसंद करेंगे !! मूल रूप से, इस परियोजना में मैंने अपने Arduino और मेरे लैपटॉप के बीच सीरियल संचार का उपयोग किया है, मेरे लैपटॉप से Arduino में संगीत डेटा संचारित करने के लिए। और Arduino TIMERS t का उपयोग करके
एआई और यूट्यूब का उपयोग करके सीडी प्लेयर के बिना सीडी चलाएं: 10 कदम (चित्रों के साथ)
सीडी प्लेयर के बिना सीडी चलाएं, एआई और यूट्यूब का उपयोग करें: अपनी सीडी चलाना चाहते हैं लेकिन सीडी प्लेयर नहीं है? आपकी सीडी को चीरने का समय नहीं था? उन्हें फटकारा लेकिन जरूरत पड़ने पर फाइलें उपलब्ध नहीं हैं?कोई बात नहीं। AI (कृत्रिम बुद्धिमत्ता) को आपकी सीडी की पहचान करने दें, और YouTube इसे चलाए!मैंने एक Android ऐप लिखा है
स्टेपर मोटर का उपयोग करके गाने चलाएं !!: 11 कदम (चित्रों के साथ)
स्टेपर मोटर का उपयोग करके गाने चलाएँ !!: यह परियोजना एक सरल गतिशील इंटरफ़ेस को डिज़ाइन करने के बारे में है, जो एक स्टेपर मोटर के साथ दो अलग-अलग तरीकों से बातचीत करने की अनुमति देगा। पहला इंटरफ़ेस एक के उपयोग के माध्यम से स्टेपर मोटर की दिशा और गति को नियंत्रित करेगा। सरल जीयूआई, जो एच