इस परियोजना में हम Arduino का उपयोग करके मनोरंजन का एक टुकड़ा बनाने जा रहे हैं। हम सभी को किसी भी यादृच्छिक संगीत को बनाने के लिए टेबल या पेन को टैप करने की आदत है। बेशक इसे एक अच्छा तरीका नहीं माना जा सकता है, लेकिन हम सभी इसे कम से कम एक बार करने का आनंद लेते हैं। इसलिए मैंने Arduino की टोन खेलने की क्षमता का उपयोग करके इसे अगले स्तर पर ले जाने के बारे में सोचा। एक बार जब आप इस परियोजना का निर्माण कर लेते हैं, तो आप किसी भी प्रवाहकीय पर अपनी उंगलियों को टैप करके टन उत्पन्न कर सकते हैं और अपनी लय बना सकते हैं, जैसे कि आपकी हथेली पर पियानो बजाना। सही लगता है, तो आइए इसे बनाते हैं।
आवश्यक घटक:
इस परियोजना के लिए आवश्यक सामग्री नीचे सूचीबद्ध है, उसी पर चिपके रहना अनिवार्य नहीं है। एक बार जब आप अवधारणा को पकड़ लेते हैं तो आप इसे बनाने के अपने तरीके का उपयोग कर सकते हैं।
- अरदुनी प्रो मिनी
- Peizo स्पीकर
- फ्लेक्स सेंसर
- उंगली के दस्ताने
- 10K प्रतिरोध
- BC547 ट्रांजिस्टर
- 9 वी बैटरी
सर्किट आरेख और स्पष्टीकरण:
इस Arduino पाम पियानो के लिए सर्किट आरेख नीचे दिखाया गया है।
परियोजना में कुल चार सेंसर का उपयोग किया गया है, जो दो फ्लेक्स सेंसर और दो डार्लिंगटन जोड़े स्पर्श सेंसर के रूप में कार्य करते हैं । हमने प्रत्येक 10k मूल्य के दो पुल डाउन आर 1 और आर 2 का भी उपयोग किया है, जो फ्लेक्स सेंसर के लिए पुल डाउन रेसिस्टर के रूप में काम करेगा। यहां फ्लेक्स सेंसर का उपयोग एक उंगली का उपयोग करके तीन अलग-अलग टोन उत्पन्न करने के लिए किया जाता है, यह इस बात पर आधारित है कि यह कितना झुका है। तो हम दो उंगलियों का उपयोग करके 6 ध्वनियों का उत्पादन कर सकते हैं। फ्लेक्स सेंसर के बारे में यहां जानें।
डार्लिंगटन जोड़ी:
इससे पहले कि हम आगे बढ़ें यह जानना महत्वपूर्ण है कि डार्लिंगटन क्या है और यह हमारी परियोजना में वास्तव में कैसे काम करता है। डार्लिंगटन की जोड़ी को दो द्विध्रुवी ट्रांजिस्टर के रूप में इस तरह से परिभाषित किया जा सकता है कि पहले वाले द्वारा प्रवर्तित दूसरे ट्रांजिस्टर द्वारा प्रवर्धित किया जाता है। एक डार्लिंगटन की जोड़ी नीचे दी गई छवि में दिखाई गई है:
जैसा कि ऊपर दिखाया गया है कि हमने दो BC547 ट्रांजिस्टर का उपयोग किया है जिनके संग्राहक इकट्ठा करने के लिए बंधे हैं और पहले ट्रांजिस्टर का एमिटर दूसरे ट्रांजिस्टर के बेस के साथ जुड़ा हुआ है। यह सर्किट एक एम्पलीफायर के रूप में कार्य करता है, जिसका अर्थ है कि पहले ट्रांजिस्टर के आधार को दिया गया कोई भी छोटा संकेत दूसरे ट्रांजिस्टर के आधार को पूर्वाग्रह करने के लिए पर्याप्त है। हमारा शरीर यहां जमीन के रूप में कार्य करता है इसलिए जब भी हम ट्रांजिस्टर के आधार को छूते हैं तो दूसरा ट्रांजिस्टर पक्षपाती हो जाता है। अपने पक्ष में इसका उपयोग करते हुए हमने इस परियोजना के लिए टच सेंसर का निर्माण किया है।
पिन नंबर 2 और 3 Arduino पर इंटरप्ट पिन हैं जो आंतरिक पुल-अप प्रतिरोधों का उपयोग करके उच्च खींचा जाएगा और फिर जब डार्लिंगटन स्विच बंद हो जाएगा तो ये पिन जमीन पर रखे जाएंगे। इस तरह हर बार जब हम तार को छूते हैं (1 सेंट ट्रांजिस्टर के आधार से) तो Arduino से एक बाधा उत्पन्न हो जाएगी।
दो अंगुलियों का उपयोग करने से केवल दो प्रकार के स्वर उत्पन्न हो सकते हैं इसलिए मैंने एक फ्लेक्स सेंसर भी जोड़ा है जो मुड़े हुए होने के आधार पर टोन को बदल देगा । मैंने उंगली (फ्लेक्स सेंसर) कितनी मुड़ी हुई है, इसके आधार पर प्रति उंगली पर तीन अलग-अलग टन का उत्पादन करने के लिए प्रोग्राम किया है। यदि आप अपनी उंगलियों पर अधिक स्वर रखना चाहते हैं तो आप संख्या बढ़ा सकते हैं।
मैंने एक पूर्ण बोर्ड पर एक पूर्ण बोर्ड बनाया, ताकि यह मेरी हथेलियों में आसानी से फिट हो जाए, लेकिन आप ब्रेडबोर्ड का भी उपयोग कर सकते हैं। बस सुनिश्चित करें कि आपका शरीर किसी बिंदु पर सर्किट की जमीन को छूता है। एक बार जब आप सब कुछ मिलाते हैं, तो इसे कुछ इस तरह देखना चाहिए
मैंने ऊपर दिखाए गए अनुसार डार्लिंगटन जोड़ी और फ्लेक्स सेंसर से तारों को सुरक्षित करने के लिए दो उंगली के दस्ताने का उपयोग किया है। जब आप अपना स्वर बजा रहे होते हैं, तो उन्हें सुरक्षित करने के लिए आप स्वयं (बेहतर हो सके तो बेहतर) विचार के साथ आ सकते हैं।
Arduino प्रोग्रामिंग:
इस Arduino टैप टोन जनरेटर के लिए कार्यक्रम बहुत सीधे आगे है। हमें सिर्फ डार्लिंगटन तारों से होने वाली रुकावटों के लिए बाहर देखना होगा और यदि कोई मिल जाए तो हमें टोन खेलना होगा जो इस बात पर निर्भर करता है कि कितना फ्लेक्स सेंसर मुड़ा हुआ है। इस पोस्ट के अंत में पूरा कोड दिया गया है लेकिन मैंने नीचे कुछ महत्वपूर्ण जानकारी दी है।
नोट: यह कार्यक्रम लाइब्रेरी "पिचेज़" की मदद से काम करता है। इसलिए सुनिश्चित करें कि आपने अपने प्रोग्राम में हेडर फ़ाइल को संकलित करने से पहले जोड़ा है। आप यहाँ से पिच.ह हेडर फ़ाइल डाउनलोड कर सकते हैं।
में सेटअप समारोह, हम प्रारंभ पुल-अप प्रतिरोधों के साथ इनपुट के रूप में 2 और 3 पिन करें। हम उन्हें पिन पिन के रूप में भी घोषित करते हैं और टोन 2 () को निष्पादित करते हैं, जब पिन 2 पर एक अवरोध होता है और 3 आरडी पिन पर एक अवरोध होने पर टोन 2 () फ़ंक्शन होता है । जब भी ये पिन अपनी खींची हुई अवस्था से LOW प्राप्त करते हैं, तो ये व्यवधान उत्पन्न हो जाएंगे।
शून्य सेटअप () {pinMode (2, INPUT_PULLUP); pinMode (3, INPUT_PULLUP); संलग्नक (digitalPinToInterrupt (2), टोन 1, LOW); संलग्नक (digitalPinToInterrupt (3), टोन 2, LOW); सीरियल.बेगिन (9600); }
लूप फ़ंक्शन के अंदर, हम लगातार जांचते हैं कि फ्लेक्स सेंसर कितना मुड़ा हुआ है। मेरे FlexSensor 1 ने उदाहरण के लिए 200 के आसपास मान दिया जब फ्लैट छोड़ा और 130 तक नीचे चला गया जब मैंने इसे अधिकतम करने के लिए झुका दिया, इसलिए मैंने 200 से 130 तक के मान को 1 से 3 के रूप में मैप किया है क्योंकि मुझे 3 अलग-अलग प्रकार खेलना है टन के। आपको अपने फ्लेक्स सेंसर मूल्यों और टन की संख्या के आधार पर इन दो लाइनों को ट्विस्ट करना होगा।
शून्य लूप () {flexSensor1 = map (analogRead (A0), 200,130,1,3); // अपने फ्लेक्स सेंसर flexSensor2 = मानचित्र (analogRead (A1), 170,185,1,3) के आधार पर अपने स्वयं के मूल्यों के साथ मैप करें; // अपने फ्लेक्स सेंसर के आधार पर अपने स्वयं के मूल्यों के साथ मानचित्र बनाएं}
जैसा कि हमने पहले देखा कि फ़ंक्शन टोन 1 () को पिन पर एक रुकावट का पता चलने पर निष्पादित किया जाएगा। टोन 1 () फ़ंक्शन के अंदर क्या होता है, ऊपर दिखाया गया है। हम FlexSensor1 के मूल्यों को देखते हैं और flexSesnor वैल्यू के आधार पर एक टोन खेलते हैं। Arduino के टोन फ़ंक्शन का उपयोग करके टोन खेले जाएंगे। हमने अपने पिछले प्रोजेक्ट में टोन () फ़ंक्शन को समझाया है।
void tone1 () {if (flexSensor1 == 1) टोन (8, NOTE_D4,50); और यदि (flexSensor1 == 2) टोन (8, NOTE_A3,50); और अगर (flexSensor1 == 3) टोन (8, NOTE_G4,50); और टोन (8, NOTE_D4,50); }
टोन खेलने के लिए नीचे की रेखा का उपयोग किया जाता है। आप किसी भी टोन को खेल सकते हैं जो "पिचेस" एच हेडर फ़ाइल में उपलब्ध है। उदाहरण के लिए उपरोक्त पंक्ति, 50 मिली सेकंड की अवधि के लिए पिन पर NOTE_A3 निभाता है।
टोन (8, NOTE_A3,50); // टोन (पिनम, नोट नाम, अवधि);
काम कर रहे:
एक बार जब आपका हार्डवेयर तैयार हो जाता है, तो कोड अपलोड करें और उन्हें अपनी उंगलियों पर माउंट करें। सुनिश्चित करें कि आपका शरीर किसी बिंदु पर सर्किट की जमीन को छू रहा है। अब बस किसी भी प्रवाहकीय सामग्री या आपके शरीर को स्पर्श करें और आपको संबंधित स्वर सुनने में सक्षम होना चाहिए। आप अलग-अलग अंतराल और विभिन्न पदों पर टैप करके अपना राग या संगीत बजा सकते हैं।
नीचे दिए गए वीडियो शो वें परियोजना के पूरा काम कर रहे। आशा है कि आपको परियोजना बनाने में मज़ा आया, कोई भी सुझाव या प्रश्न नीचे टिप्पणी अनुभाग में पोस्ट किया जा सकता है। इसके अलावा हमारे Arduino ऑडियो प्लेयर और Arduino टोन जेनरेटर प्रोजेक्ट की जांच करें।