विषयसूची:

Arduino - Piezo तीन बटन पियानो: 4 कदम
Arduino - Piezo तीन बटन पियानो: 4 कदम

वीडियो: Arduino - Piezo तीन बटन पियानो: 4 कदम

वीडियो: Arduino - Piezo तीन बटन पियानो: 4 कदम
वीडियो: DIY Arduino Piano: How to Make a Piano using Buzzer and Push Buttons 🎹🎶😲 #diy #arduino #music #how 2024, नवंबर
Anonim
Image
Image

तीन बटन वाला पियानो शुरुआती लोगों के लिए एक प्रोजेक्ट है, जिन्हें Arduino का उपयोग करने का कुछ अनुभव है।

पहली बार पीजो बजर के साथ खेलते हुए मैं अनजाने में इसे बनाने की कोशिश में बह गया था। यह बहुत जोर से था! बजर को शांत करने के लिए विभिन्न तरीकों का पता लगाने की कोशिश में और टोन () और नोटोन () फ़ंक्शन का उपयोग करके विभिन्न आवृत्तियों को आज़माने के लिए, मैंने महसूस किया कि मेरे Arduino के मेरे अन्य पसंदीदा घटकों के साथ पीजो बजर को एक साथ मिलाने की कोशिश करना मजेदार हो सकता है। किट: बटन और पोटेंशियोमीटर।

आवश्यक सामग्री में शामिल हैं:

  • 1 अरुडिनो
  • 1 ब्रेडबोर्ड
  • 1 यूएसबी केबल
  • जम्पर तार (विभिन्न रंग)
  • 1 330 किलो-ओम प्रतिरोधी
  • १ पीजो बजर
  • 3 पुश बटन
  • 1 पोटेंशियोमीटर

चरण 1: पीजो बजर

पीजो बजर
पीजो बजर

शुरू करने के लिए, Arduino के ब्रेडबोर्ड पर पीजो सेट करें। इसके एक तरफ (छोटे पैर की तरफ) को जमीन पर दौड़ने की जरूरत है। दूसरी तरफ (लंबे पैर की तरफ) को डिजिटल इनपुट पिन से कनेक्ट करने की जरूरत है। मैंने इसे 8 से जोड़ना चुना।

चरण 2: पुश बटन

दबाकर लगाया जाने वाला बटन
दबाकर लगाया जाने वाला बटन
दबाकर लगाया जाने वाला बटन
दबाकर लगाया जाने वाला बटन

अगला, पुश बटन सेट करने का समय आ गया है। पीजो की तरह, पुश बटन को जमीन से और एक डिजिटल इनपुट पिन से कनेक्ट करने की आवश्यकता होती है।

चरण 3: पोटेंशियोमीटर

तनाव नापने का यंत्र
तनाव नापने का यंत्र
तनाव नापने का यंत्र
तनाव नापने का यंत्र

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

दायां पैर: नकारात्मक बार (जमीन)

मध्य पैर: एनालॉग पिन 0

बायां पैर: सकारात्मक बार

चरण 4: कोड

इस परियोजना के लिए कोड लिखते समय, मैंने कुछ विशिष्ट प्रकार के कार्यों के बारे में जानकारी का संदर्भ दिया:

सुर()

noTone() (मैंने इसका उपयोग करना समाप्त नहीं किया। मैंने इसके बजाय आवृत्ति को "0" पर सेट किया।)

नक्शा()

पहली बार पीजो बजर्स के उपयोगकर्ताओं के लिए एक और अद्भुत संदर्भ यहां पाया जा सकता है। हालांकि पीजो बजर की आवाज को बदलने का विचार सरल लगता है, यह पहली बार में थोड़ा भारी हो सकता है!

टोन () फ़ंक्शन को तीन भागों में विभाजित किया जा सकता है:

  1. पिन (पिन जो पीजो बजर से जुड़ा है)
  2. आवृत्ति (हर्ट्ज में ध्वनि की आवृत्ति)
  3. अवधि (मिलीसेकंड में दी गई ध्वनि की अवधि)

मूल रूप से, यह इस तरह दिखता है: स्वर (पिन, आवृत्ति, अवधि)। तीसरा घटक (अवधि) वैकल्पिक है, जबकि अन्य दो बजर के कार्य करने के लिए आवश्यक हैं। टोन फ़ंक्शन का "फ़्रीक्वेंसी" घटक वह है जिसे "ध्वनि" के रूप में सोचा जा सकता है जिसे बजर द्वारा उत्पादित किया जा रहा है।

आप यह भी देखेंगे कि कोड में कोड के दो अन्य बिट हैं। Arduino को यह बताने के लिए कुछ if/else स्टेटमेंट सेट किए गए हैं कि अगर अलग-अलग बटन दबाए जाते हैं तो क्या करना है और साथ ही इसे "फ़्रीक्वेंसी = 0" के साथ सेट करना है जब कोई भी बटन दबाया नहीं जा रहा हो। if/else कथनों के भीतर, मानचित्र () फ़ंक्शन का उपयोग पोटेंशियोमीटर के पैमाने को आवृत्तियों के एक सेट पर मैप करने के लिए किया जाता है। इन्हें बदला जा सकता है! यह देखने के लिए कि आप पीजो से कौन सी विभिन्न ध्वनियाँ प्राप्त कर सकते हैं, विभिन्न आवृत्ति मानों के साथ खेलें।

वह कोड देखें जिसका उपयोग मैंने यहां तीन-बटन पियानो बनाने के लिए किया था या नीचे देखें।

इंट पीजोपिन = 8; // पीजो से जुड़ा पिन सेट करें।

इंट सेंसरपिन = 0; // सेंसर (पोटेंशियोमीटर) से जुड़ा पिन सेट करें। इंट सेंसरवैल्यू = 0;

इंट बटन1 = 5; // बटन से जुड़े इनपुट पिन सेट करें।

इंट बटन2 = 4; इंट बटन3 = 3;

इंट फ्रीक्वेंसी = 0;

const int देरी समय = ५००; // टोन () फ़ंक्शन में विलंब समय के चर के लिए एक स्थिरांक सेट करें।

व्यर्थ व्यवस्था() {

पिनमोड (बटन 1, INPUT_PULLUP); पिनमोड (बटन 2, INPUT_PULLUP); पिनमोड (बटन 3, INPUT_PULLUP); }

शून्य लूप () {

सेंसरवैल्यू = एनालॉगरेड (सेंसरपिन); // सेंसर पढ़ें। // तीन बटनों में से प्रत्येक के लिए आवृत्तियों के एक सेट के लिए पोटेंशियोमीटर के विभिन्न मूल्यों को मैप करें। अगर (डिजिटल रीड (बटन 1) == कम) {आवृत्ति = नक्शा (सेंसरवैल्यू, 0, 1023, 400, 499); } और अगर (डिजिटल रीड (बटन 2) == कम) {आवृत्ति = नक्शा (सेंसरवैल्यू, 0, 1023, 500, 599); } और अगर (डिजिटल रीड (बटन 3) == कम) {आवृत्ति = नक्शा (सेंसरवैल्यू, 0, 1023, 600, 699); } और {आवृत्ति = 0; } टोन (पीजोपिन, आवृत्ति, विलंब समय); // चर के साथ टोन () फ़ंक्शन सेट करें। }

सिफारिश की: